@covalenthq/client-sdk 0.2.9 → 0.5.0

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 (116) hide show
  1. package/README.md +117 -46
  2. package/dist/cjs/index.d.ts +9 -0
  3. package/dist/cjs/index.js +5226 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/services/BalanceService.d.ts +543 -0
  6. package/dist/cjs/services/BaseService.d.ts +357 -0
  7. package/dist/cjs/services/CovalentClient.d.ts +65 -0
  8. package/dist/cjs/services/NftService.d.ts +620 -0
  9. package/dist/cjs/services/PricingService.d.ts +88 -0
  10. package/dist/cjs/services/SecurityService.d.ts +158 -0
  11. package/dist/cjs/services/TransactionService.d.ts +457 -0
  12. package/dist/cjs/services/XykService.d.ts +686 -0
  13. package/dist/cjs/util/ApiHelpers.d.ts +5 -0
  14. package/dist/cjs/util/backoff.d.ts +11 -0
  15. package/dist/cjs/util/types/BalanceServiceTypes.d.ts +322 -0
  16. package/dist/cjs/util/types/BaseServiceTypes.d.ts +180 -0
  17. package/dist/cjs/util/types/GenericTypes.d.ts +96 -0
  18. package/dist/cjs/util/types/NftServiceTypes.d.ts +297 -0
  19. package/dist/cjs/util/types/PricingServiceTypes.d.ts +31 -0
  20. package/dist/cjs/util/types/SecurityServiceTypes.d.ts +121 -0
  21. package/dist/cjs/util/types/TransactionServiceTypes.d.ts +322 -0
  22. package/dist/cjs/util/types/XykServiceTypes.d.ts +479 -0
  23. package/dist/es/index.d.ts +9 -0
  24. package/dist/es/index.js +5223 -0
  25. package/dist/es/index.js.map +1 -0
  26. package/dist/es/services/BalanceService.d.ts +543 -0
  27. package/dist/es/services/BaseService.d.ts +357 -0
  28. package/dist/es/services/CovalentClient.d.ts +65 -0
  29. package/dist/es/services/NftService.d.ts +620 -0
  30. package/dist/es/services/PricingService.d.ts +88 -0
  31. package/dist/es/services/SecurityService.d.ts +158 -0
  32. package/dist/es/services/TransactionService.d.ts +457 -0
  33. package/dist/es/services/XykService.d.ts +686 -0
  34. package/dist/es/util/ApiHelpers.d.ts +5 -0
  35. package/dist/es/util/backoff.d.ts +11 -0
  36. package/dist/es/util/types/BalanceServiceTypes.d.ts +322 -0
  37. package/dist/es/util/types/BaseServiceTypes.d.ts +180 -0
  38. package/dist/es/util/types/GenericTypes.d.ts +96 -0
  39. package/dist/es/util/types/NftServiceTypes.d.ts +297 -0
  40. package/dist/es/util/types/PricingServiceTypes.d.ts +31 -0
  41. package/dist/es/util/types/SecurityServiceTypes.d.ts +121 -0
  42. package/dist/es/util/types/TransactionServiceTypes.d.ts +322 -0
  43. package/dist/es/util/types/XykServiceTypes.d.ts +479 -0
  44. package/dist/esm/index.d.ts +9 -0
  45. package/dist/esm/index.js +5223 -0
  46. package/dist/esm/index.js.map +1 -0
  47. package/dist/esm/services/BalanceService.d.ts +543 -0
  48. package/dist/esm/services/BaseService.d.ts +357 -0
  49. package/dist/esm/services/CovalentClient.d.ts +65 -0
  50. package/dist/esm/services/NftService.d.ts +620 -0
  51. package/dist/esm/services/PricingService.d.ts +88 -0
  52. package/dist/esm/services/SecurityService.d.ts +158 -0
  53. package/dist/esm/services/TransactionService.d.ts +457 -0
  54. package/dist/esm/services/XykService.d.ts +686 -0
  55. package/dist/esm/util/ApiHelpers.d.ts +5 -0
  56. package/dist/esm/util/backoff.d.ts +11 -0
  57. package/dist/esm/util/types/BalanceServiceTypes.d.ts +322 -0
  58. package/dist/esm/util/types/BaseServiceTypes.d.ts +180 -0
  59. package/dist/esm/util/types/GenericTypes.d.ts +96 -0
  60. package/dist/esm/util/types/NftServiceTypes.d.ts +297 -0
  61. package/dist/esm/util/types/PricingServiceTypes.d.ts +31 -0
  62. package/dist/esm/util/types/SecurityServiceTypes.d.ts +121 -0
  63. package/dist/esm/util/types/TransactionServiceTypes.d.ts +322 -0
  64. package/dist/esm/util/types/XykServiceTypes.d.ts +479 -0
  65. package/dist/index.d.ts +1 -1
  66. package/dist/index.js +9 -27
  67. package/dist/index.js.map +1 -1
  68. package/dist/services/BalanceService.d.ts +149 -11
  69. package/dist/services/BalanceService.js +300 -84
  70. package/dist/services/BalanceService.js.map +1 -1
  71. package/dist/services/BaseService.d.ts +46 -10
  72. package/dist/services/BaseService.js +199 -151
  73. package/dist/services/BaseService.js.map +1 -1
  74. package/dist/services/CovalentClient.d.ts +65 -0
  75. package/dist/services/CovalentClient.js +44 -0
  76. package/dist/services/CovalentClient.js.map +1 -0
  77. package/dist/services/NftService.d.ts +182 -16
  78. package/dist/services/NftService.js +490 -211
  79. package/dist/services/NftService.js.map +1 -1
  80. package/dist/services/PricingService.d.ts +8 -3
  81. package/dist/services/PricingService.js +44 -38
  82. package/dist/services/PricingService.js.map +1 -1
  83. package/dist/services/SecurityService.d.ts +71 -3
  84. package/dist/services/SecurityService.js +140 -32
  85. package/dist/services/SecurityService.js.map +1 -1
  86. package/dist/services/TransactionService.d.ts +58 -9
  87. package/dist/services/TransactionService.js +152 -103
  88. package/dist/services/TransactionService.js.map +1 -1
  89. package/dist/services/XykService.d.ts +85 -19
  90. package/dist/services/XykService.js +470 -291
  91. package/dist/services/XykService.js.map +1 -1
  92. package/dist/util/ApiHelpers.d.ts +2 -1
  93. package/dist/util/ApiHelpers.js +57 -36
  94. package/dist/util/ApiHelpers.js.map +1 -1
  95. package/dist/util/backoff.d.ts +5 -3
  96. package/dist/util/backoff.js +35 -13
  97. package/dist/util/backoff.js.map +1 -1
  98. package/dist/util/types/BalanceServiceTypes.d.ts +63 -0
  99. package/dist/util/types/BalanceServiceTypes.js +1 -2
  100. package/dist/util/types/BaseServiceTypes.d.ts +8 -0
  101. package/dist/util/types/BaseServiceTypes.js +1 -2
  102. package/dist/util/types/GenericTypes.d.ts +7 -0
  103. package/dist/util/types/GenericTypes.js +1 -2
  104. package/dist/util/types/NftServiceTypes.d.ts +86 -2
  105. package/dist/util/types/NftServiceTypes.js +1 -2
  106. package/dist/util/types/PricingServiceTypes.js +1 -2
  107. package/dist/util/types/SecurityServiceTypes.d.ts +51 -0
  108. package/dist/util/types/SecurityServiceTypes.js +1 -2
  109. package/dist/util/types/TransactionServiceTypes.d.ts +24 -2
  110. package/dist/util/types/TransactionServiceTypes.js +1 -2
  111. package/dist/util/types/XykServiceTypes.d.ts +20 -6
  112. package/dist/util/types/XykServiceTypes.js +1 -2
  113. package/package.json +19 -4
  114. package/dist/services/Client.d.ts +0 -29
  115. package/dist/services/Client.js +0 -30
  116. package/dist/services/Client.js.map +0 -1
