@covalenthq/client-sdk 0.6.7 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/index.js +744 -193
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/services/BalanceService.d.ts +2 -1
  5. package/dist/cjs/services/BaseService.d.ts +55 -2
  6. package/dist/cjs/services/CovalentClient.d.ts +3 -1
  7. package/dist/cjs/services/NftService.d.ts +2 -1
  8. package/dist/cjs/services/PricingService.d.ts +2 -1
  9. package/dist/cjs/services/SecurityService.d.ts +2 -1
  10. package/dist/cjs/services/TransactionService.d.ts +5 -4
  11. package/dist/cjs/services/XykService.d.ts +2 -1
  12. package/dist/cjs/util/ApiKeyValidator.d.ts +8 -0
  13. package/dist/cjs/util/types/BaseServiceTypes.d.ts +36 -0
  14. package/dist/cjs/util/types/TransactionServiceTypes.d.ts +3 -3
  15. package/dist/es/index.js +744 -193
  16. package/dist/es/index.js.map +1 -1
  17. package/dist/es/services/BalanceService.d.ts +2 -1
  18. package/dist/es/services/BaseService.d.ts +55 -2
  19. package/dist/es/services/CovalentClient.d.ts +3 -1
  20. package/dist/es/services/NftService.d.ts +2 -1
  21. package/dist/es/services/PricingService.d.ts +2 -1
  22. package/dist/es/services/SecurityService.d.ts +2 -1
  23. package/dist/es/services/TransactionService.d.ts +5 -4
  24. package/dist/es/services/XykService.d.ts +2 -1
  25. package/dist/es/util/ApiKeyValidator.d.ts +8 -0
  26. package/dist/es/util/types/BaseServiceTypes.d.ts +36 -0
  27. package/dist/es/util/types/TransactionServiceTypes.d.ts +3 -3
  28. package/dist/esm/index.js +744 -193
  29. package/dist/esm/index.js.map +1 -1
  30. package/dist/esm/services/BalanceService.d.ts +2 -1
  31. package/dist/esm/services/BaseService.d.ts +55 -2
  32. package/dist/esm/services/CovalentClient.d.ts +3 -1
  33. package/dist/esm/services/NftService.d.ts +2 -1
  34. package/dist/esm/services/PricingService.d.ts +2 -1
  35. package/dist/esm/services/SecurityService.d.ts +2 -1
  36. package/dist/esm/services/TransactionService.d.ts +5 -4
  37. package/dist/esm/services/XykService.d.ts +2 -1
  38. package/dist/esm/util/ApiKeyValidator.d.ts +8 -0
  39. package/dist/esm/util/types/BaseServiceTypes.d.ts +36 -0
  40. package/dist/esm/util/types/TransactionServiceTypes.d.ts +3 -3
  41. package/dist/services/BalanceService.d.ts +2 -1
  42. package/dist/services/BalanceService.js +75 -19
  43. package/dist/services/BalanceService.js.map +1 -1
  44. package/dist/services/BaseService.d.ts +55 -2
  45. package/dist/services/BaseService.js +212 -26
  46. package/dist/services/BaseService.js.map +1 -1
  47. package/dist/services/CovalentClient.d.ts +3 -1
  48. package/dist/services/CovalentClient.js +20 -15
  49. package/dist/services/CovalentClient.js.map +1 -1
  50. package/dist/services/NftService.d.ts +2 -1
  51. package/dist/services/NftService.js +152 -40
  52. package/dist/services/NftService.js.map +1 -1
  53. package/dist/services/PricingService.d.ts +2 -1
  54. package/dist/services/PricingService.js +14 -4
  55. package/dist/services/PricingService.js.map +1 -1
  56. package/dist/services/SecurityService.d.ts +2 -1
  57. package/dist/services/SecurityService.js +25 -7
  58. package/dist/services/SecurityService.js.map +1 -1
  59. package/dist/services/TransactionService.d.ts +5 -4
  60. package/dist/services/TransactionService.js +78 -33
  61. package/dist/services/TransactionService.js.map +1 -1
  62. package/dist/services/XykService.d.ts +2 -1
  63. package/dist/services/XykService.js +157 -43
  64. package/dist/services/XykService.js.map +1 -1
  65. package/dist/util/ApiHelpers.js +3 -3
  66. package/dist/util/ApiHelpers.js.map +1 -1
  67. package/dist/util/ApiKeyValidator.d.ts +8 -0
  68. package/dist/util/ApiKeyValidator.js +13 -0
  69. package/dist/util/ApiKeyValidator.js.map +1 -0
  70. package/dist/util/backoff.js +3 -3
  71. package/dist/util/backoff.js.map +1 -1
  72. package/dist/util/types/BaseServiceTypes.d.ts +36 -0
  73. package/dist/util/types/TransactionServiceTypes.d.ts +3 -3
  74. package/package.json +1 -1
