@volare.finance/nestjs.plugins 1.1.3 → 1.1.6

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 (115) hide show
  1. package/README.md +68 -1
  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/coingecko/coingecko.module.d.ts +1 -1
  6. package/dist/coingecko/coingecko.module.js +1 -2
  7. package/dist/coingecko/coingecko.module.js.map +1 -1
  8. package/dist/coingecko/coingecko.service.js +3 -3
  9. package/dist/coingecko/coingecko.service.js.map +1 -1
  10. package/dist/decorators/api.list.response.decorator.d.ts +6 -0
  11. package/dist/decorators/api.list.response.decorator.js +32 -0
  12. package/dist/decorators/api.list.response.decorator.js.map +1 -0
  13. package/dist/decorators/api.obj.response.decorator.d.ts +6 -0
  14. package/dist/decorators/api.obj.response.decorator.js +29 -0
  15. package/dist/decorators/api.obj.response.decorator.js.map +1 -0
  16. package/dist/decorators/index.d.ts +7 -0
  17. package/dist/decorators/index.js +11 -0
  18. package/dist/decorators/index.js.map +1 -0
  19. package/dist/decorators/response.dto.d.ts +15 -0
  20. package/dist/decorators/response.dto.js +34 -0
  21. package/dist/decorators/response.dto.js.map +1 -0
  22. package/dist/exchanges/binance/binance.config.d.ts +2 -2
  23. package/dist/exchanges/binance/binance.module.d.ts +1 -1
  24. package/dist/exchanges/binance/binance.module.js +1 -2
  25. package/dist/exchanges/binance/binance.module.js.map +1 -1
  26. package/dist/exchanges/binance/binance.service.d.ts +6 -3
  27. package/dist/exchanges/binance/binance.service.js +16 -16
  28. package/dist/exchanges/binance/binance.service.js.map +1 -1
  29. package/dist/exchanges/bingx/bingx.config.d.ts +10 -0
  30. package/dist/exchanges/bingx/bingx.config.js +7 -0
  31. package/dist/exchanges/bingx/bingx.config.js.map +1 -0
  32. package/dist/exchanges/bingx/bingx.module.d.ts +9 -0
  33. package/dist/exchanges/bingx/bingx.module.js +27 -0
  34. package/dist/exchanges/bingx/bingx.module.js.map +1 -0
  35. package/dist/exchanges/bingx/bingx.service.d.ts +73 -0
  36. package/dist/exchanges/bingx/bingx.service.js +68 -0
  37. package/dist/exchanges/bingx/bingx.service.js.map +1 -0
  38. package/dist/exchanges/bingx/index.d.ts +7 -0
  39. package/dist/exchanges/bingx/index.js +11 -0
  40. package/dist/exchanges/bingx/index.js.map +1 -0
  41. package/dist/exchanges/bybit/bybit.config.d.ts +10 -0
  42. package/dist/exchanges/bybit/bybit.config.js +7 -0
  43. package/dist/exchanges/bybit/bybit.config.js.map +1 -0
  44. package/dist/exchanges/bybit/bybit.module.d.ts +9 -0
  45. package/dist/exchanges/bybit/bybit.module.js +27 -0
  46. package/dist/exchanges/bybit/bybit.module.js.map +1 -0
  47. package/dist/exchanges/bybit/bybit.service.d.ts +103 -0
  48. package/dist/exchanges/bybit/bybit.service.js +67 -0
  49. package/dist/exchanges/bybit/bybit.service.js.map +1 -0
  50. package/dist/exchanges/bybit/index.d.ts +7 -0
  51. package/dist/exchanges/bybit/index.js +11 -0
  52. package/dist/exchanges/bybit/index.js.map +1 -0
  53. package/dist/exchanges/gate.io/gate.io.config.d.ts +10 -0
  54. package/dist/exchanges/gate.io/gate.io.config.js +7 -0
  55. package/dist/exchanges/gate.io/gate.io.config.js.map +1 -0
  56. package/dist/exchanges/gate.io/gate.io.module.d.ts +9 -0
  57. package/dist/exchanges/gate.io/gate.io.module.js +27 -0
  58. package/dist/exchanges/gate.io/gate.io.module.js.map +1 -0
  59. package/dist/exchanges/gate.io/gate.io.service.d.ts +57 -0
  60. package/dist/exchanges/gate.io/gate.io.service.js +65 -0
  61. package/dist/exchanges/gate.io/gate.io.service.js.map +1 -0
  62. package/dist/exchanges/gate.io/index.d.ts +7 -0
  63. package/dist/exchanges/gate.io/index.js +11 -0
  64. package/dist/exchanges/gate.io/index.js.map +1 -0
  65. package/dist/exchanges/index.d.ts +5 -0
  66. package/dist/exchanges/index.js +5 -0
  67. package/dist/exchanges/index.js.map +1 -1
  68. package/dist/exchanges/lbank/lbank.config.d.ts +2 -2
  69. package/dist/exchanges/lbank/lbank.module.d.ts +1 -1
  70. package/dist/exchanges/lbank/lbank.module.js +1 -2
  71. package/dist/exchanges/lbank/lbank.module.js.map +1 -1
  72. package/dist/exchanges/lbank/lbank.service.d.ts +44 -26
  73. package/dist/exchanges/lbank/lbank.service.js +25 -45
  74. package/dist/exchanges/lbank/lbank.service.js.map +1 -1
  75. package/dist/exchanges/mexc/mexc.config.d.ts +2 -2
  76. package/dist/exchanges/mexc/mexc.module.d.ts +1 -1
  77. package/dist/exchanges/mexc/mexc.module.js +1 -2
  78. package/dist/exchanges/mexc/mexc.module.js.map +1 -1
  79. package/dist/exchanges/mexc/mexc.service.d.ts +3 -2
  80. package/dist/exchanges/mexc/mexc.service.js +12 -13
  81. package/dist/exchanges/mexc/mexc.service.js.map +1 -1
  82. package/dist/exchanges/okx/index.d.ts +7 -0
  83. package/dist/exchanges/okx/index.js +11 -0
  84. package/dist/exchanges/okx/index.js.map +1 -0
  85. package/dist/exchanges/okx/okx.config.d.ts +10 -0
  86. package/dist/exchanges/okx/okx.config.js +7 -0
  87. package/dist/exchanges/okx/okx.config.js.map +1 -0
  88. package/dist/exchanges/okx/okx.module.d.ts +9 -0
  89. package/dist/exchanges/okx/okx.module.js +27 -0
  90. package/dist/exchanges/okx/okx.module.js.map +1 -0
  91. package/dist/exchanges/okx/okx.service.d.ts +72 -0
  92. package/dist/exchanges/okx/okx.service.js +64 -0
  93. package/dist/exchanges/okx/okx.service.js.map +1 -0
  94. package/dist/exchanges/venkate/index.d.ts +7 -0
  95. package/dist/exchanges/venkate/index.js +11 -0
  96. package/dist/exchanges/venkate/index.js.map +1 -0
  97. package/dist/exchanges/venkate/venkate.config.d.ts +10 -0
  98. package/dist/exchanges/venkate/venkate.config.js +7 -0
  99. package/dist/exchanges/venkate/venkate.config.js.map +1 -0
  100. package/dist/exchanges/venkate/venkate.module.d.ts +9 -0
  101. package/dist/exchanges/venkate/venkate.module.js +27 -0
  102. package/dist/exchanges/venkate/venkate.module.js.map +1 -0
  103. package/dist/exchanges/venkate/venkate.service.d.ts +56 -0
  104. package/dist/exchanges/venkate/venkate.service.js +62 -0
  105. package/dist/exchanges/venkate/venkate.service.js.map +1 -0
  106. package/dist/index.d.ts +1 -0
  107. package/dist/index.js +1 -0
  108. package/dist/index.js.map +1 -1
  109. package/dist/logger/logger.module.d.ts +1 -1
  110. package/dist/logger/logger.module.js +1 -2
  111. package/dist/logger/logger.module.js.map +1 -1
  112. package/dist/viabtc/viabtc.module.d.ts +1 -1
  113. package/dist/viabtc/viabtc.module.js +1 -2
  114. package/dist/viabtc/viabtc.module.js.map +1 -1
  115. package/package.json +3 -3