@@ -1,14 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SecurityService = void 0;
4
- const Client_1 = require("./Client");
5
- const ApiHelpers_1 = require("../util/ApiHelpers");
6
- const date_fns_1 = require("date-fns");
7
- const backoff_1 = require("../util/backoff");
1
+ import { userAgent } from "./CovalentClient";
2
+ import { checkAndModifyResponse, debugOutput } from "../util/ApiHelpers";
3
+ import { parseISO } from "date-fns";
4
+ import { ExponentialBackoff } from "../util/backoff";
5
+ import pLimit from "p-limit";
8
6
  class ApprovalsResponse {
9
7
  constructor(data) {
10
8
  this.address = data.address;
11
- this.updated_at = data.updated_at && data.updated_at !== null ? (0, date_fns_1.parseISO)(data.updated_at.toString()) : null;
9
+ this.updated_at = data.updated_at && data.updated_at !== null ? parseISO(data.updated_at.toString()) : null;
12
10
  this.quote_currency = data.quote_currency;
13
11
  this.chain_id = data.chain_id;
14
12
  this.chain_name = data.chain_name;
@@ -37,7 +35,7 @@ class TokenSpenderItem {
37
35
  this.block_height = data.block_height;
38
36
  this.tx_offset = data.tx_offset;
39
37
  this.log_offset = data.log_offset;
40
- this.block_signed_at = data.block_signed_at && data.block_signed_at !== null ? (0, date_fns_1.parseISO)(data.block_signed_at.toString()) : null;
38
+ this.block_signed_at = data.block_signed_at && data.block_signed_at !== null ? parseISO(data.block_signed_at.toString()) : null;
41
39
  this.tx_hash = data.tx_hash;
42
40
  this.spender_address = data.spender_address;
43
41
  this.spender_address_label = data.spender_address_label;
@@ -50,15 +48,57 @@ class TokenSpenderItem {
50
48
  this.risk_factor = data.risk_factor;
51
49
  }
52
50
  }
51
+ class NftApprovalsResponse {
52
+ constructor(data) {
53
+ this.updated_at = data.updated_at && data.updated_at !== null ? parseISO(data.updated_at.toString()) : null;
54
+ this.chain_id = data.chain_id;
55
+ this.chain_name = data.chain_name;
56
+ this.address = data.address;
57
+ this.items = data.items && data.items !== null ? data.items.map((itemData) => new NftApprovalsItem(itemData)) : null;
58
+ }
59
+ }
60
+ class NftApprovalsItem {
61
+ constructor(data) {
62
+ this.contract_address = data.contract_address;
63
+ this.contract_address_label = data.contract_address_label;
64
+ this.contract_ticker_symbol = data.contract_ticker_symbol;
65
+ this.token_balances = data.token_balances && data.token_balances !== null ? data.token_balances.map((itemData) => new NftApprovalBalance(itemData)) : null;
66
+ this.spenders = data.spenders && data.spenders !== null ? data.spenders.map((itemData) => new NftApprovalSpender(itemData)) : null;
67
+ }
68
+ }
69
+ class NftApprovalBalance {
70
+ constructor(data) {
71
+ this.token_id = data.token_id && data.token_id !== null ? BigInt(data.token_id) : null;
72
+ this.token_balance = data.token_balance && data.token_balance !== null ? BigInt(data.token_balance) : null;
73
+ }
74
+ }
75
+ class NftApprovalSpender {
76
+ constructor(data) {
77
+ this.block_height = data.block_height;
78
+ this.tx_offset = data.tx_offset;
79
+ this.log_offset = data.log_offset;
80
+ this.block_signed_at = data.block_signed_at && data.block_signed_at !== null ? parseISO(data.block_signed_at.toString()) : null;
81
+ this.tx_hash = data.tx_hash;
82
+ this.spender_address = data.spender_address;
83
+ this.spender_address_label = data.spender_address_label;
84
+ this.token_ids_approved = data.token_ids_approved;
85
+ this.allowance = data.allowance;
86
+ }
87
+ }
53
88
  /**
54
89
  * Approvals API
55
90
  *
56
91
  */
57
- class SecurityService {
58
- constructor(apiKey) {
92
+ export class SecurityService {
93
+ constructor(apiKey, debug = false, threadCount = 3) {
59
94
  this.apiKey = apiKey;
95
+ this.debug = debug;
96
+ this.threadCount = threadCount;
97
+ this.LIMIT = pLimit(this.threadCount);
60
98
  }
61
99
  /**
100
+ *
101
+ * Commonly used to get a list of approvals across all token contracts categorized by spenders for a wallet’s assets.
62
102
  *
63
103
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
64
104
  * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
@@ -68,42 +108,111 @@ class SecurityService {
68
108
  let success = false;
69
109
  let data;
70
110
  let response;
71
- const backoff = new backoff_1.ExponentialBackoff();
111
+ const backoff = new ExponentialBackoff(this.apiKey, this.debug);
112
+ while (!success) {
113
+ try {
114
+ const urlParams = new URLSearchParams();
115
+ let startTime;
116
+ if (this.debug) {
117
+ startTime = typeof performance !== 'undefined' ? performance.now() : process.hrtime();
118
+ }
119
+ response = await this.LIMIT(() => fetch(`https://api.covalenthq.com/v1/${chainName}/approvals/${walletAddress}/?${urlParams}`, {
120
+ headers: {
121
+ "Authorization": `Bearer ${this.apiKey}`,
122
+ "X-Requested-With": userAgent
123
+ }
124
+ }));
125
+ debugOutput(response.url, response.status, startTime);
126
+ if (response.status === 429) {
127
+ try {
128
+ data = await this.LIMIT(() => backoff.backOff(response.url));
129
+ }
130
+ catch (error) {
131
+ success = true;
132
+ return {
133
+ data: null,
134
+ error: true,
135
+ error_code: response.status,
136
+ error_message: error.message
137
+ };
138
+ }
139
+ }
140
+ else {
141
+ data = await response.json();
142
+ }
143
+ const dataClass = new ApprovalsResponse(data.data);
144
+ checkAndModifyResponse(dataClass);
145
+ success = true;
146
+ return {
147
+ data: dataClass,
148
+ error: data.error,
149
+ error_code: data ? data.error_code : response.status,
150
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
151
+ };
152
+ }
153
+ catch (error) {
154
+ success = true;
155
+ return {
156
+ data: null,
157
+ error: true,
158
+ error_code: data ? data.error_code : response.status,
159
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
160
+ };
161
+ }
162
+ }
163
+ }
164
+ /**
165
+ *
166
+ * @param {string} chainName - The chain name eg: `eth-mainnet`.
167
+ * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
168
+
169
+ *
170
+ */
171
+ async getNftApprovals(chainName, walletAddress) {
172
+ let success = false;
173
+ let data;
174
+ let response;
175
+ const backoff = new ExponentialBackoff(this.apiKey, this.debug);
72
176
  while (!success) {
73
177
  try {
74
178
  const urlParams = new URLSearchParams();
75
- response = await fetch(`https://api.covalenthq.com/v1/${chainName}/approvals/${walletAddress}/?${urlParams}`, {
179
+ let startTime;
180
+ if (this.debug) {
181
+ startTime = typeof performance !== 'undefined' ? performance.now() : process.hrtime();
182
+ }
183
+ response = await this.LIMIT(() => fetch(`https://api.covalenthq.com/v1/${chainName}/nft/approvals/${walletAddress}/?${urlParams}`, {
76
184
  headers: {
77
185
  "Authorization": `Bearer ${this.apiKey}`,
78
- "X-Requested-With": Client_1.userAgent
186
+ "X-Requested-With": userAgent
79
187
  }
80
- });
81
- data = await response.json();
82
- if (data.error && data.error_code === 429) {
188
+ }));
189
+ debugOutput(response.url, response.status, startTime);
190
+ if (response.status === 429) {
83
191
  try {
84
- await backoff.backOff();
192
+ data = await this.LIMIT(() => backoff.backOff(response.url));
85
193
  }
86
194
  catch (error) {
87
195
  success = true;
88
196
  return {
89
197
  data: null,
90
- error: data.error,
91
- error_code: data ? data.error_code : response.status,
92
- error_message: data ? data.error_message : "401 Authorization Required"
198
+ error: true,
199
+ error_code: response.status,
200
+ error_message: error.message
93
201
  };
94
202
  }
95
203
  }
96
204
  else {
97
- const dataClass = new ApprovalsResponse(data.data);
98
- (0, ApiHelpers_1.checkAndModifyResponse)(dataClass);
99
- success = true;
100
- return {
101
- data: dataClass,
102
- error: data.error,
103
- error_code: data ? data.error_code : response.status,
104
- error_message: data ? data.error_message : "401 Authorization Required"
105
- };
205
+ data = await response.json();
106
206
  }
207
+ const dataClass = new NftApprovalsResponse(data.data);
208
+ checkAndModifyResponse(dataClass);
209
+ success = true;
210
+ return {
211
+ data: dataClass,
212
+ error: data.error,
213
+ error_code: data ? data.error_code : response.status,
214
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
215
+ };
107
216
  }
108
217
  catch (error) {
109
218
  success = true;
@@ -111,11 +220,10 @@ class SecurityService {
111
220
  data: null,
112
221
  error: true,
113
222
  error_code: data ? data.error_code : response.status,
114
- error_message: data ? data.error_message : "401 Authorization Required"
223
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
115
224
  };
116
225
  }
117
226
  }
118
227
  }
119
228
  }
120
- exports.SecurityService = SecurityService;
121
229
  //# sourceMappingURL=SecurityService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecurityService.js","sourceRoot":"","sources":["../../src/services/SecurityService.ts"],"names":[],"mappings":";;;AAAA,qCAAgE;AAChE,mDAA4D;AAC5D,uCAAoC;AACpC,6CAAqD;AAErD,MAAM,iBAAiB;IAcnB,YAAY,IAAuB;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5G,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAA4B,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/I,CAAC;CACJ;AACD,MAAM,kBAAkB;IA4BpB,YAAY,IAAwB;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,0BAA0B,CAAC;QAClE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAA0B,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvJ,CAAC;CACJ;AACD,MAAM,gBAAgB;IA4BlB,YAAY,IAAsB;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,0BAA0B,CAAC;QAClE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAExC,CAAC;CACJ;AACD;;;GAGG;AAEH,MAAa,eAAe;IACxB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAClC,CAAC;IAGD;;;;;OAKG;IACI,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,aAAqB;QAC9D,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,IAAiC,CAAC;QACtC,IAAI,QAAQ,CAAC;QACb,MAAM,OAAO,GAAG,IAAI,4BAAkB,EAAE,CAAC;QACzC,OAAO,CAAC,OAAO,EAAE;YACb,IAAI;gBACA,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;gBAGxC,QAAQ,GAAG,MAAM,KAAK,CAAC,iCAAiC,SAAS,cAAc,aAAa,KAAK,SAAS,EAAE,EAAE;oBAC1G,OAAO,EAAE;wBACL,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;wBACxC,kBAAkB,EAAE,kBAAS;qBAChC;iBACJ,CAAC,CAAC;gBACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;oBACvC,IAAI;wBACA,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;qBAC3B;oBAAC,OAAO,KAAK,EAAE;wBACZ,OAAO,GAAG,IAAI,CAAC;wBACf,OAAO;4BACH,IAAI,EAAE,IAAI;4BACV,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;4BACpD,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,4BAA4B;yBAC1E,CAAC;qBACL;iBACJ;qBAAM;oBACH,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnD,IAAA,mCAAsB,EAAC,SAAS,CAAC,CAAC;oBAClC,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO;wBACH,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;wBACpD,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,4BAA4B;qBAC1E,CAAC;iBACL;aACJ;YAAC,OAAO,KAAK,EAAE;gBACZ,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO;oBACH,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;oBACpD,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,4BAA4B;iBAC1E,CAAC;aACL;SACJ;IACL,CAAC;CAGJ;AAhED,0CAgEC"}
1
+ {"version":3,"file":"SecurityService.js","sourceRoot":"","sources":["../../src/services/SecurityService.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Chains, Quotes, Response } from "./Client";
1
+ import { Chain, Quote, Response } from "./CovalentClient";
2
2
  declare class TransactionResponse {
3
3
  /** * The timestamp when the response was generated. Useful to show data staleness to users. */
4
4
  updated_at: Date;
@@ -15,15 +15,23 @@ declare class Transaction {
15
15
  block_signed_at: Date;
16
16
  /** * The height of the block. */
17
17
  block_height: number;
18
+ /** * The hash of the block. Use it to remove transactions from re-org-ed blocks. */
19
+ block_hash: string;
18
20
  /** * The requested transaction hash. */
19
21
  tx_hash: string;
20
22
  /** * The offset is the position of the tx in the block. */
21
23
  tx_offset: number;
22
24
  /** * Indicates whether a transaction failed or succeeded. */
23
25
  successful: boolean;
26
+ /** * The sender's wallet address. */
24
27
  from_address: string;
28
+ /** * The address of the miner. */
29
+ miner_address: string;
30
+ /** * The label of `from` address. */
25
31
  from_address_label: string;
32
+ /** * The receiver's wallet address. */
26
33
  to_address: string;
34
+ /** * The label of `to` address. */
27
35
  to_address_label: string;
28
36
  /** * The value attached to this tx. */
29
37
  value: bigint | null;
@@ -34,7 +42,9 @@ declare class Transaction {
34
42
  /** * The requested chain native gas token metadata. */
35
43
  gas_metadata: ContractMetadata;
36
44
  gas_offered: string;
45
+ /** * The gas spent for this tx. */
37
46
  gas_spent: string;
47
+ /** * The gas price at the time of this tx. */
38
48
  gas_price: string;
39
49
  /** * The total transaction fees (`gas_price` * `gas_spent`) paid for this tx, denoted in wei. */
40
50
  fees_paid: bigint | null;
@@ -50,7 +60,10 @@ declare class Transaction {
50
60
  nft_sale_details: NftSalesReport;
51
61
  /** * The details for the lending protocol transaction. */
52
62
  lending_details: LendingReport;
63
+ /** * The log events. */
53
64
  log_events: LogEvent[];
65
+ /** * The details related to the safe transaction. */
66
+ safe_details: SafeDetails[];
54
67
  constructor(data: Transaction);
55
68
  }
56
69
  declare class ContractMetadata {
@@ -69,6 +82,7 @@ declare class ContractMetadata {
69
82
  constructor(data: ContractMetadata);
70
83
  }
71
84
  declare class DexReport {
85
+ /** * The offset is the position of the log entry within an event log. */
72
86
  log_offset: number;
73
87
  /** * Stores the name of the protocol that facilitated the event. */
74
88
  protocol_name: string;
@@ -132,6 +146,7 @@ declare class DexReport {
132
146
  constructor(data: DexReport);
133
147
  }
134
148
  declare class NftSalesReport {
149
+ /** * The offset is the position of the log entry within an event log. */
135
150
  log_offset: number;
136
151
  /** * Stores the topic event hash. All events have a unique topic event hash. */
137
152
  topic0: string;
@@ -183,6 +198,7 @@ declare class NftSalesReport {
183
198
  constructor(data: NftSalesReport);
184
199
  }
185
200
  declare class LendingReport {
201
+ /** * The offset is the position of the log entry within an event log. */
186
202
  log_offset: number;
187
203
  /** * Stores the name of the lending protocol that facilitated the event. */
188
204
  protocol_name: string;
@@ -262,22 +278,38 @@ declare class LogEvent {
262
278
  block_height: number;
263
279
  /** * The offset is the position of the tx in the block. */
264
280
  tx_offset: number;
281
+ /** * The offset is the position of the log entry within an event log. */
265
282
  log_offset: number;
266
283
  /** * The requested transaction hash. */
267
284
  tx_hash: string;
285
+ /** * The log topics in raw data. */
268
286
  raw_log_topics: string;
269
287
  /** * Use contract decimals to format the token balance for display purposes - divide the balance by `10^{contract_decimals}`. */
270
288
  sender_contract_decimals: number;
289
+ /** * The name of the sender. */
271
290
  sender_name: string;
272
291
  sender_contract_ticker_symbol: string;
292
+ /** * The address of the sender. */
273
293
  sender_address: string;
294
+ /** * The label of the sender address. */
274
295
  sender_address_label: string;
275
296
  /** * The contract logo URL. */
276
297
  sender_logo_url: string;
298
+ /** * The log events in raw. */
277
299
  raw_log_data: string;
300
+ /** * The decoded item. */
278
301
  decoded: DecodedItem;
279
302
  constructor(data: LogEvent);
280
303
  }
304
+ declare class SafeDetails {
305
+ /** * The address that signed the safe transaction. */
306
+ owner_address: string;
307
+ /** * The signature of the owner for the safe transaction. */
308
+ signature: string;
309
+ /** * The type of safe signature used. */
310
+ signature_type: string;
311
+ constructor(data: SafeDetails);
312
+ }
281
313
  declare class DecodedItem {
282
314
  name: string;
283
315
  signature: string;
@@ -336,7 +368,7 @@ declare class TransactionSummary {
336
368
  }
337
369
  export interface GetTransactionQueryParamOpts {
338
370
  /** * The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`. */
339
- quoteCurrency?: Quotes;
371
+ quoteCurrency?: Quote;
340
372
  /** * Omit log events. */
341
373
  noLogs?: boolean;
342
374
  /** * 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. */
@@ -345,25 +377,34 @@ export interface GetTransactionQueryParamOpts {
345
377
  withNftSales?: boolean;
346
378
  /** * 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. */
347
379
  withLending?: boolean;
380
+ /** * Include safe details. */
381
+ withSafe?: boolean;
348
382
  }
349
383
  export interface GetAllTransactionsForAddressQueryParamOpts {
350
384
  /** * The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`. */
351
- quoteCurrency?: Quotes;
385
+ quoteCurrency?: Quote;
352
386
  /** * Omit log events. */
353
387
  noLogs?: boolean;
354
388
  /** * Sort the transactions in ascending chronological order. By default, it's set to `false` and returns transactions in descending chronological order. */
355
389
  blockSignedAtAsc?: boolean;
390
+ /** * Include safe details. */
391
+ withSafe?: boolean;
356
392
  }
357
393
  export interface GetTransactionsForBlockQueryParamOpts {
358
394
  /** * The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`. */
359
- quoteCurrency?: Quotes;
395
+ quoteCurrency?: Quote;
360
396
  /** * Omit log events. */
361
397
  noLogs?: boolean;
362
398
  }
363
399
  export declare class TransactionService {
364
400
  private apiKey;
365
- constructor(apiKey: string);
401
+ private debug;
402
+ private threadCount;
403
+ private LIMIT;
404
+ constructor(apiKey: string, debug?: boolean, threadCount?: number);
366
405
  /**
406
+ *
407
+ * Commonly used to fetch and render a single transaction including its decoded log events. Additionally return semantically decoded information for DEX trades, lending and NFT sales.
367
408
  *
368
409
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
369
410
  * @param {string} txHash - The transaction hash.
@@ -373,10 +414,13 @@ export declare class TransactionService {
373
414
  * - `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.
374
415
  * - `withNftSales`: Decoded NFT sales details including marketplace (e.g. Opensea) and cached media links. Additional 0.05 credits charged if data available.
375
416
  * - `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.
417
+ * - `withSafe`: Include safe details.
376
418
  *
377
419
  */
378
- getTransaction(chainName: Chains, txHash: string, queryParamOpts?: GetTransactionQueryParamOpts): Promise<Response<TransactionResponse>>;
420
+ getTransaction(chainName: Chain, txHash: string, queryParamOpts?: GetTransactionQueryParamOpts): Promise<Response<TransactionResponse>>;
379
421
  /**
422
+ *
423
+ * Commonly used to fetch and render the most recent transactions involving an address. Frequently seen in wallet applications.
380
424
  *
381
425
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
382
426
  * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
@@ -384,10 +428,13 @@ export declare class TransactionService {
384
428
  * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
385
429
  * - `noLogs`: Omit log events.
386
430
  * - `blockSignedAtAsc`: Sort the transactions in ascending chronological order. By default, it's set to `false` and returns transactions in descending chronological order.
431
+ * - `withSafe`: Include safe details.
387
432
  *
388
433
  */
389
- getAllTransactionsForAddress(chainName: Chains, walletAddress: string, queryParamOpts?: GetAllTransactionsForAddressQueryParamOpts): AsyncIterable<Transaction>;
434
+ getAllTransactionsForAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetAllTransactionsForAddressQueryParamOpts): AsyncIterable<Transaction>;
390
435
  /**
436
+ *
437
+ * Commonly used to fetch all transactions including their decoded log events in a block and further flag interesting wallets or transactions.
391
438
  *
392
439
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
393
440
  * @param {number} blockHeight - The requested block height.
@@ -396,13 +443,15 @@ export declare class TransactionService {
396
443
  * - `noLogs`: Omit log events.
397
444
  *
398
445
  */
399
- getTransactionsForBlock(chainName: Chains, blockHeight: number, queryParamOpts?: GetTransactionsForBlockQueryParamOpts): Promise<Response<TransactionsBlockResponse>>;
446
+ getTransactionsForBlock(chainName: Chain, blockHeight: number, queryParamOpts?: GetTransactionsForBlockQueryParamOpts): Promise<Response<TransactionsBlockResponse>>;
400
447
  /**
448
+ *
449
+ * Commonly used to fetch the earliest and latest transactions, and the transaction count for a wallet. Calculate the age of the wallet and the time it has been idle and quickly gain insights into their engagement with web3.
401
450
  *
402
451
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
403
452
  * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
404
453
  *
405
454
  */
406
- getTransactionSummary(chainName: Chains, walletAddress: string): Promise<Response<TransactionsSummaryResponse>>;
455
+ getTransactionSummary(chainName: Chain, walletAddress: string): Promise<Response<TransactionsSummaryResponse>>;
407
456
  }
408
457
  export {};