@@ -3,6 +3,7 @@ import { checkAndModifyResponse, debugOutput } from "../util/ApiHelpers";
3
3
  import { parseISO } from "date-fns";
4
4
  import { ExponentialBackoff } from "../util/backoff";
5
5
  import pLimit from "p-limit";
6
+ import { ApiKeyValidator } from "../util/ApiKeyValidator";
6
7
  class TransactionResponse {
7
8
  constructor(data) {
8
9
  this.updated_at = data.updated_at && data.updated_at !== null ? parseISO(data.updated_at.toString()) : null;
@@ -36,9 +37,9 @@ class Transaction {
36
37
  this.gas_quote_rate = data.gas_quote_rate;
37
38
  this.gas_metadata = data.gas_metadata && data.gas_metadata !== null ? new ContractMetadata(data.gas_metadata) : null;
38
39
  this.explorers = data.explorers && data.explorers !== null ? data.explorers.map((itemData) => new Explorer(itemData)) : null;
39
- this.dex_details = data.dex_details && data.dex_details !== null ? new DexReport(data.dex_details) : null;
40
- this.nft_sale_details = data.nft_sale_details && data.nft_sale_details !== null ? new NftSalesReport(data.nft_sale_details) : null;
41
- this.lending_details = data.lending_details && data.lending_details !== null ? new LendingReport(data.lending_details) : null;
40
+ this.dex_details = data.dex_details && data.dex_details !== null ? data.dex_details.map((itemData) => new DexReport(itemData)) : null;
41
+ this.nft_sale_details = data.nft_sale_details && data.nft_sale_details !== null ? data.nft_sale_details.map((itemData) => new NftSalesReport(itemData)) : null;
42
+ this.lending_details = data.lending_details && data.lending_details !== null ? data.lending_details.map((itemData) => new LendingReport(itemData)) : null;
42
43
  this.log_events = data.log_events && data.log_events !== null ? data.log_events.map((itemData) => new LogEvent(itemData)) : null;
43
44
  this.safe_details = data.safe_details && data.safe_details !== null ? data.safe_details.map((itemData) => new SafeDetails(itemData)) : null;
44
45
  }
@@ -258,8 +259,8 @@ class RecentTransactionsResponse {
258
259
  "X-Requested-With": userAgent
259
260
  }
260
261
  }));
261
- debugOutput(response.url, response.status, startTime);
262
- if (response.status === 429) {
262
+ debugOutput(response.url, response.status ?? 429, startTime);
263
+ if (response.status === null || response.status === 429) {
263
264
  try {
264
265
  data = await LIMIT(() => backoff.backOff(response.url));
265
266
  }
@@ -268,7 +269,7 @@ class RecentTransactionsResponse {
268
269
  return {
269
270
  data: null,
270
271
  error: true,
271
- error_code: response.status,
272
+ error_code: response.status ?? 429,
272
273
  error_message: error.message
273
274
  };
274
275
  }
@@ -324,8 +325,8 @@ class RecentTransactionsResponse {
324
325
  "X-Requested-With": userAgent
325
326
  }
326
327
  }));