@@ -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 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
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ /**
3
+ * @file bybit.service.ts
4
+ * @date 2024
5
+ * @see https://bybit-exchange.github.io/docs/v5/intro
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.BybitService = 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 BybitService = class BybitService {
13
+ constructor(constant) {
14
+ this.constant = constant;
15
+ if (constant.bybit?.enabled) {
16
+ this.instance = axios_1.default.create({ baseURL: constant.bybit.url });
17
+ }
18
+ }
19
+ checkConstant() {
20
+ if (!this.constant.bybit?.enabled) {
21
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
22
+ }
23
+ }
24
+ /**
25
+ * Get Tickers
26
+ * @param category Product type. e.g. linear
27
+ * @param symbol Symbol name e.g. BTCUSDT
28
+ * @param baseCoin Base coin. e.g. BTCUSDT (Apply to option only)
29
+ * @param expDate Expiry date. e.g. 25DEC22 (Apply to option only)
30
+ * @see https://bybit-exchange.github.io/docs/v5/market/tickers
31
+ */
32
+ async ticker(category, symbol, baseCoin, expDate) {
33
+ this.checkConstant();
34
+ return (await this.instance.get('/v5/market/tickers', { params: { category, symbol, baseCoin, expDate } })).data;
35
+ }
36
+ /**
37
+ * Get Kline
38
+ * @param category Product type. e.g. linear
39
+ * @param symbol Symbol name. e.g. BTCUSDT
40
+ * @param interval Kline interval. e.g. 1d
41
+ * @param start The start timestamp (ms). e.g. 1696089600000
42
+ * @param end The end timestamp (ms). e.g. 1698918180000
43
+ * @param limit Limit for data size per page. e.g. 200
44
+ * @see https://bybit-exchange.github.io/docs/v5/market/kline
45
+ */
46
+ async klines(symbol, interval, category, start, end, limit) {
47
+ this.checkConstant();
48
+ return (await this.instance.get('/v5/market/kline', { params: { symbol, interval, category, start, end, limit } })).data;
49
+ }
50
+ /**
51
+ * Get Orderbook
52
+ * @param category Product type. e.g. linear
53
+ * @param symbol Symbol name. e.g. BTCUSDT
54
+ * @param limit Limit size for each bid and ask. e.g. 25
55
+ * @see https://bybit-exchange.github.io/docs/v5/market/orderbook
56
+ */
57
+ async depth(category, symbol, limit) {
58
+ this.checkConstant();
59
+ return (await this.instance.get('/v5/market/orderbook', { params: { category, symbol, limit } })).data;
60
+ }
61
+ };
62
+ exports.BybitService = BybitService;
63
+ exports.BybitService = BybitService = tslib_1.__decorate([
64
+ (0, common_1.Injectable)(),
65
+ tslib_1.__param(0, (0, common_1.Inject)('BybitConstant'))
66
+ ], BybitService);
67
+ //# sourceMappingURL=bybit.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bybit.service.js","sourceRoot":"","sources":["../../../src/exchanges/bybit/bybit.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;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,QAAkD,EAClD,MAAc,EACd,QAAiB,EACjB,OAAgB;QAyChB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CACV,MAAc,EACd,QAAgG,EAChG,QAAwC,EACxC,KAAuB,EACvB,GAAqB,EACrB,KAAuB;QAYvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3H,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CACT,QAAkD,EAClD,MAAc,EACd,KAAuB;QAgBvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzG,CAAC;CACF,CAAA;AArIY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAIE,mBAAA,IAAA,eAAM,EAAC,eAAe,CAAC,CAAA;GAHzB,YAAY,CAqIxB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @file index.ts
3
+ * @date 2024
4
+ */
5
+ export * from './bybit.config';
6
+ export * from './bybit.module';
7
+ export * from './bybit.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("./bybit.config"), exports);
9
+ tslib_1.__exportStar(require("./bybit.module"), exports);
10
+ tslib_1.__exportStar(require("./bybit.service"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/exchanges/bybit/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,yDAA+B;AAC/B,yDAA+B;AAC/B,0DAAgC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @file gate.io.config.ts
3
+ * @date 2024
4
+ */
5
+ export interface GateIoConfig {
6
+ 'gate.io'?: {
7
+ enabled: boolean;
8
+ url: string;
9
+ };
10
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * @file gate.io.config.ts
4
+ * @date 2024
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=gate.io.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate.io.config.js","sourceRoot":"","sources":["../../../src/exchanges/gate.io/gate.io.config.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @file gate.io.module.ts
3
+ * @date 2024
4
+ */
5
+ import { DynamicModule } from '@nestjs/common';
6
+ import { ConfigOptions } from '../../config';
7
+ export declare class GateIoModule {
8
+ static forRoot(_options?: ConfigOptions): DynamicModule;
9
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /**
3
+ * @file gate.io.module.ts
4
+ * @date 2024
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.GateIoModule = void 0;
8
+ const config_1 = require("../../config");
9
+ const gate_io_service_1 = require("./gate.io.service");
10
+ class GateIoModule {
11
+ static forRoot(_options) {
12
+ return {
13
+ module: GateIoModule,
14
+ exports: [gate_io_service_1.GateIoService],
15
+ providers: [
16
+ {
17
+ provide: 'GateIoConstant',
18
+ useFactory: (constant) => constant.config(),
19
+ inject: [config_1.ConfigService],
20
+ },
21
+ gate_io_service_1.GateIoService,
22
+ ],
23
+ };
24
+ }
25
+ }
26
+ exports.GateIoModule = GateIoModule;
27
+ //# sourceMappingURL=gate.io.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate.io.module.js","sourceRoot":"","sources":["../../../src/exchanges/gate.io/gate.io.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,yCAA4D;AAE5D,uDAAkD;AAElD,MAAa,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,QAAwB;QACrC,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,CAAC,+BAAa,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,+BAAa;aACd;SACF,CAAC;IACJ,CAAC;CACF;AAfD,oCAeC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @file gate.io.service.ts
3
+ * @date 2024
4
+ * @see https://www.gate.io/docs/developers/apiv4/
5
+ */
6
+ import { GateIoConfig } from './gate.io.config';
7
+ export declare class GateIoService {
8
+ private readonly constant;
9
+ private readonly instance;
10
+ constructor(constant: GateIoConfig);
11
+ checkConstant(): void;
12
+ /**
13
+ * Retrieve ticker information
14
+ * @param currency_pair Currency pair. e.g. BTC_USDT
15
+ * @param timezone Timezone. e.g. utc0
16
+ * @see https://www.gate.io/docs/developers/apiv4/#retrieve-ticker-information
17
+ */
18
+ ticker(currency_pair: string, timezone: 'utc0' | 'utc8' | 'all'): Promise<{
19
+ currency_pair: string;
20
+ last: string;
21
+ lowest_ask: string;
22
+ highest_bid: string;
23
+ change_percentage: string;
24
+ base_volume: string;
25
+ quote_volume: string;
26
+ high_24h: string;
27
+ low_24h: string;
28
+ etf_net_value: string;
29
+ etf_pre_net_value: string;
30
+ etf_pre_timestamp: number;
31
+ etf_leverage: string;
32
+ }[]>;
33
+ /**
34
+ * Market candlesticks
35
+ * @param currency_pair Currency pair. e.g. BTC_USDT
36
+ * @param limit Maximum recent data points to return. e.g. 10
37
+ * @param from Start time of candlesticks, formatted in Unix timestamp in seconds. e.g. 1621545600
38
+ * @param to End time of candlesticks, formatted in Unix timestamp in seconds. e.g. 1621545600
39
+ * @param interval Interval time between data points. e.g. 1m
40
+ * @see https://www.gate.io/docs/developers/apiv4/#market-candlesticks
41
+ */
42
+ klines(currency_pair: string, limit?: string | number, from?: string | number, to?: string | number, interval?: '10s' | '1m' | '5m' | '15m' | '30m' | '1h' | '4h' | '8h' | '1d' | '7d' | '30d'): Promise<[string, string, string, string, string, string, string, string][]>;
43
+ /**
44
+ * Retrieve order book
45
+ * @param currency_pair Currency pair. e.g. BTC_USDT
46
+ * @param interval Order depth. 0 means no aggregation is applied. e.g. 0
47
+ * @param limit Maximum number of order depth data in asks or bids. e.g. 10
48
+ * @param with_id Return order book ID. e.g. false
49
+ * @see https://www.gate.io/docs/developers/apiv4/#retrieve-order-book
50
+ */
51
+ depth(currency_pair: string, interval?: string, limit?: string | number, with_id?: boolean): Promise<{
52
+ current: number;
53
+ update: number;
54
+ asks: [string, string][];
55
+ bids: [string, string][];
56
+ }>;
57
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ /**
3
+ * @file gate.io.service.ts
4
+ * @date 2024
5
+ * @see https://www.gate.io/docs/developers/apiv4/
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.GateIoService = 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 GateIoService = class GateIoService {
13
+ constructor(constant) {
14
+ this.constant = constant;
15
+ if (constant['gate.io']?.enabled) {
16
+ this.instance = axios_1.default.create({ baseURL: constant['gate.io'].url });
17
+ }
18
+ }
19
+ checkConstant() {
20
+ if (!this.constant['gate.io']?.enabled) {
21
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
22
+ }
23
+ }
24
+ /**
25
+ * Retrieve ticker information
26
+ * @param currency_pair Currency pair. e.g. BTC_USDT
27
+ * @param timezone Timezone. e.g. utc0
28
+ * @see https://www.gate.io/docs/developers/apiv4/#retrieve-ticker-information
29
+ */
30
+ async ticker(currency_pair, timezone) {
31
+ this.checkConstant();
32
+ return (await this.instance.get('/spot/tickers', { params: { currency_pair, timezone } })).data;
33
+ }
34
+ /**
35
+ * Market candlesticks
36
+ * @param currency_pair Currency pair. e.g. BTC_USDT
37
+ * @param limit Maximum recent data points to return. e.g. 10
38
+ * @param from Start time of candlesticks, formatted in Unix timestamp in seconds. e.g. 1621545600
39
+ * @param to End time of candlesticks, formatted in Unix timestamp in seconds. e.g. 1621545600
40
+ * @param interval Interval time between data points. e.g. 1m
41
+ * @see https://www.gate.io/docs/developers/apiv4/#market-candlesticks
42
+ */
43
+ async klines(currency_pair, limit, from, to, interval) {
44
+ this.checkConstant();
45
+ return (await this.instance.get('/spot/candlesticks', { params: { currency_pair, limit, from, to, interval } })).data;
46
+ }
47
+ /**
48
+ * Retrieve order book
49
+ * @param currency_pair Currency pair. e.g. BTC_USDT
50
+ * @param interval Order depth. 0 means no aggregation is applied. e.g. 0
51
+ * @param limit Maximum number of order depth data in asks or bids. e.g. 10
52
+ * @param with_id Return order book ID. e.g. false
53
+ * @see https://www.gate.io/docs/developers/apiv4/#retrieve-order-book
54
+ */
55
+ async depth(currency_pair, interval, limit, with_id) {
56
+ this.checkConstant();
57
+ return (await this.instance.get('/spot/order_book', { params: { currency_pair, interval, limit, with_id } })).data;
58
+ }
59
+ };
60
+ exports.GateIoService = GateIoService;
61
+ exports.GateIoService = GateIoService = tslib_1.__decorate([
62
+ (0, common_1.Injectable)(),
63
+ tslib_1.__param(0, (0, common_1.Inject)('GateIoConstant'))
64
+ ], GateIoService);
65
+ //# sourceMappingURL=gate.io.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate.io.service.js","sourceRoot":"","sources":["../../../src/exchanges/gate.io/gate.io.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,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,aAAqB,EACrB,QAAiC;QAkBjC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClG,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CACV,aAAqB,EACrB,KAAuB,EACvB,IAAsB,EACtB,EAAoB,EACpB,QAAyF;QAEzF,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CACT,aAAqB,EACrB,QAAiB,EACjB,KAAuB,EACvB,OAAiB;QAOjB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrH,CAAC;CACF,CAAA;AAvFY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;IAIE,mBAAA,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAA;GAH1B,aAAa,CAuFzB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @file index.ts
3
+ * @date 2024
4
+ */
5
+ export * from './gate.io.config';
6
+ export * from './gate.io.module';
7
+ export * from './gate.io.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("./gate.io.config"), exports);
9
+ tslib_1.__exportStar(require("./gate.io.module"), exports);
10
+ tslib_1.__exportStar(require("./gate.io.service"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/exchanges/gate.io/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2DAAiC;AACjC,2DAAiC;AACjC,4DAAkC"}
@@ -3,5 +3,10 @@
3
3
  * @date 2024
4
4
  */
5
5
  export * from './binance';
6
+ export * from './bingx';
7
+ export * from './bybit';
8
+ export * from './gate.io';
6
9
  export * from './lbank';
7
10
  export * from './mexc';
11
+ export * from './okx';
12
+ export * from './venkate';
@@ -6,6 +6,11 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  const tslib_1 = require("tslib");
8
8
  tslib_1.__exportStar(require("./binance"), exports);
9
+ tslib_1.__exportStar(require("./bingx"), exports);
10
+ tslib_1.__exportStar(require("./bybit"), exports);
11
+ tslib_1.__exportStar(require("./gate.io"), exports);
9
12
  tslib_1.__exportStar(require("./lbank"), exports);
10
13
  tslib_1.__exportStar(require("./mexc"), exports);
14
+ tslib_1.__exportStar(require("./okx"), exports);
15
+ tslib_1.__exportStar(require("./venkate"), exports);
11
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exchanges/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exchanges/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,oDAA0B;AAC1B,kDAAwB;AACxB,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,gDAAsB;AACtB,oDAA0B"}
@@ -3,8 +3,8 @@
3
3
  * @date 2023
4
4
  */
5
5
  export interface LBankConfig {
6
- lbank: {
6
+ lbank?: {
7
7
  enabled: boolean;
8
- url?: string;
8
+ url: string;
9
9
  };
10
10
  }
@@ -5,5 +5,5 @@
5
5
  import { DynamicModule } from '@nestjs/common';
6
6
  import { ConfigOptions } from '../../config';
7
7
  export declare class LBankModule {
8
- static forRoot(options?: ConfigOptions): DynamicModule;
8
+ static forRoot(_options?: ConfigOptions): DynamicModule;
9
9
  }