@volare.finance/nestjs.plugins 1.0.1 → 1.0.3

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 (48) hide show
  1. package/README.md +1 -3
  2. package/dist/aws/aws.config.d.ts +2 -1
  3. package/dist/aws/aws.config.js +0 -4
  4. package/dist/aws/aws.config.js.map +1 -1
  5. package/dist/aws/aws.module.js +1 -3
  6. package/dist/aws/aws.module.js.map +1 -1
  7. package/dist/binance/binance.module.js +1 -3
  8. package/dist/binance/binance.module.js.map +1 -1
  9. package/dist/binance/binance.service.d.ts +32 -2
  10. package/dist/binance/binance.service.js +61 -2
  11. package/dist/binance/binance.service.js.map +1 -1
  12. package/dist/coingecko/coingecko.config.d.ts +10 -0
  13. package/dist/coingecko/coingecko.config.js +7 -0
  14. package/dist/coingecko/coingecko.config.js.map +1 -0
  15. package/dist/coingecko/coingecko.module.d.ts +9 -0
  16. package/dist/coingecko/coingecko.module.js +28 -0
  17. package/dist/coingecko/coingecko.module.js.map +1 -0
  18. package/dist/coingecko/coingecko.service.d.ts +44 -0
  19. package/dist/coingecko/coingecko.service.js +46 -0
  20. package/dist/coingecko/coingecko.service.js.map +1 -0
  21. package/dist/coingecko/index.d.ts +7 -0
  22. package/dist/coingecko/index.js +11 -0
  23. package/dist/coingecko/index.js.map +1 -0
  24. package/dist/index.d.ts +2 -0
  25. package/dist/index.js +2 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/lbank/index.d.ts +7 -0
  28. package/dist/lbank/index.js +11 -0
  29. package/dist/lbank/index.js.map +1 -0
  30. package/dist/lbank/lbank.config.d.ts +10 -0
  31. package/dist/lbank/lbank.config.js +7 -0
  32. package/dist/lbank/lbank.config.js.map +1 -0
  33. package/dist/lbank/lbank.module.d.ts +9 -0
  34. package/dist/lbank/lbank.module.js +28 -0
  35. package/dist/lbank/lbank.module.js.map +1 -0
  36. package/dist/lbank/lbank.service.d.ts +47 -0
  37. package/dist/lbank/lbank.service.js +93 -0
  38. package/dist/lbank/lbank.service.js.map +1 -0
  39. package/dist/logger/logger.module.js +1 -3
  40. package/dist/logger/logger.module.js.map +1 -1
  41. package/dist/mexc/mexc.module.js +1 -3
  42. package/dist/mexc/mexc.module.js.map +1 -1
  43. package/dist/mexc/mexc.service.d.ts +39 -1
  44. package/dist/mexc/mexc.service.js +81 -4
  45. package/dist/mexc/mexc.service.js.map +1 -1
  46. package/dist/viabtc/viabtc.module.js +1 -3
  47. package/dist/viabtc/viabtc.module.js.map +1 -1
  48. package/package.json +1 -1