327
- debugOutput(response.url, response.status, startTime);
328
- if (response.status === 429) {
328
+ debugOutput(response.url, response.status ?? 429, startTime);
329
+ if (response.status === null || response.status === 429) {
329
330
  try {
330
331
  data = await LIMIT(() => backoff.backOff(response.url));
331
332
  }
@@ -334,7 +335,7 @@ class RecentTransactionsResponse {
334
335
  return {
335
336
  data: null,
336
337
  error: true,
337
- error_code: response.status,
338
+ error_code: response.status ?? 429,
338
339
  error_message: error.message
339
340
  };
340
341
  }
@@ -443,8 +444,8 @@ class TransactionsResponse {
443
444
  "X-Requested-With": userAgent
444
445
  }
445
446
  }));
446
- debugOutput(response.url, response.status, startTime);
447
- if (response.status === 429) {
447
+ debugOutput(response.url, response.status ?? 429, startTime);
448
+ if (response.status === null || response.status === 429) {
448
449
  try {
449
450
  data = await LIMIT(() => backoff.backOff(response.url));
450
451
  }
@@ -453,7 +454,7 @@ class TransactionsResponse {
453
454
  return {
454
455
  data: null,
455
456
  error: true,
456
- error_code: response.status,
457
+ error_code: response.status ?? 429,
457
458
  error_message: error.message
458
459
  };
459
460
  }
@@ -509,8 +510,8 @@ class TransactionsResponse {
509
510
  "X-Requested-With": userAgent
510
511
  }
511
512
  }));
512
- debugOutput(response.url, response.status, startTime);
513
- if (response.status === 429) {
513
+ debugOutput(response.url, response.status ?? 429, startTime);
514
+ if (response.status === null || response.status === 429) {
514
515
  try {
515
516
  data = await LIMIT(() => backoff.backOff(response.url));
516
517
  }
@@ -519,7 +520,7 @@ class TransactionsResponse {
519
520
  return {
520
521
  data: null,
521
522
  error: true,
522
- error_code: response.status,
523
+ error_code: response.status ?? 429,
523
524
  error_message: error.message
524
525
  };
525
526
  }
@@ -571,8 +572,8 @@ async function* paginateEndpoint(url, apiKey, urlsParams, debug, threadCount) {
571
572
  "X-Requested-With": userAgent
572
573
  }
573
574
  }));
