@covalenthq/client-sdk 0.4.2 → 0.5.2

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 (73) hide show
  1. package/README.md +62 -40
  2. package/dist/cjs/index.js +956 -239
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/services/BalanceService.d.ts +100 -0
  5. package/dist/cjs/services/BaseService.d.ts +17 -0
  6. package/dist/cjs/services/CovalentClient.d.ts +3 -3
  7. package/dist/cjs/services/NftService.d.ts +137 -1
  8. package/dist/cjs/services/SecurityService.d.ts +62 -0
  9. package/dist/cjs/services/TransactionService.d.ts +65 -0
  10. package/dist/cjs/services/XykService.d.ts +4 -0
  11. package/dist/cjs/util/types/BalanceServiceTypes.d.ts +38 -0
  12. package/dist/cjs/util/types/BaseServiceTypes.d.ts +16 -0
  13. package/dist/cjs/util/types/NftServiceTypes.d.ts +76 -0
  14. package/dist/cjs/util/types/SecurityServiceTypes.d.ts +50 -0
  15. package/dist/cjs/util/types/TransactionServiceTypes.d.ts +27 -0
  16. package/dist/es/index.js +956 -239
  17. package/dist/es/index.js.map +1 -1
  18. package/dist/es/services/BalanceService.d.ts +100 -0
  19. package/dist/es/services/BaseService.d.ts +17 -0
  20. package/dist/es/services/CovalentClient.d.ts +3 -3
  21. package/dist/es/services/NftService.d.ts +137 -1
  22. package/dist/es/services/SecurityService.d.ts +62 -0
  23. package/dist/es/services/TransactionService.d.ts +65 -0
  24. package/dist/es/services/XykService.d.ts +4 -0
  25. package/dist/es/util/types/BalanceServiceTypes.d.ts +38 -0
  26. package/dist/es/util/types/BaseServiceTypes.d.ts +16 -0
  27. package/dist/es/util/types/NftServiceTypes.d.ts +76 -0
  28. package/dist/es/util/types/SecurityServiceTypes.d.ts +50 -0
  29. package/dist/es/util/types/TransactionServiceTypes.d.ts +27 -0
  30. package/dist/esm/index.js +956 -239
  31. package/dist/esm/index.js.map +1 -1
  32. package/dist/esm/services/BalanceService.d.ts +100 -0
  33. package/dist/esm/services/BaseService.d.ts +17 -0
  34. package/dist/esm/services/CovalentClient.d.ts +3 -3
  35. package/dist/esm/services/NftService.d.ts +137 -1
  36. package/dist/esm/services/SecurityService.d.ts +62 -0
  37. package/dist/esm/services/TransactionService.d.ts +65 -0
  38. package/dist/esm/services/XykService.d.ts +4 -0
  39. package/dist/esm/util/types/BalanceServiceTypes.d.ts +38 -0
  40. package/dist/esm/util/types/BaseServiceTypes.d.ts +16 -0
  41. package/dist/esm/util/types/NftServiceTypes.d.ts +76 -0
  42. package/dist/esm/util/types/SecurityServiceTypes.d.ts +50 -0
  43. package/dist/esm/util/types/TransactionServiceTypes.d.ts +27 -0
  44. package/dist/services/BalanceService.d.ts +100 -0
  45. package/dist/services/BalanceService.js +193 -6
  46. package/dist/services/BalanceService.js.map +1 -1
  47. package/dist/services/BaseService.d.ts +17 -0
  48. package/dist/services/BaseService.js +23 -12
  49. package/dist/services/BaseService.js.map +1 -1
  50. package/dist/services/CovalentClient.d.ts +3 -3
  51. package/dist/services/CovalentClient.js +1 -1
  52. package/dist/services/NftService.d.ts +137 -1
  53. package/dist/services/NftService.js +294 -16
  54. package/dist/services/NftService.js.map +1 -1
  55. package/dist/services/PricingService.js +2 -2
  56. package/dist/services/PricingService.js.map +1 -1
  57. package/dist/services/SecurityService.d.ts +62 -0
  58. package/dist/services/SecurityService.js +103 -2
  59. package/dist/services/SecurityService.js.map +1 -1
  60. package/dist/services/TransactionService.d.ts +65 -0
  61. package/dist/services/TransactionService.js +116 -7
  62. package/dist/services/TransactionService.js.map +1 -1
  63. package/dist/services/XykService.d.ts +4 -0
  64. package/dist/services/XykService.js +34 -28
  65. package/dist/services/XykService.js.map +1 -1
  66. package/dist/util/ApiHelpers.js +1 -1
  67. package/dist/util/ApiHelpers.js.map +1 -1
  68. package/dist/util/types/BalanceServiceTypes.d.ts +38 -0
  69. package/dist/util/types/BaseServiceTypes.d.ts +16 -0
  70. package/dist/util/types/NftServiceTypes.d.ts +76 -0
  71. package/dist/util/types/SecurityServiceTypes.d.ts +50 -0
  72. package/dist/util/types/TransactionServiceTypes.d.ts +27 -0
  73. package/package.json +2 -1