package/README.md CHANGED
@@ -13,9 +13,7 @@ export class MyLoggerModule {
13
13
  providers: [
14
14
  {
15
15
  provide: 'MyLoggerConstant',
16
- useFactory: (myLoggerConfig: ConfigService<MyLoggerConfig>): MyLoggerConfig => {
17
- return myLoggerConfig.config();
18
- },
16
+ useFactory: (constant: ConfigService<MyLoggerConfig>): MyLoggerConfig => constant.config(),
19
17
  inject: [ConfigService],
20
18
  },
21
19
  ],
@@ -2,6 +2,7 @@
2
2
  * @file aws.config.ts
3
3
  * @date 2023
4
4
  */
5
+ import { ObjectCannedACL } from '@aws-sdk/client-s3';
5
6
  export interface AwsConfig {
6
7
  aws: {
7
8
  enabled?: boolean;
@@ -9,7 +10,7 @@ export interface AwsConfig {
9
10
  accessKeyId: string;
10
11
  secretAccessKey: string;
11
12
  bucket: string;
12
- acl: string;
13
+ acl: ObjectCannedACL;
13
14
  baseUrl: string;
14
15
  };
15
16
  }
@@ -1,7 +1,3 @@
1
1
  "use strict";
2
- /**
3
- * @file aws.config.ts
4
- * @date 2023
5
- */
6
2
  Object.defineProperty(exports, "__esModule", { value: true });
7
3
  //# sourceMappingURL=aws.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aws.config.js","sourceRoot":"","sources":["../../src/aws/aws.config.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
1
+ {"version":3,"file":"aws.config.js","sourceRoot":"","sources":["../../src/aws/aws.config.ts"],"names":[],"mappings":""}
@@ -16,9 +16,7 @@ class AwsModule {
16
16
  providers: [
17
17
  {
18
18
  provide: 'AwsConstant',
19
- useFactory: (awsConfig) => {
20
- return awsConfig.config();
21
- },
19
+ useFactory: (constant) => constant.config(),
22
20
  inject: [config_1.ConfigService],
23
21
  },
24
22
  aws_service_1.AwsService,
@@ -1 +1 @@
1
- {"version":3,"file":"aws.module.js","sourceRoot":"","sources":["../../src/aws/aws.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,sCAAuE;AAEvE,+CAA2C;AAE3C,MAAa,SAAS;IACpB,MAAM,CAAC,OAAO,CAAC,OAAuB;QACpC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,CAAC,qBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC,wBAAU,CAAC;YACrB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,CAAC,SAAmC,EAAO,EAAE;wBACvD,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC5B,CAAC;oBACD,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,wBAAU;aACX;SACF,CAAC;IACJ,CAAC;CACF;AAlBD,8BAkBC"}
1
+ {"version":3,"file":"aws.module.js","sourceRoot":"","sources":["../../src/aws/aws.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,sCAAuE;AAEvE,+CAA2C;AAE3C,MAAa,SAAS;IACpB,MAAM,CAAC,OAAO,CAAC,OAAuB;QACpC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,CAAC,qBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC,wBAAU,CAAC;YACrB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,CAAC,QAAkC,EAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC1E,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,wBAAU;aACX;SACF,CAAC;IACJ,CAAC;CACF;AAhBD,8BAgBC"}
@@ -16,9 +16,7 @@ class BinanceModule {
16
16
  providers: [
17
17
  {
18
18
  provide: 'BinanceConstant',
19
- useFactory: (binanceConfig) => {
20
- return binanceConfig.config();
21
- },
19
+ useFactory: (constant) => constant.config(),
22
20
  inject: [config_1.ConfigService],
23
21
  },
24
22
  binance_service_1.BinanceService,
@@ -1 +1 @@
1
- {"version":3,"file":"binance.module.js","sourceRoot":"","sources":["../../src/binance/binance.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,sCAAuE;AAEvE,uDAAmD;AAEnD,MAAa,aAAa;IACxB,MAAM,CAAC,OAAO,CAAC,OAAuB;QACpC,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,CAAC,qBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC,gCAAc,CAAC;YACzB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,UAAU,EAAE,CAAC,aAA2C,EAAO,EAAE;wBAC/D,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC;oBAChC,CAAC;oBACD,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,gCAAc;aACf;SACF,CAAC;IACJ,CAAC;CACF;AAlBD,sCAkBC"}
1
+ {"version":3,"file":"binance.module.js","sourceRoot":"","sources":["../../src/binance/binance.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,sCAAuE;AAEvE,uDAAmD;AAEnD,MAAa,aAAa;IACxB,MAAM,CAAC,OAAO,CAAC,OAAuB;QACpC,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,CAAC,qBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC,gCAAc,CAAC;YACzB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,UAAU,EAAE,CAAC,QAAsC,EAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC9E,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,gCAAc;aACf;SACF,CAAC;IACJ,CAAC;CACF;AAhBD,sCAgBC"}
@@ -8,9 +8,39 @@ export declare class BinanceService {
8
8
  private readonly constant;
9
9
  constructor(constant: BinanceConfig);
10
10
  /**
11
- * 24hr Ticker Price Change Statistics
11
+ * Market Data - Current Average Price
12
+ * @param symbol e.g. BTCUSDT
13
+ * @see https://binance-docs.github.io/apidocs/spot/en/#current-average-price
14
+ */
15
+ currentAveragePrice(symbol: string): Promise<{
16
+ mins: number;
17
+ price: string;
18
+ }>;
19
+ /**
20
+ * Market Data - 24hr Ticker Price Change Statistics
12
21
  * @param symbol e.g. BTCUSDT
13
22
  * @see https://binance-docs.github.io/apidocs/spot/en/#24hr-ticker-price-change-statistics
14
23
  */
15
- ticker24HR(symbol: string): Promise<any>;
24
+ tickerPrice24H(symbol: string): Promise<any>;
25
+ /**
26
+ * Market Data - Kline/Candlestick Data
27
+ * @param symbol e.g. BTCUSDT
28
+ * @param interval e.g. 1d
29
+ * @param startTime e.g. 1696089600000
30
+ * @param endTime e.g. 1698918180000
31
+ * @param limit e.g. 500
32
+ * @see https://binance-docs.github.io/apidocs/spot/en/#kline-candlestick-data
33
+ */
34
+ marketKlines(symbol: string, interval: '1m' | '3m' | '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '6h' | '8h' | '12h' | '1d' | '3d' | '1w' | '1M', startTime?: string | number, endTime?: string | number, limit?: number): Promise<[number, string, string, string, string, string, number, string, number, string, string, string][]>;
35
+ /**
36
+ * Market Data - Order Book
37
+ * @param symbol e.g. BTCUSDT
38
+ * @param limit e.g. 500
39
+ * @see https://binance-docs.github.io/apidocs/spot/en/#order-book
40
+ */
41
+ orderBook(symbol: string, limit?: number): Promise<{
42
+ lastUpdateId: number;
43
+ bids: [string, string][];
44
+ asks: [string, string][];
45
+ }>;
16
46
  }
@@ -15,11 +15,29 @@ let BinanceService = class BinanceService {
15
15
  // do nothing
16
16
  }
17
17
  /**
18
- * 24hr Ticker Price Change Statistics
18
+ * Market Data - Current Average Price
19
+ * @param symbol e.g. BTCUSDT
20
+ * @see https://binance-docs.github.io/apidocs/spot/en/#current-average-price
21
+ */
22
+ currentAveragePrice(symbol) {
23
+ var _a;
24
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
+ if (!((_a = this.constant.binance) === null || _a === void 0 ? void 0 : _a.enabled)) {
26
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
27
+ }
28
+ return (yield (0, axios_1.default)({
29
+ method: 'GET',
30
+ url: this.constant.binance.url + '/api/v3/avgPrice',
31
+ params: { symbol },
32
+ })).data;
33
+ });
34
+ }
35
+ /**
36
+ * Market Data - 24hr Ticker Price Change Statistics
19
37
  * @param symbol e.g. BTCUSDT
20
38
  * @see https://binance-docs.github.io/apidocs/spot/en/#24hr-ticker-price-change-statistics
21
39
  */
22
- ticker24HR(symbol) {
40
+ tickerPrice24H(symbol) {
23
41
  var _a;
24
42
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
43
  if (!((_a = this.constant.binance) === null || _a === void 0 ? void 0 : _a.enabled)) {
@@ -34,6 +52,47 @@ let BinanceService = class BinanceService {
34
52
  })).data;
35
53
  });
36
54
  }
55
+ /**
56
+ * Market Data - Kline/Candlestick Data
57
+ * @param symbol e.g. BTCUSDT
58
+ * @param interval e.g. 1d
59
+ * @param startTime e.g. 1696089600000
60
+ * @param endTime e.g. 1698918180000
61
+ * @param limit e.g. 500
62
+ * @see https://binance-docs.github.io/apidocs/spot/en/#kline-candlestick-data
63
+ */
64
+ marketKlines(symbol, interval, startTime, endTime, limit) {
65
+ var _a;
66
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
67
+ if (!((_a = this.constant.binance) === null || _a === void 0 ? void 0 : _a.enabled)) {
68
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
69
+ }
70
+ return (yield (0, axios_1.default)({
71
+ method: 'GET',
72
+ url: this.constant.binance.url + '/api/v3/klines',
73
+ params: { symbol, interval, startTime, endTime, limit },
74
+ })).data;
75
+ });
76
+ }
77
+ /**
78
+ * Market Data - Order Book
79
+ * @param symbol e.g. BTCUSDT
80
+ * @param limit e.g. 500
81
+ * @see https://binance-docs.github.io/apidocs/spot/en/#order-book
82
+ */
83
+ orderBook(symbol, limit) {
84
+ var _a;
85
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
86
+ if (!((_a = this.constant.binance) === null || _a === void 0 ? void 0 : _a.enabled)) {
87
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
88
+ }
89
+ return (yield (0, axios_1.default)({
90
+ method: 'GET',
91
+ url: this.constant.binance.url + '/api/v3/depth',
92
+ params: { symbol, limit },
93
+ })).data;
94
+ });
95
+ }
37
96
  };
38
97
  BinanceService = tslib_1.__decorate([
39
98
  (0, common_1.Injectable)(),
@@ -1 +1 @@
1
- {"version":3,"file":"binance.service.js","sourceRoot":"","sources":["../../src/binance/binance.service.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,2CAA+E;AAC/E,0DAA0B;AAInB,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAAwD,QAAuB;QAAvB,aAAQ,GAAR,QAAQ,CAAe;QAC7E,aAAa;IACf,CAAC;IAED;;;;OAIG;IACG,UAAU,CAAC,MAAc;;;YAC7B,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,OAAO,CAAA,EAAE;gBACnC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;aAClF;YACD,OAAO,CACL,MAAM,IAAA,eAAK,EAAC;gBACV,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,qBAAqB;gBACtD,MAAM,EAAE;oBACN,MAAM;iBACP;aACF,CAAC,CACH,CAAC,IAAI,CAAC;;KACR;CACF,CAAA;AAxBY,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAEE,mBAAA,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAA;GAD3B,cAAc,CAwB1B;AAxBY,wCAAc"}
1
+ {"version":3,"file":"binance.service.js","sourceRoot":"","sources":["../../src/binance/binance.service.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,2CAA+E;AAC/E,0DAA0B;AAInB,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAAwD,QAAuB;QAAvB,aAAQ,GAAR,QAAQ,CAAe;QAC7E,aAAa;IACf,CAAC;IAED;;;;OAIG;IACG,mBAAmB,CAAC,MAAc;;;YACtC,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,OAAO,CAAA,EAAE;gBACnC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;aAClF;YACD,OAAO,CACL,MAAM,IAAA,eAAK,EAAC;gBACV,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,kBAAkB;gBACnD,MAAM,EAAE,EAAE,MAAM,EAAE;aACnB,CAAC,CACH,CAAC,IAAI,CAAC;;KACR;IAED;;;;OAIG;IACG,cAAc,CAAC,MAAc;;;YACjC,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,OAAO,CAAA,EAAE;gBACnC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;aAClF;YACD,OAAO,CACL,MAAM,IAAA,eAAK,EAAC;gBACV,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,qBAAqB;gBACtD,MAAM,EAAE;oBACN,MAAM;iBACP;aACF,CAAC,CACH,CAAC,IAAI,CAAC;;KACR;IAED;;;;;;;;OAQG;IACG,YAAY,CAChB,MAAc,EACd,QAAmH,EACnH,SAA2B,EAC3B,OAAyB,EACzB,KAAc;;;YAEd,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,OAAO,CAAA,EAAE;gBACnC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;aAClF;YACD,OAAO,CACL,MAAM,IAAA,eAAK,EAAC;gBACV,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,gBAAgB;gBACjD,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;aACxD,CAAC,CACH,CAAC,IAAI,CAAC;;KACR;IAED;;;;;OAKG;IACG,SAAS,CAAC,MAAc,EAAE,KAAc;;;YAC5C,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,OAAO,CAAA,EAAE;gBACnC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;aAClF;YACD,OAAO,CACL,MAAM,IAAA,eAAK,EAAC;gBACV,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,eAAe;gBAChD,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;aAC1B,CAAC,CACH,CAAC,IAAI,CAAC;;KACR;CACF,CAAA;AAzFY,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAEE,mBAAA,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAA;GAD3B,cAAc,CAyF1B;AAzFY,wCAAc"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @file coingecko.config.ts
3
+ * @date 2023
4
+ */
5
+ export interface CoinGeckoConfig {
6
+ coingecko: {
7
+ enabled: boolean;
8
+ url?: string;
9
+ };
10
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * @file coingecko.config.ts
4
+ * @date 2023
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=coingecko.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coingecko.config.js","sourceRoot":"","sources":["../../src/coingecko/coingecko.config.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @file coingecko.module.ts
3
+ * @date 2023
4
+ */
5
+ import { DynamicModule } from '@nestjs/common';
6
+ import { ConfigOptions } from '../config';
7
+ export declare class CoinGeckoModule {
8
+ static forRoot(options?: ConfigOptions): DynamicModule;
9
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /**
3
+ * @file coingecko.module.ts
4
+ * @date 2023
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.CoinGeckoModule = void 0;
8
+ const config_1 = require("../config");
9
+ const coingecko_service_1 = require("./coingecko.service");
10
+ class CoinGeckoModule {
11
+ static forRoot(options) {
12
+ return {
13
+ module: CoinGeckoModule,
14
+ imports: [config_1.ConfigModule.forRoot(options)],
15
+ exports: [coingecko_service_1.CoinGeckoService],
16
+ providers: [
17
+ {
18
+ provide: 'CoinGeckoConstant',
19
+ useFactory: (constant) => constant.config(),
20
+ inject: [config_1.ConfigService],
21
+ },
22
+ coingecko_service_1.CoinGeckoService,
23
+ ],
24
+ };
25
+ }
26
+ }
27
+ exports.CoinGeckoModule = CoinGeckoModule;
28
+ //# sourceMappingURL=coingecko.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coingecko.module.js","sourceRoot":"","sources":["../../src/coingecko/coingecko.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH,sCAAuE;AACvE,2DAAuD;AAEvD,MAAa,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,OAAuB;QACpC,OAAO;YACL,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,CAAC,qBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC,oCAAgB,CAAC;YAC3B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,mBAAmB;oBAC5B,UAAU,EAAE,CAAC,QAAwC,EAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAChF,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,oCAAgB;aACjB;SACF,CAAC;IACJ,CAAC;CACF;AAhBD,0CAgBC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @file coingecko.service.ts
3
+ * @date 2023
4
+ * @see https://www.coingecko.com/api/documentation
5
+ */
6
+ import { CoinGeckoConfig } from './coingecko.config';
7
+ export declare class CoinGeckoService {
8
+ private readonly constant;
9
+ constructor(constant: CoinGeckoConfig);
10
+ /**
11
+ * supported coins price, market cap, volume, and market related data
12
+ * @param ids e.g. bitcoin
13
+ * @param vs_currency e.g. usd, eur,jpy, etc.
14
+ * @see https://www.coingecko.com/api/documentation
15
+ */
16
+ coinMarket(ids: string, vs_currency?: string): Promise<{
17
+ id: string;
18
+ symbol: string;
19
+ name: string;
20
+ image: string;
21
+ current_price: number;
22
+ market_cap: number;
23
+ market_cap_rank: number;
24
+ fully_diluted_valuation: number;
25
+ total_volume: number;
26
+ high_24h: number;
27
+ low_24h: number;
28
+ price_change_24h: number;
29
+ price_change_percentage_24h: number;
30
+ market_cap_change_24h: number;
31
+ market_cap_change_percentage_24h: number;
32
+ circulating_supply: number;
33
+ total_supply: number;
34
+ max_supply: number;
35
+ ath: number;
36
+ ath_change_percentage: number;
37
+ ath_date: string;
38
+ atl: number;
39
+ atl_change_percentage: number;
40
+ atl_date: string;
41
+ roi: number;
42
+ last_updated: string;
43
+ }>;
44
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /**
3
+ * @file coingecko.service.ts
4
+ * @date 2023
5
+ * @see https://www.coingecko.com/api/documentation
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.CoinGeckoService = 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 CoinGeckoService = class CoinGeckoService {
13
+ constructor(constant) {
14
+ this.constant = constant;
15
+ // do nothing
16
+ }
17
+ /**
18
+ * supported coins price, market cap, volume, and market related data
19
+ * @param ids e.g. bitcoin
20
+ * @param vs_currency e.g. usd, eur,jpy, etc.
21
+ * @see https://www.coingecko.com/api/documentation
22
+ */
23
+ coinMarket(ids, vs_currency = 'usd') {
24
+ var _a;
25
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
26
+ if (!((_a = this.constant.coingecko) === null || _a === void 0 ? void 0 : _a.enabled)) {
27
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
28
+ }
29
+ const response = yield (0, axios_1.default)({
30
+ method: 'GET',
31
+ url: this.constant.coingecko.url + '/api/v3/coins/markets',
32
+ params: { ids, vs_currency },
33
+ });
34
+ if (response.data.length) {
35
+ return response.data[0];
36
+ }
37
+ throw new common_1.HttpException(response.statusText, response.status);
38
+ });
39
+ }
40
+ };
41
+ CoinGeckoService = tslib_1.__decorate([
42
+ (0, common_1.Injectable)(),
43
+ tslib_1.__param(0, (0, common_1.Inject)('CoinGeckoConstant'))
44
+ ], CoinGeckoService);
45
+ exports.CoinGeckoService = CoinGeckoService;
46
+ //# sourceMappingURL=coingecko.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coingecko.service.js","sourceRoot":"","sources":["../../src/coingecko/coingecko.service.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,2CAA+E;AAC/E,0DAA0B;AAInB,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YAA0D,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;QACjF,aAAa;IACf,CAAC;IAED;;;;;OAKG;IACG,UAAU,CACd,GAAW,EACX,WAAW,GAAG,KAAK;;;YA6BnB,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,0CAAE,OAAO,CAAA,EAAE;gBACrC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;aAClF;YACD,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC;gBAC3B,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,GAAG,uBAAuB;gBAC1D,MAAM,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;aAC7B,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;gBACxB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACzB;YACD,MAAM,IAAI,sBAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;;KAC/D;CACF,CAAA;AAvDY,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;IAEE,mBAAA,IAAA,eAAM,EAAC,mBAAmB,CAAC,CAAA;GAD7B,gBAAgB,CAuD5B;AAvDY,4CAAgB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @file index.ts
3
+ * @date 2023
4
+ */
5
+ export * from './coingecko.config';
6
+ export * from './coingecko.module';
7
+ export * from './coingecko.service';
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * @file index.ts
4
+ * @date 2023
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const tslib_1 = require("tslib");
8
+ tslib_1.__exportStar(require("./coingecko.config"), exports);
9
+ tslib_1.__exportStar(require("./coingecko.module"), exports);
10
+ tslib_1.__exportStar(require("./coingecko.service"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/coingecko/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6DAAmC;AACnC,6DAAmC;AACnC,8DAAoC"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,9 @@
4
4
  */
5
5
  export * from './aws';
6
6
  export * from './binance';
7
+ export * from './coingecko';
7
8
  export * from './config';
9
+ export * from './lbank';
8
10
  export * from './logger';
9
11
  export * from './mexc';
10
12
  export * from './mongo';
package/dist/index.js CHANGED
@@ -7,7 +7,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  const tslib_1 = require("tslib");
8
8
  tslib_1.__exportStar(require("./aws"), exports);
9
9
  tslib_1.__exportStar(require("./binance"), exports);
10
+ tslib_1.__exportStar(require("./coingecko"), exports);
10
11
  tslib_1.__exportStar(require("./config"), exports);
12
+ tslib_1.__exportStar(require("./lbank"), exports);
11
13
  tslib_1.__exportStar(require("./logger"), exports);
12
14
  tslib_1.__exportStar(require("./mexc"), exports);
13
15
  tslib_1.__exportStar(require("./mongo"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,gDAAsB;AACtB,oDAA0B;AAC1B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,kDAAwB;AACxB,mDAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,gDAAsB;AACtB,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,mDAAyB;AACzB,iDAAuB;AACvB,kDAAwB;AACxB,mDAAyB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @file index.ts
3
+ * @date 2023
4
+ */
5
+ export * from './lbank.config';
6
+ export * from './lbank.module';
7
+ export * from './lbank.service';
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * @file index.ts
4
+ * @date 2023
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const tslib_1 = require("tslib");
8
+ tslib_1.__exportStar(require("./lbank.config"), exports);
9
+ tslib_1.__exportStar(require("./lbank.module"), exports);
10
+ tslib_1.__exportStar(require("./lbank.service"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lbank/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,yDAA+B;AAC/B,yDAA+B;AAC/B,0DAAgC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @file lbank.config.ts
3
+ * @date 2023
4
+ */
5
+ export interface LBankConfig {
6
+ lbank: {
7
+ enabled: boolean;
8
+ url?: string;
9
+ };
10
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * @file lbank.config.ts
4
+ * @date 2023
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=lbank.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lbank.config.js","sourceRoot":"","sources":["../../src/lbank/lbank.config.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @file lbank.module.ts
3
+ * @date 2023
4
+ */
5
+ import { DynamicModule } from '@nestjs/common';
6
+ import { ConfigOptions } from '../config';
7
+ export declare class LBankModule {
8
+ static forRoot(options?: ConfigOptions): DynamicModule;
9
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /**
3
+ * @file lbank.module.ts
4
+ * @date 2023
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.LBankModule = void 0;
8
+ const config_1 = require("../config");
9
+ const lbank_service_1 = require("./lbank.service");
10
+ class LBankModule {
11
+ static forRoot(options) {
12
+ return {
13
+ module: LBankModule,
14
+ imports: [config_1.ConfigModule.forRoot(options)],
15
+ exports: [lbank_service_1.LBankService],
16
+ providers: [
17
+ {
18
+ provide: 'LBankConstant',
19
+ useFactory: (constant) => constant.config(),
20
+ inject: [config_1.ConfigService],
21
+ },
22
+ lbank_service_1.LBankService,
23
+ ],
24
+ };
25
+ }
26
+ }
27
+ exports.LBankModule = LBankModule;
28
+ //# sourceMappingURL=lbank.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lbank.module.js","sourceRoot":"","sources":["../../src/lbank/lbank.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,sCAAuE;AAEvE,mDAA+C;AAE/C,MAAa,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,OAAuB;QACpC,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,CAAC,qBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,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;AAhBD,kCAgBC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @file lbank.service.ts
3
+ * @date 2023
4
+ * @see https://www.lbank.com/en-US/docs/index.html
5
+ */
6
+ import { LBankConfig } from './lbank.config';
7
+ export declare class LBankService {
8
+ private readonly constant;
9
+ constructor(constant: LBankConfig);
10
+ /**
11
+ * Common - Query current Market Data (new)
12
+ * @param symbol e.g. btc_usdt
13
+ * @see https://www.lbank.com/en-US/docs/index.html#query-current-market-data-new
14
+ */
15
+ tickerPrice24H(symbol: string): Promise<{
16
+ symbol: string;
17
+ ticker: {
18
+ high: string;
19
+ vol: string;
20
+ low: string;
21
+ change: string;
22
+ turnover: string;
23
+ latest: string;
24
+ };
25
+ timestamp: number;
26
+ }>;
27
+ /**
28
+ * Common - Query K Bar Data
29
+ * @param symbol e.g. btc_usdt
30
+ * @param type e.g. hour1
31
+ * @param time e.g. 1696089600
32
+ * @param size e.g. 500
33
+ * @see https://www.lbank.com/en-US/docs/index.html#query-k-bar-data
34
+ */
35
+ marketKlines(symbol: string, type: 'minute1' | 'minute5' | 'minut15' | 'minute30' | 'hour1' | 'hour4' | 'hour8' | 'hour12' | 'day1' | 'week1', time: string | number, size: number): Promise<[number, number, number, number, number, number][]>;
36
+ /**
37
+ * Common - Query Market Depth
38
+ * @param symbol e.g. btc_usdt
39
+ * @param size e.g. 500
40
+ * @see https://www.lbank.com/en-US/docs/index.html#query-market-depth
41
+ */
42
+ orderBook(symbol: string, size: number): Promise<{
43
+ asks: [string, string][];
44
+ bids: [string, string][];
45
+ timestamp: number;
46
+ }>;
47
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /**
3
+ * @file lbank.service.ts
4
+ * @date 2023
5
+ * @see https://www.lbank.com/en-US/docs/index.html
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.LBankService = 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 LBankService = class LBankService {
13
+ constructor(constant) {
14
+ this.constant = constant;
15
+ // do nothing
16
+ }
17
+ /**
18
+ * Common - Query current Market Data (new)
19
+ * @param symbol e.g. btc_usdt
20
+ * @see https://www.lbank.com/en-US/docs/index.html#query-current-market-data-new
21
+ */
22
+ tickerPrice24H(symbol) {
23
+ var _a, _b, _c, _d;
24
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
+ if (!((_a = this.constant.lbank) === null || _a === void 0 ? void 0 : _a.enabled)) {
26
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
27
+ }
28
+ const response = yield (0, axios_1.default)({
29
+ method: 'GET',
30
+ url: this.constant.lbank.url + '/v2/ticker/24hr.do',
31
+ params: { symbol },
32
+ });
33
+ if (((_b = response.data) === null || _b === void 0 ? void 0 : _b.result) === 'true' && ((_d = (_c = response.data) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.length) > 0) {
34
+ return response.data.data[0];
35
+ }
36
+ throw new common_1.HttpException(response.statusText, response.status);
37
+ });
38
+ }
39
+ /**
40
+ * Common - Query K Bar Data
41
+ * @param symbol e.g. btc_usdt
42
+ * @param type e.g. hour1
43
+ * @param time e.g. 1696089600
44
+ * @param size e.g. 500
45
+ * @see https://www.lbank.com/en-US/docs/index.html#query-k-bar-data
46
+ */
47
+ marketKlines(symbol, type, time, size) {
48
+ var _a, _b;
49
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
50
+ if (!((_a = this.constant.lbank) === null || _a === void 0 ? void 0 : _a.enabled)) {
51
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
52
+ }
53
+ const response = yield (0, axios_1.default)({
54
+ method: 'GET',
55
+ url: this.constant.lbank.url + '/v2/kline.do',
56
+ params: { symbol, type, time, size },
57
+ });
58
+ if (((_b = response.data) === null || _b === void 0 ? void 0 : _b.result) === 'true') {
59
+ return response.data.data;
60
+ }
61
+ throw new common_1.HttpException(response.statusText, response.status);
62
+ });
63
+ }
64
+ /**
65
+ * Common - Query Market Depth
66
+ * @param symbol e.g. btc_usdt
67
+ * @param size e.g. 500
68
+ * @see https://www.lbank.com/en-US/docs/index.html#query-market-depth
69
+ */
70
+ orderBook(symbol, size) {
71
+ var _a, _b;
72
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
73
+ if (!((_a = this.constant.lbank) === null || _a === void 0 ? void 0 : _a.enabled)) {
74
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
75
+ }
76
+ const response = yield (0, axios_1.default)({
77
+ method: 'GET',
78
+ url: this.constant.lbank.url + '/v2/depth.do',
79
+ params: { symbol, size },
80
+ });
81
+ if (((_b = response.data) === null || _b === void 0 ? void 0 : _b.result) === 'true') {
82
+ return response.data.data;
83
+ }
84
+ throw new common_1.HttpException(response.statusText, response.status);
85
+ });
86
+ }
87
+ };
88
+ LBankService = tslib_1.__decorate([
89
+ (0, common_1.Injectable)(),
90
+ tslib_1.__param(0, (0, common_1.Inject)('LBankConstant'))
91
+ ], LBankService);
92
+ exports.LBankService = LBankService;
93
+ //# sourceMappingURL=lbank.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lbank.service.js","sourceRoot":"","sources":["../../src/lbank/lbank.service.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,7 @@ class MyLoggerModule {
15
15
  providers: [
16
16
  {
17
17
  provide: 'MyLoggerConstant',
18
- useFactory: (myLoggerConfig) => {
19
- return myLoggerConfig.config();
20
- },
18
+ useFactory: (constant) => constant.config(),
21
19
  inject: [config_1.ConfigService],
22
20
  },
23
21
  logger_service_1.MyLoggerService,
@@ -1 +1 @@
1
- {"version":3,"file":"logger.module.js","sourceRoot":"","sources":["../../src/logger/logger.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,sCAAuE;AAEvE,qDAAmD;AAEnD,MAAa,cAAc;IACzB,MAAM,CAAC,OAAO,CAAC,OAAuB;QACpC,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,CAAC,qBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,kBAAkB;oBAC3B,UAAU,EAAE,CAAC,cAA6C,EAAkB,EAAE;wBAC5E,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC;oBACjC,CAAC;oBACD,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,gCAAe;aAChB;YACD,OAAO,EAAE,CAAC,gCAAe,CAAC;SAC3B,CAAC;IACJ,CAAC;CACF;AAlBD,wCAkBC"}
1
+ {"version":3,"file":"logger.module.js","sourceRoot":"","sources":["../../src/logger/logger.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,sCAAuE;AAEvE,qDAAmD;AAEnD,MAAa,cAAc;IACzB,MAAM,CAAC,OAAO,CAAC,OAAuB;QACpC,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,CAAC,qBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,kBAAkB;oBAC3B,UAAU,EAAE,CAAC,QAAuC,EAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC1F,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,gCAAe;aAChB;YACD,OAAO,EAAE,CAAC,gCAAe,CAAC;SAC3B,CAAC;IACJ,CAAC;CACF;AAhBD,wCAgBC"}
@@ -16,9 +16,7 @@ class MexcModule {
16
16
  providers: [
17
17
  {
18
18
  provide: 'MexcConstant',
19
- useFactory: (mexcConfig) => {
20
- return mexcConfig.config();
21
- },
19
+ useFactory: (constant) => constant.config(),
22
20
  inject: [config_1.ConfigService],
23
21
  },
24
22
  mexc_service_1.MexcService,
@@ -1 +1 @@
1
- {"version":3,"file":"mexc.module.js","sourceRoot":"","sources":["../../src/mexc/mexc.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,sCAAuE;AAEvE,iDAA6C;AAE7C,MAAa,UAAU;IACrB,MAAM,CAAC,OAAO,CAAC,OAAuB;QACpC,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,CAAC,qBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC,0BAAW,CAAC;YACtB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,cAAc;oBACvB,UAAU,EAAE,CAAC,UAAqC,EAAO,EAAE;wBACzD,OAAO,UAAU,CAAC,MAAM,EAAE,CAAC;oBAC7B,CAAC;oBACD,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,0BAAW;aACZ;SACF,CAAC;IACJ,CAAC;CACF;AAlBD,gCAkBC"}
1
+ {"version":3,"file":"mexc.module.js","sourceRoot":"","sources":["../../src/mexc/mexc.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,sCAAuE;AAEvE,iDAA6C;AAE7C,MAAa,UAAU;IACrB,MAAM,CAAC,OAAO,CAAC,OAAuB;QACpC,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,CAAC,qBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC,0BAAW,CAAC;YACtB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,cAAc;oBACvB,UAAU,EAAE,CAAC,QAAmC,EAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC3E,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,0BAAW;aACZ;SACF,CAAC;IACJ,CAAC;CACF;AAhBD,gCAgBC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @file mexc.service.ts
3
3
  * @date 2023
4
- * @see https://mxcdevelop.github.io/APIDoc/
4
+ * @see https://mexcdevelop.github.io/apidocs/
5
5
  */
6
6
  import { MexcConfig } from './mexc.config';
7
7
  export declare class MexcService {
@@ -10,6 +10,44 @@ export declare class MexcService {
10
10
  /**
11
11
  * Market Data - Ticker Information
12
12
  * @param symbol e.g. BTC_USDC
13
+ * @see https://mexcdevelop.github.io/apidocs/spot_v2_en/#ticker-information
13
14
  */
14
15
  marketTicker(symbol: string): Promise<any>;
16
+ /**
17
+ * Market Data - Current Average Price
18
+ * @param symbol e.g. BTCUSDT
19
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#current-average-price
20
+ */
21
+ currentAveragePrice(symbol: string): Promise<{
22
+ mins: number;
23
+ price: string;
24
+ }>;
25
+ /**
26
+ * Market Data - 24hr Ticker Price Change Statistics
27
+ * @param symbol e.g. BTCUSDT
28
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#24hr-ticker-price-change-statistics
29
+ */
30
+ tickerPrice24H(symbol: string): Promise<any>;
31
+ /**
32
+ * Market Data - Kline/Candlestick Data
33
+ * @param symbol e.g. BTCUSDT
34
+ * @param interval e.g. 1d
35
+ * @param startTime e.g. 1696089600000
36
+ * @param endTime e.g. 1698918180000
37
+ * @param limit e.g. 500
38
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#kline-candlestick-data
39
+ */
40
+ marketKlines(symbol: string, interval: '1m' | '5m' | '15m' | '30m' | '60m' | '4h' | '1d' | '1M', startTime?: string | number, endTime?: string | number, limit?: number): Promise<[number, string, string, string, string, string, number, string][]>;
41
+ /**
42
+ * Market Data - Order Book
43
+ * @param symbol e.g. BTCUSDT
44
+ * @param limit e.g. 500
45
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#order-book
46
+ */
47
+ orderBook(symbol: string, limit?: number): Promise<{
48
+ lastUpdateId: number;
49
+ bids: [string, string][];
50
+ asks: [string, string][];
51
+ timestamp: number;
52
+ }>;
15
53
  }
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @file mexc.service.ts
4
4
  * @date 2023
5
- * @see https://mxcdevelop.github.io/APIDoc/
5
+ * @see https://mexcdevelop.github.io/apidocs/
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.MexcService = void 0;
@@ -17,6 +17,7 @@ let MexcService = class MexcService {
17
17
  /**
18
18
  * Market Data - Ticker Information
19
19
  * @param symbol e.g. BTC_USDC
20
+ * @see https://mexcdevelop.github.io/apidocs/spot_v2_en/#ticker-information
20
21
  */
21
22
  marketTicker(symbol) {
22
23
  var _a;
@@ -27,9 +28,85 @@ let MexcService = class MexcService {
27
28
  return (yield (0, axios_1.default)({
28
29
  method: 'GET',
29
30
  url: this.constant.mexc.url + '/open/api/v2/market/ticker',
30
- params: {
31
- symbol,
32
- },
31
+ params: { symbol },
32
+ })).data;
33
+ });
34
+ }
35
+ // ----- v3 -----
36
+ /**
37
+ * Market Data - Current Average Price
38
+ * @param symbol e.g. BTCUSDT
39
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#current-average-price
40
+ */
41
+ currentAveragePrice(symbol) {
42
+ var _a;
43
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
44
+ if (!((_a = this.constant.mexc) === null || _a === void 0 ? void 0 : _a.enabled)) {
45
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
46
+ }
47
+ return (yield (0, axios_1.default)({
48
+ method: 'GET',
49
+ url: this.constant.mexc.url + '/api/v3/avgPrice',
50
+ params: { symbol },
51
+ })).data;
52
+ });
53
+ }
54
+ /**
55
+ * Market Data - 24hr Ticker Price Change Statistics
56
+ * @param symbol e.g. BTCUSDT
57
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#24hr-ticker-price-change-statistics
58
+ */
59
+ tickerPrice24H(symbol) {
60
+ var _a;
61
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
62
+ if (!((_a = this.constant.mexc) === null || _a === void 0 ? void 0 : _a.enabled)) {
63
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
64
+ }
65
+ return (yield (0, axios_1.default)({
66
+ method: 'GET',
67
+ url: this.constant.mexc.url + '/api/v3/ticker/24hr',
68
+ params: { symbol },
69
+ })).data;
70
+ });
71
+ }
72
+ /**
73
+ * Market Data - Kline/Candlestick Data
74
+ * @param symbol e.g. BTCUSDT
75
+ * @param interval e.g. 1d
76
+ * @param startTime e.g. 1696089600000
77
+ * @param endTime e.g. 1698918180000
78
+ * @param limit e.g. 500
79
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#kline-candlestick-data
80
+ */
81
+ marketKlines(symbol, interval, startTime, endTime, limit) {
82
+ var _a;
83
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
84
+ if (!((_a = this.constant.mexc) === null || _a === void 0 ? void 0 : _a.enabled)) {
85
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
86
+ }
87
+ return (yield (0, axios_1.default)({
88
+ method: 'GET',
89
+ url: this.constant.mexc.url + '/api/v3/klines',
90
+ params: { symbol, interval, startTime, endTime, limit },
91
+ })).data;
92
+ });
93
+ }
94
+ /**
95
+ * Market Data - Order Book
96
+ * @param symbol e.g. BTCUSDT
97
+ * @param limit e.g. 500
98
+ * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#order-book
99
+ */
100
+ orderBook(symbol, limit) {
101
+ var _a;
102
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
103
+ if (!((_a = this.constant.mexc) === null || _a === void 0 ? void 0 : _a.enabled)) {
104
+ throw new common_1.HttpException('This feature is not supported', common_1.HttpStatus.BAD_REQUEST);
105
+ }
106
+ return (yield (0, axios_1.default)({
107
+ method: 'GET',
108
+ url: this.constant.mexc.url + '/api/v3/depth',
109
+ params: { symbol, limit },
33
110
  })).data;
34
111
  });
35
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mexc.service.js","sourceRoot":"","sources":["../../src/mexc/mexc.service.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,2CAA+E;AAC/E,0DAA0B;AAInB,IAAM,WAAW,GAAjB,MAAM,WAAW;IACtB,YAAqD,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;QACvE,aAAa;IACf,CAAC;IAED;;;OAGG;IACG,YAAY,CAAC,MAAc;;;YAC/B,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,0CAAE,OAAO,CAAA,EAAE;gBAChC,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;aAClF;YACD,OAAO,CACL,MAAM,IAAA,eAAK,EAAC;gBACV,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,4BAA4B;gBAC1D,MAAM,EAAE;oBACN,MAAM;iBACP;aACF,CAAC,CACH,CAAC,IAAI,CAAC;;KACR;CACF,CAAA;AAvBY,WAAW;IADvB,IAAA,mBAAU,GAAE;IAEE,mBAAA,IAAA,eAAM,EAAC,cAAc,CAAC,CAAA;GADxB,WAAW,CAuBvB;AAvBY,kCAAW"}
1
+ {"version":3,"file":"mexc.service.js","sourceRoot":"","sources":["../../src/mexc/mexc.service.ts"],"names":[],"mappings":"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"}
@@ -16,9 +16,7 @@ class ViabtcModule {
16
16
  providers: [
17
17
  {
18
18
  provide: 'ViabtcConstant',
19
- useFactory: (viabtcConfig) => {
20
- return viabtcConfig.config();
21
- },
19
+ useFactory: (constant) => constant.config(),
22
20
  inject: [config_1.ConfigService],
23
21
  },
24
22
  viabtc_service_1.ViabtcService,
@@ -1 +1 @@
1
- {"version":3,"file":"viabtc.module.js","sourceRoot":"","sources":["../../src/viabtc/viabtc.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,sCAAuE;AAEvE,qDAAiD;AAEjD,MAAa,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,OAAuB;QACpC,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,CAAC,qBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC,8BAAa,CAAC;YACxB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,gBAAgB;oBACzB,UAAU,EAAE,CAAC,YAAyC,EAAO,EAAE;wBAC7D,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;oBAC/B,CAAC;oBACD,MAAM,EAAE,CAAC,sBAAa,CAAC;iBACxB;gBACD,8BAAa;aACd;SACF,CAAC;IACJ,CAAC;CACF;AAlBD,oCAkBC"}
1
+ {"version":3,"file":"viabtc.module.js","sourceRoot":"","sources":["../../src/viabtc/viabtc.module.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,sCAAuE;AAEvE,qDAAiD;AAEjD,MAAa,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,OAAuB;QACpC,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,CAAC,qBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,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;AAhBD,oCAgBC"}
package/package.json CHANGED
@@ -45,5 +45,5 @@
45
45
  "pub": "npm publish --access public"
46
46
  },
47
47
  "types": "./dist/index.d.ts",
48
- "version": "1.0.1"
48
+ "version": "1.0.3"
49
49
  }