574
- debugOutput(response.url, response.status, startTime);
575
- if (response.status === 429) {
575
+ debugOutput(response.url, response.status ?? 429, startTime);
576
+ if (response.status === null || response.status === 429) {
576
577
  try {
577
578
  data = await LIMIT(() => backoff.backOff(response.url));
578
579
  }
@@ -610,10 +611,11 @@ async function* paginateEndpoint(url, apiKey, urlsParams, debug, threadCount) {
610
611
  }
611
612
  }
612
613
  export class TransactionService {
613
- constructor(apiKey, debug = false, threadCount = 3) {
614
+ constructor(apiKey, debug = false, threadCount = 3, is_key_valid) {
614
615
  this.apiKey = apiKey;
615
616
  this.debug = debug;
616
617
  this.threadCount = threadCount;
618
+ this.is_key_valid = is_key_valid;
617
619
  this.LIMIT = pLimit(this.threadCount);
618
620
  }
619
621
  /**
@@ -639,6 +641,14 @@ export class TransactionService {
639
641
  while (!success) {
640
642
  try {
641
643
  const urlParams = new URLSearchParams();
644
+ if (!this.is_key_valid) {
645
+ return {
646
+ data: null,
647
+ error: true,
648
+ error_code: 401,
649
+ error_message: ApiKeyValidator.INVALID_API_KEY_MESSAGE
650
+ };
651
+ }
642
652
  if (queryParamOpts?.quoteCurrency !== undefined) {
643
653
  urlParams.append("quote-currency", queryParamOpts?.quoteCurrency.toString());
644
654
  }
@@ -667,8 +677,8 @@ export class TransactionService {
667
677
  "X-Requested-With": userAgent
668
678
  }
669
679
  }));
670
- debugOutput(response.url, response.status, startTime);
671
- if (response.status === 429) {
680
+ debugOutput(response.url, response.status ?? 429, startTime);
681
+ if (response.status === null || response.status === 429) {
672
682
  try {
673
683
  data = await this.LIMIT(() => backoff.backOff(response.url));
674
684
  }
@@ -677,7 +687,7 @@ export class TransactionService {
677
687
  return {
678
688
  data: null,
679
689
  error: true,
680
- error_code: response.status,
690
+ error_code: response.status ?? 429,
681
691
  error_message: error.message
682
692
  };
683
693
  }
@@ -725,6 +735,9 @@ export class TransactionService {
725
735
  while (!success) {
726
736
  try {
727
737
  const urlParams = new URLSearchParams();
738
+ if (!this.is_key_valid) {
739
+ throw new Error(`An error occurred 401: ${ApiKeyValidator.INVALID_API_KEY_MESSAGE}`);
740
+ }
728
741
  if (queryParamOpts?.quoteCurrency !== undefined) {
729
742
  urlParams.append("quote-currency", queryParamOpts?.quoteCurrency.toString());
730
743
  }
@@ -769,6 +782,14 @@ export class TransactionService {
769
782
  while (!success) {
770
783
  try {
771
784
  const urlParams = new URLSearchParams();
785
+ if (!this.is_key_valid) {
786
+ return {
787
+ data: null,
788
+ error: true,
789
+ error_code: 401,
790
+ error_message: ApiKeyValidator.INVALID_API_KEY_MESSAGE
791
+ };
792
+ }
772
793
  if (queryParamOpts?.quoteCurrency !== undefined) {
773
794
  urlParams.append("quote-currency", queryParamOpts?.quoteCurrency.toString());
774
795
  }
@@ -791,8 +812,8 @@ export class TransactionService {
791
812
  "X-Requested-With": userAgent
792
813
  }
793
814
  }));
794
- debugOutput(response.url, response.status, startTime);
795
- if (response.status === 429) {
815
+ debugOutput(response.url, response.status ?? 429, startTime);
816
+ if (response.status === null || response.status === 429) {
796
817
  try {
797
818
  data = await this.LIMIT(() => backoff.backOff(response.url));
798
819
  }
@@ -801,7 +822,7 @@ export class TransactionService {
801
822
  return {
802
823
  data: null,
803
824
  error: true,
804
- error_code: response.status,
825
+ error_code: response.status ?? 429,
805
826
  error_message: error.message
806
827
  };
807
828
  }
@@ -850,6 +871,14 @@ export class TransactionService {
850
871
  while (!success) {
851
872
  try {
852
873
  const urlParams = new URLSearchParams();
874
+ if (!this.is_key_valid) {
875
+ return {
876
+ data: null,
877
+ error: true,
878
+ error_code: 401,
879
+ error_message: ApiKeyValidator.INVALID_API_KEY_MESSAGE
880
+ };
881
+ }
853
882
  if (queryParamOpts?.quoteCurrency !== undefined) {
854
883
  urlParams.append("quote-currency", queryParamOpts?.quoteCurrency.toString());
855
884
  }
@@ -869,8 +898,8 @@ export class TransactionService {
869
898
  "X-Requested-With": userAgent
870
899
  }
871
900
  }));
872
- debugOutput(response.url, response.status, startTime);
873
- if (response.status === 429) {
901
+ debugOutput(response.url, response.status ?? 429, startTime);
902
+ if (response.status === null || response.status === 429) {
874
903
  try {
875
904
  data = await this.LIMIT(() => backoff.backOff(response.url));
876
905
  }
@@ -879,7 +908,7 @@ export class TransactionService {
879
908
  return {
880
909
  data: null,
881
910
  error: true,
882
- error_code: response.status,
911
+ error_code: response.status ?? 429,
883
912
  error_message: error.message
884
913
  };
885
914
  }
@@ -924,6 +953,14 @@ export class TransactionService {
924
953
  while (!success) {
925
954
  try {
926
955
  const urlParams = new URLSearchParams();
956
+ if (!this.is_key_valid) {
957
+ return {
958
+ data: null,
959
+ error: true,
960
+ error_code: 401,
961
+ error_message: ApiKeyValidator.INVALID_API_KEY_MESSAGE
962
+ };
963
+ }
927
964
  let startTime;
928
965
  if (this.debug) {
929
966
  startTime = typeof performance !== 'undefined' ? performance.now() : process.hrtime();
@@ -934,8 +971,8 @@ export class TransactionService {
934
971
  "X-Requested-With": userAgent
935
972
  }
936
973
  }));
937
- debugOutput(response.url, response.status, startTime);
938
- if (response.status === 429) {
974
+ debugOutput(response.url, response.status ?? 429, startTime);
975
+ if (response.status === null || response.status === 429) {
939
976
  try {
940
977
  data = await this.LIMIT(() => backoff.backOff(response.url));
941
978
  }
@@ -944,7 +981,7 @@ export class TransactionService {
944
981
  return {
945
982
  data: null,
946
983
  error: true,
947
- error_code: response.status,
984
+ error_code: response.status ?? 429,
948
985
  error_message: error.message
949
986
  };
950
987
  }
@@ -993,6 +1030,14 @@ export class TransactionService {
993
1030
  while (!success) {
994
1031
  try {
995
1032
  const urlParams = new URLSearchParams();
1033
+ if (!this.is_key_valid) {
1034
+ return {
1035
+ data: null,
1036
+ error: true,
1037
+ error_code: 401,
1038
+ error_message: ApiKeyValidator.INVALID_API_KEY_MESSAGE
1039
+ };
1040
+ }
996
1041
  if (queryParamOpts?.quoteCurrency !== undefined) {
997
1042
  urlParams.append("quote-currency", queryParamOpts?.quoteCurrency.toString());
998
1043
  }
@@ -1015,8 +1060,8 @@ export class TransactionService {
1015
1060
  "X-Requested-With": userAgent
1016
1061
  }
1017
1062
  });
1018
- debugOutput(response.url, response.status, startTime);
1019
- if (response.status === 429) {
1063
+ debugOutput(response.url, response.status ?? 429, startTime);
1064
+ if (response.status === null || response.status === 429) {
1020
1065
  try {
1021
1066
  data = await this.LIMIT(() => backoff.backOff(response.url));
1022
1067
  }
@@ -1025,7 +1070,7 @@ export class TransactionService {
1025
1070
  return {
1026
1071
  data: null,
1027
1072
  error: true,
1028
- error_code: response.status,
1073
+ error_code: response.status ?? 429,
1029
1074
  error_message: error.message
1030
1075
  };
1031
1076
  }
@@ -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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"}
@@ -544,8 +544,9 @@ export declare class XykService {
544
544
  private apiKey;
545
545
  private debug;
546
546
  private threadCount;
547
+ private is_key_valid;
547
548
  private LIMIT;
548
- constructor(apiKey: string, debug?: boolean, threadCount?: number);
549
+ constructor(apiKey: string, debug: boolean, threadCount: number, is_key_valid: boolean);
549
550
  /**
550
551
  *
551
552
  * Commonly used to get all the pools of a particular DEX. Supports most common DEXs (Uniswap, SushiSwap, etc), and returns detailed trading data (volume, liquidity, swap counts, fees, LP token prices).