@@ -39,6 +39,7 @@ class Transaction {
39
39
  this.nft_sale_details = data.nft_sale_details && data.nft_sale_details !== null ? new NftSalesReport(data.nft_sale_details) : null;
40
40
  this.lending_details = data.lending_details && data.lending_details !== null ? new LendingReport(data.lending_details) : null;
41
41
  this.log_events = data.log_events && data.log_events !== null ? data.log_events.map((itemData) => new LogEvent(itemData)) : null;
42
+ this.safe_details = data.safe_details && data.safe_details !== null ? data.safe_details.map((itemData) => new SafeDetails(itemData)) : null;
42
43
  }
43
44
  }
44
45
  class ContractMetadata {
@@ -185,6 +186,13 @@ class LogEvent {
185
186
  this.decoded = data.decoded && data.decoded !== null ? new DecodedItem(data.decoded) : null;
186
187
  }
187
188
  }
189
+ class SafeDetails {
190
+ constructor(data) {
191
+ this.owner_address = data.owner_address;
192
+ this.signature = data.signature;
193
+ this.signature_type = data.signature_type;
194
+ }
195
+ }
188
196
  class DecodedItem {
189
197
  constructor(data) {
190
198
  this.name = data.name;
@@ -250,6 +258,18 @@ class TransactionSummary {
250
258
  this.tx_detail_link = data.tx_detail_link;
251
259
  }
252
260
  }
261
+ class TransactionsResponse {
262
+ constructor(data) {
263
+ this.address = data.address;
264
+ this.updated_at = data.updated_at && data.updated_at !== null ? parseISO(data.updated_at.toString()) : null;
265
+ this.quote_currency = data.quote_currency;
266
+ this.chain_id = data.chain_id;
267
+ this.chain_name = data.chain_name;
268
+ this.current_page = data.current_page;
269
+ this.links = data.links && data.links !== null ? new PaginationLinks(data.links) : null;
270
+ this.items = data.items && data.items !== null ? data.items.map((itemData) => new Transaction(itemData)) : null;
271
+ }
272
+ }
253
273
  /**
254
274
  * Transactions APIs
255
275
  *
@@ -306,7 +326,7 @@ async function* paginateEndpoint(url, apiKey, urlsParams, debug, threadCount) {
306
326
  if (error.message.includes("An error occurred 429")) {
307
327
  throw new Error(error.message);
308
328
  }
309
- throw new Error(`An error occurred ${data ? data.error_code : response.status}: ${data ? data.error_message : "401 Authorization Required"}`);
329
+ throw new Error(`An error occurred ${data ? data.error_code : response.status}: ${data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"}`);
310
330
  }
311
331
  }
312
332
  }
@@ -329,6 +349,7 @@ export class TransactionService {
329
349
  * - `withDex`: Decoded DEX details including protocol (e.g. Uniswap), event (e.g 'add_liquidity') and tokens involved with historical prices. Additional 0.05 credits charged if data available.
330
350
  * - `withNftSales`: Decoded NFT sales details including marketplace (e.g. Opensea) and cached media links. Additional 0.05 credits charged if data available.
331
351
  * - `withLending`: Decoded lending details including protocol (e.g. Aave), event (e.g. 'deposit') and tokens involved with prices. Additional 0.05 credits charged if data available.
352
+ * - `withSafe`: Include safe details.
332
353
  *
333
354
  */
334
355
  async getTransaction(chainName, txHash, queryParamOpts) {
@@ -354,6 +375,9 @@ export class TransactionService {
354
375
  if (queryParamOpts?.withLending !== undefined) {
355
376
  urlParams.append("with-lending", queryParamOpts?.withLending.toString());
356
377
  }
378
+ if (queryParamOpts?.withSafe !== undefined) {
379
+ urlParams.append("with-safe", queryParamOpts?.withSafe.toString());
380
+ }
357
381
  let startTime;
358
382
  if (this.debug) {
359
383
  startTime = typeof performance !== 'undefined' ? performance.now() : process.hrtime();
@@ -389,7 +413,7 @@ export class TransactionService {
389
413
  data: dataClass,
390
414
  error: data.error,
391
415
  error_code: data ? data.error_code : response.status,
392
- error_message: data ? data.error_message : "401 Authorization Required"
416
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
393
417
  };
394
418
  }
395
419
  catch (error) {
@@ -398,7 +422,7 @@ export class TransactionService {
398
422
  data: null,
399
423
  error: true,
400
424
  error_code: data ? data.error_code : response.status,
401
- error_message: data ? data.error_message : "401 Authorization Required"
425
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
402
426
  };
403
427
  }
404
428
  }
@@ -413,6 +437,7 @@ export class TransactionService {
413
437
  * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
414
438
  * - `noLogs`: Omit log events.
415
439
  * - `blockSignedAtAsc`: Sort the transactions in ascending chronological order. By default, it's set to `false` and returns transactions in descending chronological order.
440
+ * - `withSafe`: Include safe details.
416
441
  *
417
442
  */
418
443
  async *getAllTransactionsForAddress(chainName, walletAddress, queryParamOpts) {
@@ -430,6 +455,9 @@ export class TransactionService {
430
455
  if (queryParamOpts?.blockSignedAtAsc !== undefined) {
431
456
  urlParams.append("block-signed-at-asc", queryParamOpts?.blockSignedAtAsc.toString());
432
457
  }
458
+ if (queryParamOpts?.withSafe !== undefined) {
459
+ urlParams.append("with-safe", queryParamOpts?.withSafe.toString());
460
+ }
433
461
  for await (tx of paginateEndpoint(`https://api.covalenthq.com/v1/${chainName}/address/${walletAddress}/transactions_v3/`, this.apiKey, urlParams, this.debug, this.threadCount)) {
434
462
  yield tx;
435
463
  }
@@ -501,7 +529,7 @@ export class TransactionService {
501
529
  data: dataClass,
502
530
  error: data.error,
503
531
  error_code: data ? data.error_code : response.status,
504
- error_message: data ? data.error_message : "401 Authorization Required"
532
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
505
533
  };
506
534
  }
507
535
  catch (error) {
@@ -510,7 +538,7 @@ export class TransactionService {
510
538
  data: null,
511
539
  error: true,
512
540
  error_code: data ? data.error_code : response.status,
513
- error_message: data ? data.error_message : "401 Authorization Required"
541
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
514
542
  };
515
543
  }
516
544
  }
@@ -566,7 +594,88 @@ export class TransactionService {
566
594
  data: dataClass,
567
595
  error: data.error,
568
596
  error_code: data ? data.error_code : response.status,
569
- error_message: data ? data.error_message : "401 Authorization Required"
597
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
598
+ };
599
+ }
600
+ catch (error) {
601
+ success = true;
602
+ return {
603
+ data: null,
604
+ error: true,
605
+ error_code: data ? data.error_code : response.status,
606
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
607
+ };
608
+ }
609
+ }
610
+ }
611
+ /**
612
+ *
613
+ * @param {string} chainName - The chain name eg: `eth-mainnet`.
614
+ * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
615
+ * @param {number} page - The requested page, 0-indexed.
616
+ * @param {GetTransactionsForAddressV3QueryParamOpts} queryParamOpts
617
+ * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
618
+ * - `noLogs`: Omit log events.
619
+ * - `blockSignedAtAsc`: Sort the transactions in ascending chronological order. By default, it's set to `false` and returns transactions in descending chronological order.
620
+ * - `withSafe`: Include safe details.
621
+ *
622
+ */
623
+ async getTransactionsForAddressV3(chainName, walletAddress, page, queryParamOpts) {
624
+ let success = false;
625
+ let data;
626
+ let response;
627
+ const backoff = new ExponentialBackoff(this.apiKey, this.debug);
628
+ while (!success) {
629
+ try {
630
+ const urlParams = new URLSearchParams();
631
+ if (queryParamOpts?.quoteCurrency !== undefined) {
632
+ urlParams.append("quote-currency", queryParamOpts?.quoteCurrency.toString());
633
+ }
634
+ if (queryParamOpts?.noLogs !== undefined) {
635
+ urlParams.append("no-logs", queryParamOpts?.noLogs.toString());
636
+ }
637
+ if (queryParamOpts?.blockSignedAtAsc !== undefined) {
638
+ urlParams.append("block-signed-at-asc", queryParamOpts?.blockSignedAtAsc.toString());
639
+ }
640
+ if (queryParamOpts?.withSafe !== undefined) {
641
+ urlParams.append("with-safe", queryParamOpts?.withSafe.toString());
642
+ }
643
+ let startTime;
644
+ if (this.debug) {
645
+ startTime = typeof performance !== 'undefined' ? performance.now() : process.hrtime();
646
+ }
647
+ response = await fetch(`https://api.covalenthq.com/v1/${chainName}/address/${walletAddress}/transactions_v3/page/${page}/?${urlParams}`, {
648
+ headers: {
649
+ "Authorization": `Bearer ${this.apiKey}`,
650
+ "X-Requested-With": userAgent
651
+ }
652
+ });
653
+ debugOutput(response.url, response.status, startTime);
654
+ if (response.status === 429) {
655
+ try {
656
+ data = await this.LIMIT(() => backoff.backOff(response.url));
657
+ }
658
+ catch (error) {
659
+ success = true;
660
+ return {
661
+ data: null,
662
+ error: true,
663
+ error_code: response.status,
664
+ error_message: error.message
665
+ };
666
+ }
667
+ }
668
+ else {
669
+ data = await response.json();
670
+ }
671
+ const dataClass = new TransactionsResponse(data.data);
672
+ checkAndModifyResponse(dataClass);
673
+ success = true;
674
+ return {
675
+ data: dataClass,
676
+ error: data.error,
677
+ error_code: data ? data.error_code : response.status,
678
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
570
679
  };
571
680
  }
572
681
  catch (error) {
@@ -575,7 +684,7 @@ export class TransactionService {
575
684
  data: null,
576
685
  error: true,
577
686
  error_code: data ? data.error_code : response.status,
578
- error_message: data ? data.error_message : "401 Authorization Required"
687
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
579
688
  };
580
689
  }
581
690
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionService.js","sourceRoot":"","sources":["../../src/services/TransactionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransactionService.js","sourceRoot":"","sources":["../../src/services/TransactionService.ts"],"names":[],"mappings":"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"}
@@ -524,12 +524,16 @@ declare class HealthData {
524
524
  export interface GetPoolsForTokenAddressQueryParamOpts {
525
525
  /** * The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`. */
526
526
  quoteCurrency?: Quote;
527
+ /** * The DEX name eg: `uniswap_v2`. */
528
+ dexName?: string;
527
529
  }
528
530
  export interface GetPoolsForWalletAddressQueryParamOpts {
529
531
  /** * The token contract address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically. */
530
532
  tokenAddress?: string;
531
533
  /** * The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`. */
532
534
  quoteCurrency?: Quote;
535
+ /** * The DEX name eg: `uniswap_v2`. */
536
+ dexName?: string;
533
537
  }
534
538
  /**
535
539
  * XYK APIs
@@ -458,7 +458,7 @@ export class XykService {
458
458
  data: dataClass,
459
459
  error: data.error,
460
460
  error_code: data ? data.error_code : response.status,
461
- error_message: data ? data.error_message : "401 Authorization Required"
461
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
462
462
  };
463
463
  }
464
464
  catch (error) {
@@ -467,7 +467,7 @@ export class XykService {
467
467
  data: null,
468
468
  error: true,
469
469
  error_code: data ? data.error_code : response.status,
470
- error_message: data ? data.error_message : "401 Authorization Required"
470
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
471
471
  };
472
472
  }
473
473
  }
@@ -523,7 +523,7 @@ export class XykService {
523
523
  data: dataClass,
524
524
  error: data.error,
525
525
  error_code: data ? data.error_code : response.status,
526
- error_message: data ? data.error_message : "401 Authorization Required"
526
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
527
527
  };
528
528
  }
529
529
  catch (error) {
@@ -532,7 +532,7 @@ export class XykService {
532
532
  data: null,
533
533
  error: true,
534
534
  error_code: data ? data.error_code : response.status,
535
- error_message: data ? data.error_message : "401 Authorization Required"
535
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
536
536
  };
537
537
  }
538
538
  }
@@ -589,7 +589,7 @@ export class XykService {
589
589
  data: dataClass,
590
590
  error: data.error,
591
591
  error_code: data ? data.error_code : response.status,
592
- error_message: data ? data.error_message : "401 Authorization Required"
592
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
593
593
  };
594
594
  }
595
595
  catch (error) {
@@ -598,7 +598,7 @@ export class XykService {
598
598
  data: null,
599
599
  error: true,
600
600
  error_code: data ? data.error_code : response.status,
601
- error_message: data ? data.error_message : "401 Authorization Required"
601
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
602
602
  };
603
603
  }
604
604
  }
@@ -625,6 +625,9 @@ export class XykService {
625
625
  if (queryParamOpts?.quoteCurrency !== undefined) {
626
626
  urlParams.append("quote-currency", queryParamOpts?.quoteCurrency.toString());
627
627
  }
628
+ if (queryParamOpts?.dexName !== undefined) {
629
+ urlParams.append("dex-name", queryParamOpts?.dexName.toString());
630
+ }
628
631
  let startTime;
629
632
  if (this.debug) {
630
633
  startTime = typeof performance !== 'undefined' ? performance.now() : process.hrtime();
@@ -660,7 +663,7 @@ export class XykService {
660
663
  data: dataClass,
661
664
  error: data.error,
662
665
  error_code: data ? data.error_code : response.status,
663
- error_message: data ? data.error_message : "401 Authorization Required"
666
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
664
667
  };
665
668
  }
666
669
  catch (error) {
@@ -669,7 +672,7 @@ export class XykService {
669
672
  data: null,
670
673
  error: true,
671
674
  error_code: data ? data.error_code : response.status,
672
- error_message: data ? data.error_message : "401 Authorization Required"
675
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
673
676
  };
674
677
  }
675
678
  }
@@ -726,7 +729,7 @@ export class XykService {
726
729
  data: dataClass,
727
730
  error: data.error,
728
731
  error_code: data ? data.error_code : response.status,
729
- error_message: data ? data.error_message : "401 Authorization Required"
732
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
730
733
  };
731
734
  }
732
735
  catch (error) {
@@ -735,7 +738,7 @@ export class XykService {
735
738
  data: null,
736
739
  error: true,
737
740
  error_code: data ? data.error_code : response.status,
738
- error_message: data ? data.error_message : "401 Authorization Required"
741
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
739
742
  };
740
743
  }
741
744
  }
@@ -766,6 +769,9 @@ export class XykService {
766
769
  if (queryParamOpts?.quoteCurrency !== undefined) {
767
770
  urlParams.append("quote-currency", queryParamOpts?.quoteCurrency.toString());
768
771
  }
772
+ if (queryParamOpts?.dexName !== undefined) {
773
+ urlParams.append("dex-name", queryParamOpts?.dexName.toString());
774
+ }
769
775
  let startTime;
770
776
  if (this.debug) {
771
777
  startTime = typeof performance !== 'undefined' ? performance.now() : process.hrtime();
@@ -801,7 +807,7 @@ export class XykService {
801
807
  data: dataClass,
802
808
  error: data.error,
803
809
  error_code: data ? data.error_code : response.status,
804
- error_message: data ? data.error_message : "401 Authorization Required"
810
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
805
811
  };
806
812
  }
807
813
  catch (error) {
@@ -810,7 +816,7 @@ export class XykService {
810
816
  data: null,
811
817
  error: true,
812
818
  error_code: data ? data.error_code : response.status,
813
- error_message: data ? data.error_message : "401 Authorization Required"
819
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
814
820
  };
815
821
  }
816
822
  }
@@ -866,7 +872,7 @@ export class XykService {
866
872
  data: dataClass,
867
873
  error: data.error,
868
874
  error_code: data ? data.error_code : response.status,
869
- error_message: data ? data.error_message : "401 Authorization Required"
875
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
870
876
  };
871
877
  }
872
878
  catch (error) {
@@ -875,7 +881,7 @@ export class XykService {
875
881
  data: null,
876
882
  error: true,
877
883
  error_code: data ? data.error_code : response.status,
878
- error_message: data ? data.error_message : "401 Authorization Required"
884
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
879
885
  };
880
886
  }
881
887
  }
@@ -929,7 +935,7 @@ export class XykService {
929
935
  data: dataClass,
930
936
  error: data.error,
931
937
  error_code: data ? data.error_code : response.status,
932
- error_message: data ? data.error_message : "401 Authorization Required"
938
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
933
939
  };
934
940
  }
935
941
  catch (error) {
@@ -938,7 +944,7 @@ export class XykService {
938
944
  data: null,
939
945
  error: true,
940
946
  error_code: data ? data.error_code : response.status,
941
- error_message: data ? data.error_message : "401 Authorization Required"
947
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
942
948
  };
943
949
  }
944
950
  }
@@ -995,7 +1001,7 @@ export class XykService {
995
1001
  data: dataClass,
996
1002
  error: data.error,
997
1003
  error_code: data ? data.error_code : response.status,
998
- error_message: data ? data.error_message : "401 Authorization Required"
1004
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
999
1005
  };
1000
1006
  }
1001
1007
  catch (error) {
@@ -1004,7 +1010,7 @@ export class XykService {
1004
1010
  data: null,
1005
1011
  error: true,
1006
1012
  error_code: data ? data.error_code : response.status,
1007
- error_message: data ? data.error_message : "401 Authorization Required"
1013
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
1008
1014
  };
1009
1015
  }
1010
1016
  }
@@ -1061,7 +1067,7 @@ export class XykService {
1061
1067
  data: dataClass,
1062
1068
  error: data.error,
1063
1069
  error_code: data ? data.error_code : response.status,
1064
- error_message: data ? data.error_message : "401 Authorization Required"
1070
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
1065
1071
  };
1066
1072
  }
1067
1073
  catch (error) {
@@ -1070,7 +1076,7 @@ export class XykService {
1070
1076
  data: null,
1071
1077
  error: true,
1072
1078
  error_code: data ? data.error_code : response.status,
1073
- error_message: data ? data.error_message : "401 Authorization Required"
1079
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
1074
1080
  };
1075
1081
  }
1076
1082
  }
@@ -1127,7 +1133,7 @@ export class XykService {
1127
1133
  data: dataClass,
1128
1134
  error: data.error,
1129
1135
  error_code: data ? data.error_code : response.status,
1130
- error_message: data ? data.error_message : "401 Authorization Required"
1136
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
1131
1137
  };
1132
1138
  }
1133
1139
  catch (error) {
@@ -1136,7 +1142,7 @@ export class XykService {
1136
1142
  data: null,
1137
1143
  error: true,
1138
1144
  error_code: data ? data.error_code : response.status,
1139
- error_message: data ? data.error_message : "401 Authorization Required"
1145
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
1140
1146
  };
1141
1147
  }
1142
1148
  }
@@ -1193,7 +1199,7 @@ export class XykService {
1193
1199
  data: dataClass,
1194
1200
  error: data.error,
1195
1201
  error_code: data ? data.error_code : response.status,
1196
- error_message: data ? data.error_message : "401 Authorization Required"
1202
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
1197
1203
  };
1198
1204
  }
1199
1205
  catch (error) {
@@ -1202,7 +1208,7 @@ export class XykService {
1202
1208
  data: null,
1203
1209
  error: true,
1204
1210
  error_code: data ? data.error_code : response.status,
1205
- error_message: data ? data.error_message : "401 Authorization Required"
1211
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
1206
1212
  };
1207
1213
  }
1208
1214
  }
@@ -1258,7 +1264,7 @@ export class XykService {
1258
1264
  data: dataClass,
1259
1265
  error: data.error,
1260
1266
  error_code: data ? data.error_code : response.status,
1261
- error_message: data ? data.error_message : "401 Authorization Required"
1267
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
1262
1268
  };
1263
1269
  }
1264
1270
  catch (error) {
@@ -1267,7 +1273,7 @@ export class XykService {
1267
1273
  data: null,
1268
1274
  error: true,
1269
1275
  error_code: data ? data.error_code : response.status,
1270
- error_message: data ? data.error_message : "401 Authorization Required"
1276
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
1271
1277
  };
1272
1278
  }
1273
1279
  }
@@ -1323,7 +1329,7 @@ export class XykService {
1323
1329
  data: dataClass,
1324
1330
  error: data.error,
1325
1331
  error_code: data ? data.error_code : response.status,
1326
- error_message: data ? data.error_message : "401 Authorization Required"
1332
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
1327
1333
  };
1328
1334
  }
1329
1335
  catch (error) {
@@ -1332,7 +1338,7 @@ export class XykService {
1332
1338
  data: null,
1333
1339
  error: true,
1334
1340
  error_code: data ? data.error_code : response.status,
1335
- error_message: data ? data.error_message : "401 Authorization Required"
1341
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
1336
1342
  };
1337
1343
  }
1338
1344
  }