@webacy-xyz/sdk-trading 1.1.0 → 1.2.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.
@@ -92,48 +92,6 @@ class TradingClient extends sdk_core_1.BaseClient {
92
92
  this.tradingLite = new trading_lite_1.TradingLiteResource(this.httpClient, this.defaultChain);
93
93
  this.tokens = new tokens_1.TokensResource(this.httpClient, this.defaultChain);
94
94
  }
95
- /**
96
- * Add a request interceptor
97
- *
98
- * @example
99
- * ```typescript
100
- * client.addRequestInterceptor((url, config) => {
101
- * console.log(`Making request to ${url}`);
102
- * return config;
103
- * });
104
- * ```
105
- */
106
- addRequestInterceptor(interceptor) {
107
- super.addRequestInterceptor(interceptor);
108
- }
109
- /**
110
- * Add a response interceptor
111
- *
112
- * @example
113
- * ```typescript
114
- * client.addResponseInterceptor((response) => {
115
- * console.log(`Received ${response.status} response`);
116
- * return response;
117
- * });
118
- * ```
119
- */
120
- addResponseInterceptor(interceptor) {
121
- super.addResponseInterceptor(interceptor);
122
- }
123
- /**
124
- * Add an error interceptor
125
- *
126
- * @example
127
- * ```typescript
128
- * client.addErrorInterceptor((error) => {
129
- * console.error(`Request failed: ${error.message}`);
130
- * return error;
131
- * });
132
- * ```
133
- */
134
- addErrorInterceptor(interceptor) {
135
- super.addErrorInterceptor(interceptor);
136
- }
137
95
  }
138
96
  exports.TradingClient = TradingClient;
139
97
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;AAAA,mDAM8B;AAC9B,iEAAqE;AACrE,2DAA+D;AAC/D,+CAAoD;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAa,aAAc,SAAQ,qBAAU;IAC3C;;;;;;;;;OASG;IACa,cAAc,CAAyB;IAEvD;;;;;OAKG;IACa,WAAW,CAAsB;IAEjD;;;;OAIG;IACa,MAAM,CAAiB;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,MAA0B;QACpC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,8DAA8D;QAC9D,IAAI,CAAC,cAAc,GAAG,IAAI,wCAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,WAAW,GAAG,IAAI,kCAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;;OAUG;IACM,qBAAqB,CAAC,WAA+B;QAC5D,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;OAUG;IACM,sBAAsB,CAAC,WAAgC;QAC9D,KAAK,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;OAUG;IACM,mBAAmB,CAAC,WAA6B;QACxD,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;CACF;AA9GD,sCA8GC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;AAAA,mDAAsE;AACtE,iEAAqE;AACrE,2DAA+D;AAC/D,+CAAoD;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAa,aAAc,SAAQ,qBAAU;IAC3C;;;;;;;;;OASG;IACa,cAAc,CAAyB;IAEvD;;;;;OAKG;IACa,WAAW,CAAsB;IAEjD;;;;OAIG;IACa,MAAM,CAAiB;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,MAA0B;QACpC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,8DAA8D;QAC9D,IAAI,CAAC,cAAc,GAAG,IAAI,wCAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,WAAW,GAAG,IAAI,kCAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;CAIF;AApED,sCAoEC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VALID_TIME_FRAMES = exports.SUPPORTED_TOKEN_ECONOMICS_CHAINS = void 0;
4
+ const sdk_core_1 = require("@webacy-xyz/sdk-core");
5
+ /**
6
+ * Supported chains for token economics
7
+ */
8
+ exports.SUPPORTED_TOKEN_ECONOMICS_CHAINS = [
9
+ sdk_core_1.Chain.ETH,
10
+ sdk_core_1.Chain.BASE,
11
+ sdk_core_1.Chain.BSC,
12
+ sdk_core_1.Chain.POL,
13
+ sdk_core_1.Chain.OPT,
14
+ sdk_core_1.Chain.ARB,
15
+ sdk_core_1.Chain.SOL,
16
+ ];
17
+ /**
18
+ * Valid time frames for OHLCV
19
+ */
20
+ exports.VALID_TIME_FRAMES = ['minute', 'hour', 'day'];
21
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAA,mDAA6C;AAG7C;;GAEG;AACU,QAAA,gCAAgC,GAAY;IACvD,gBAAK,CAAC,GAAG;IACT,gBAAK,CAAC,IAAI;IACV,gBAAK,CAAC,GAAG;IACT,gBAAK,CAAC,GAAG;IACT,gBAAK,CAAC,GAAG;IACT,gBAAK,CAAC,GAAG;IACT,gBAAK,CAAC,GAAG;CACV,CAAC;AAEF;;GAEG;AACU,QAAA,iBAAiB,GAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TokensResource = void 0;
4
4
  const sdk_core_1 = require("@webacy-xyz/sdk-core");
5
+ const constants_1 = require("../constants");
5
6
  /**
6
7
  * Resource for token pools and trending data
7
8
  *
@@ -149,6 +150,147 @@ class TokensResource extends sdk_core_1.BaseResource {
149
150
  });
150
151
  return response.data;
151
152
  }
153
+ /**
154
+ * Get token economics data
155
+ *
156
+ * Returns token economics metrics for a specific date including
157
+ * supply, market cap, price, volume, and holder statistics.
158
+ *
159
+ * @param address - Token address
160
+ * @param options - Request options (chain and metricsDate required)
161
+ * @returns Token economics data
162
+ *
163
+ * @example
164
+ * ```typescript
165
+ * const token = await client.tokens.getToken('0x...', {
166
+ * chain: Chain.ETH,
167
+ * metricsDate: '15-01-2024', // DD-MM-YYYY
168
+ * });
169
+ *
170
+ * console.log(`Token: ${token.name} (${token.symbol})`);
171
+ * console.log(`Price: $${token.metrics.priceUsd}`);
172
+ * console.log(`Market Cap: $${token.metrics.marketCap}`);
173
+ * console.log(`24h Volume: $${token.metrics.volume24h}`);
174
+ * console.log(`Holders: ${token.metrics.holderCount}`);
175
+ * ```
176
+ */
177
+ async getToken(address, options) {
178
+ const { chain, metricsDate } = options;
179
+ this.validateTokenEconomicsChain(chain);
180
+ this.validateAddress(address, chain);
181
+ this.validateMetricsDate(metricsDate);
182
+ const queryParams = new URLSearchParams();
183
+ queryParams.append('chain', chain);
184
+ queryParams.append('metrics-date', metricsDate);
185
+ const response = await this.httpClient.get(`/tokens/${encodeURIComponent(address)}?${queryParams.toString()}`, {
186
+ timeout: options.timeout,
187
+ signal: options.signal,
188
+ });
189
+ return response.data;
190
+ }
191
+ /**
192
+ * Get pool OHLCV data
193
+ *
194
+ * Returns Open, High, Low, Close, Volume data for a liquidity pool
195
+ * at the specified time frame.
196
+ *
197
+ * @param poolAddress - Pool address
198
+ * @param options - Request options
199
+ * @returns Pool OHLCV data
200
+ *
201
+ * @example
202
+ * ```typescript
203
+ * // Get hourly OHLCV data
204
+ * const ohlcv = await client.tokens.getPoolOhlcv('0xPoolAddress', {
205
+ * chain: Chain.ETH,
206
+ * timeFrame: 'hour',
207
+ * limit: 24, // Last 24 hours
208
+ * });
209
+ *
210
+ * console.log(`Pool: ${ohlcv.poolName}`);
211
+ * for (const candle of ohlcv.data) {
212
+ * console.log(`${new Date(candle.timestamp * 1000).toISOString()}`);
213
+ * console.log(` O: ${candle.open} H: ${candle.high} L: ${candle.low} C: ${candle.close}`);
214
+ * console.log(` Volume: ${candle.volume}`);
215
+ * }
216
+ *
217
+ * // Get data before a specific timestamp
218
+ * const historical = await client.tokens.getPoolOhlcv('0xPoolAddress', {
219
+ * chain: Chain.ETH,
220
+ * timeFrame: 'day',
221
+ * beforeTimestamp: 1705363200, // Unix timestamp
222
+ * limit: 30,
223
+ * });
224
+ * ```
225
+ */
226
+ async getPoolOhlcv(poolAddress, options) {
227
+ const { chain, timeFrame } = options;
228
+ this.validateTokenEconomicsChain(chain);
229
+ this.validateAddress(poolAddress, chain);
230
+ this.validateTimeFrame(timeFrame);
231
+ const queryParams = new URLSearchParams();
232
+ queryParams.append('chain', chain);
233
+ queryParams.append('timeFrame', timeFrame);
234
+ if (options.beforeTimestamp !== undefined) {
235
+ queryParams.append('beforeTimestamp', String(options.beforeTimestamp));
236
+ }
237
+ if (options.limit !== undefined) {
238
+ queryParams.append('limit', String(options.limit));
239
+ }
240
+ const response = await this.httpClient.get(`/tokens/pools/${encodeURIComponent(poolAddress)}?${queryParams.toString()}`, {
241
+ timeout: options.timeout,
242
+ signal: options.signal,
243
+ });
244
+ return response.data;
245
+ }
246
+ /**
247
+ * Validate chain is supported for token economics
248
+ */
249
+ validateTokenEconomicsChain(chain) {
250
+ if (!constants_1.SUPPORTED_TOKEN_ECONOMICS_CHAINS.includes(chain)) {
251
+ throw new sdk_core_1.ValidationError(`Chain "${chain}" is not supported for token economics. Supported chains: ${constants_1.SUPPORTED_TOKEN_ECONOMICS_CHAINS.join(', ')}`);
252
+ }
253
+ }
254
+ /**
255
+ * Validate metrics date format (DD-MM-YYYY) and that it's a valid date
256
+ */
257
+ validateMetricsDate(date) {
258
+ if (!date || typeof date !== 'string') {
259
+ throw new sdk_core_1.ValidationError('Metrics date is required.');
260
+ }
261
+ const dateRegex = /^(\d{2})-(\d{2})-(\d{4})$/;
262
+ const match = dateRegex.exec(date);
263
+ if (!match) {
264
+ throw new sdk_core_1.ValidationError('Metrics date must be in DD-MM-YYYY format (e.g., "15-01-2024").');
265
+ }
266
+ const [, dayStr, monthStr, yearStr] = match;
267
+ const day = parseInt(dayStr, 10);
268
+ const month = parseInt(monthStr, 10);
269
+ const year = parseInt(yearStr, 10);
270
+ // Validate month range
271
+ if (month < 1 || month > 12) {
272
+ throw new sdk_core_1.ValidationError(`Invalid month "${monthStr}". Month must be between 01 and 12.`);
273
+ }
274
+ // Validate day range (basic check)
275
+ if (day < 1 || day > 31) {
276
+ throw new sdk_core_1.ValidationError(`Invalid day "${dayStr}". Day must be between 01 and 31.`);
277
+ }
278
+ // Validate actual date (handles leap years, month lengths)
279
+ const parsedDate = new Date(year, month - 1, day);
280
+ if (parsedDate.getFullYear() !== year ||
281
+ parsedDate.getMonth() !== month - 1 ||
282
+ parsedDate.getDate() !== day) {
283
+ throw new sdk_core_1.ValidationError(`Invalid date "${date}". This date does not exist.`);
284
+ }
285
+ }
286
+ /**
287
+ * Validate time frame
288
+ */
289
+ validateTimeFrame(timeFrame) {
290
+ if (!constants_1.VALID_TIME_FRAMES.includes(timeFrame)) {
291
+ throw new sdk_core_1.ValidationError(`Invalid time frame "${timeFrame}". Valid time frames: ${constants_1.VALID_TIME_FRAMES.join(', ')}`);
292
+ }
293
+ }
152
294
  }
153
295
  exports.TokensResource = TokensResource;
154
296
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/resources/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/resources/tokens.ts"],"names":[],"mappings":"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"}
@@ -17,13 +17,8 @@ const sdk_core_1 = require("@webacy-xyz/sdk-core");
17
17
  * console.log(`Bundler % holding: ${analysis.BundlerPercentageHolding}`);
18
18
  * ```
19
19
  */
20
- class TradingLiteResource {
21
- httpClient;
22
- // Note: defaultChain parameter accepted for consistency but not used
23
- // since trading-lite only supports Solana
24
- constructor(httpClient, _defaultChain) {
25
- this.httpClient = httpClient;
26
- }
20
+ class TradingLiteResource extends sdk_core_1.BaseResource {
21
+ // Note: defaultChain parameter accepted for consistency but trading-lite only supports Solana
27
22
  /**
28
23
  * Get simplified bundling and sniper analysis for a token
29
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"trading-lite.js","sourceRoot":"","sources":["../../../src/resources/trading-lite.ts"],"names":[],"mappings":";;;AAAA,mDAM8B;AAG9B;;;;;;;;;;;;;;GAcG;AACH,MAAa,mBAAmB;IAIX;IAHnB,qEAAqE;IACrE,0CAA0C;IAC1C,YACmB,UAAsB,EACvC,aAAqB;QADJ,eAAU,GAAV,UAAU,CAAY;IAEtC,CAAC;IAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,UAA8B,EAAE;QAC7D,qEAAqE;QACrE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;QACpC,IAAI,aAAa,IAAI,aAAa,KAAK,gBAAK,CAAC,GAAG,EAAE,CAAC;YACjD,MAAM,IAAI,0BAAe,CACvB,uDAAuD,MAAM,CAAC,aAAa,CAAC,sDAAsD,CACnI,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,gBAAK,CAAC,GAAG,CAAC;QAExB,8DAA8D;QAC9D,IAAI,CAAC,IAAA,+BAAoB,EAAC,OAAO,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,0BAAe,CACvB,kCAAkC,OAAO,4FAA4F,CACtI,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAsC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAC3E,iBAAiB,kBAAkB,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,EACxE;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF;AA/ED,kDA+EC"}
1
+ {"version":3,"file":"trading-lite.js","sourceRoot":"","sources":["../../../src/resources/trading-lite.ts"],"names":[],"mappings":";;;AAAA,mDAM8B;AAG9B;;;;;;;;;;;;;;GAcG;AACH,MAAa,mBAAoB,SAAQ,uBAAY;IACnD,8FAA8F;IAE9F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,UAA8B,EAAE;QAC7D,qEAAqE;QACrE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;QACpC,IAAI,aAAa,IAAI,aAAa,KAAK,gBAAK,CAAC,GAAG,EAAE,CAAC;YACjD,MAAM,IAAI,0BAAe,CACvB,uDAAuD,MAAM,CAAC,aAAa,CAAC,sDAAsD,CACnI,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,gBAAK,CAAC,GAAG,CAAC;QAExB,8DAA8D;QAC9D,IAAI,CAAC,IAAA,+BAAoB,EAAC,OAAO,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,0BAAe,CACvB,kCAAkC,OAAO,4FAA4F,CACtI,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAsC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAC3E,iBAAiB,kBAAkB,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,EACxE;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF;AA1ED,kDA0EC"}
@@ -1,4 +1,4 @@
1
- import { BaseClient, } from '@webacy-xyz/sdk-core';
1
+ import { BaseClient } from '@webacy-xyz/sdk-core';
2
2
  import { HolderAnalysisResource } from './resources/holder-analysis.js';
3
3
  import { TradingLiteResource } from './resources/trading-lite.js';
4
4
  import { TokensResource } from './resources/tokens.js';
@@ -89,47 +89,5 @@ export class TradingClient extends BaseClient {
89
89
  this.tradingLite = new TradingLiteResource(this.httpClient, this.defaultChain);
90
90
  this.tokens = new TokensResource(this.httpClient, this.defaultChain);
91
91
  }
92
- /**
93
- * Add a request interceptor
94
- *
95
- * @example
96
- * ```typescript
97
- * client.addRequestInterceptor((url, config) => {
98
- * console.log(`Making request to ${url}`);
99
- * return config;
100
- * });
101
- * ```
102
- */
103
- addRequestInterceptor(interceptor) {
104
- super.addRequestInterceptor(interceptor);
105
- }
106
- /**
107
- * Add a response interceptor
108
- *
109
- * @example
110
- * ```typescript
111
- * client.addResponseInterceptor((response) => {
112
- * console.log(`Received ${response.status} response`);
113
- * return response;
114
- * });
115
- * ```
116
- */
117
- addResponseInterceptor(interceptor) {
118
- super.addResponseInterceptor(interceptor);
119
- }
120
- /**
121
- * Add an error interceptor
122
- *
123
- * @example
124
- * ```typescript
125
- * client.addErrorInterceptor((error) => {
126
- * console.error(`Request failed: ${error.message}`);
127
- * return error;
128
- * });
129
- * ```
130
- */
131
- addErrorInterceptor(interceptor) {
132
- super.addErrorInterceptor(interceptor);
133
- }
134
92
  }
135
93
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAKX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3C;;;;;;;;;OASG;IACa,cAAc,CAAyB;IAEvD;;;;;OAKG;IACa,WAAW,CAAsB;IAEjD;;;;OAIG;IACa,MAAM,CAAiB;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,MAA0B;QACpC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,8DAA8D;QAC9D,IAAI,CAAC,cAAc,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;;OAUG;IACM,qBAAqB,CAAC,WAA+B;QAC5D,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;OAUG;IACM,sBAAsB,CAAC,WAAgC;QAC9D,KAAK,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;OAUG;IACM,mBAAmB,CAAC,WAA6B;QACxD,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;CACF"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3C;;;;;;;;;OASG;IACa,cAAc,CAAyB;IAEvD;;;;;OAKG;IACa,WAAW,CAAsB;IAEjD;;;;OAIG;IACa,MAAM,CAAiB;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,MAA0B;QACpC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,8DAA8D;QAC9D,IAAI,CAAC,cAAc,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;CAIF"}
@@ -0,0 +1,18 @@
1
+ import { Chain } from '@webacy-xyz/sdk-core';
2
+ /**
3
+ * Supported chains for token economics
4
+ */
5
+ export const SUPPORTED_TOKEN_ECONOMICS_CHAINS = [
6
+ Chain.ETH,
7
+ Chain.BASE,
8
+ Chain.BSC,
9
+ Chain.POL,
10
+ Chain.OPT,
11
+ Chain.ARB,
12
+ Chain.SOL,
13
+ ];
14
+ /**
15
+ * Valid time frames for OHLCV
16
+ */
17
+ export const VALID_TIME_FRAMES = ['minute', 'hour', 'day'];
18
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAG7C;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAY;IACvD,KAAK,CAAC,GAAG;IACT,KAAK,CAAC,IAAI;IACV,KAAK,CAAC,GAAG;IACT,KAAK,CAAC,GAAG;IACT,KAAK,CAAC,GAAG;IACT,KAAK,CAAC,GAAG;IACT,KAAK,CAAC,GAAG;CACV,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
- import { BaseResource } from '@webacy-xyz/sdk-core';
1
+ import { BaseResource, ValidationError } from '@webacy-xyz/sdk-core';
2
+ import { SUPPORTED_TOKEN_ECONOMICS_CHAINS, VALID_TIME_FRAMES } from '../constants.js';
2
3
  /**
3
4
  * Resource for token pools and trending data
4
5
  *
@@ -146,5 +147,146 @@ export class TokensResource extends BaseResource {
146
147
  });
147
148
  return response.data;
148
149
  }
150
+ /**
151
+ * Get token economics data
152
+ *
153
+ * Returns token economics metrics for a specific date including
154
+ * supply, market cap, price, volume, and holder statistics.
155
+ *
156
+ * @param address - Token address
157
+ * @param options - Request options (chain and metricsDate required)
158
+ * @returns Token economics data
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * const token = await client.tokens.getToken('0x...', {
163
+ * chain: Chain.ETH,
164
+ * metricsDate: '15-01-2024', // DD-MM-YYYY
165
+ * });
166
+ *
167
+ * console.log(`Token: ${token.name} (${token.symbol})`);
168
+ * console.log(`Price: $${token.metrics.priceUsd}`);
169
+ * console.log(`Market Cap: $${token.metrics.marketCap}`);
170
+ * console.log(`24h Volume: $${token.metrics.volume24h}`);
171
+ * console.log(`Holders: ${token.metrics.holderCount}`);
172
+ * ```
173
+ */
174
+ async getToken(address, options) {
175
+ const { chain, metricsDate } = options;
176
+ this.validateTokenEconomicsChain(chain);
177
+ this.validateAddress(address, chain);
178
+ this.validateMetricsDate(metricsDate);
179
+ const queryParams = new URLSearchParams();
180
+ queryParams.append('chain', chain);
181
+ queryParams.append('metrics-date', metricsDate);
182
+ const response = await this.httpClient.get(`/tokens/${encodeURIComponent(address)}?${queryParams.toString()}`, {
183
+ timeout: options.timeout,
184
+ signal: options.signal,
185
+ });
186
+ return response.data;
187
+ }
188
+ /**
189
+ * Get pool OHLCV data
190
+ *
191
+ * Returns Open, High, Low, Close, Volume data for a liquidity pool
192
+ * at the specified time frame.
193
+ *
194
+ * @param poolAddress - Pool address
195
+ * @param options - Request options
196
+ * @returns Pool OHLCV data
197
+ *
198
+ * @example
199
+ * ```typescript
200
+ * // Get hourly OHLCV data
201
+ * const ohlcv = await client.tokens.getPoolOhlcv('0xPoolAddress', {
202
+ * chain: Chain.ETH,
203
+ * timeFrame: 'hour',
204
+ * limit: 24, // Last 24 hours
205
+ * });
206
+ *
207
+ * console.log(`Pool: ${ohlcv.poolName}`);
208
+ * for (const candle of ohlcv.data) {
209
+ * console.log(`${new Date(candle.timestamp * 1000).toISOString()}`);
210
+ * console.log(` O: ${candle.open} H: ${candle.high} L: ${candle.low} C: ${candle.close}`);
211
+ * console.log(` Volume: ${candle.volume}`);
212
+ * }
213
+ *
214
+ * // Get data before a specific timestamp
215
+ * const historical = await client.tokens.getPoolOhlcv('0xPoolAddress', {
216
+ * chain: Chain.ETH,
217
+ * timeFrame: 'day',
218
+ * beforeTimestamp: 1705363200, // Unix timestamp
219
+ * limit: 30,
220
+ * });
221
+ * ```
222
+ */
223
+ async getPoolOhlcv(poolAddress, options) {
224
+ const { chain, timeFrame } = options;
225
+ this.validateTokenEconomicsChain(chain);
226
+ this.validateAddress(poolAddress, chain);
227
+ this.validateTimeFrame(timeFrame);
228
+ const queryParams = new URLSearchParams();
229
+ queryParams.append('chain', chain);
230
+ queryParams.append('timeFrame', timeFrame);
231
+ if (options.beforeTimestamp !== undefined) {
232
+ queryParams.append('beforeTimestamp', String(options.beforeTimestamp));
233
+ }
234
+ if (options.limit !== undefined) {
235
+ queryParams.append('limit', String(options.limit));
236
+ }
237
+ const response = await this.httpClient.get(`/tokens/pools/${encodeURIComponent(poolAddress)}?${queryParams.toString()}`, {
238
+ timeout: options.timeout,
239
+ signal: options.signal,
240
+ });
241
+ return response.data;
242
+ }
243
+ /**
244
+ * Validate chain is supported for token economics
245
+ */
246
+ validateTokenEconomicsChain(chain) {
247
+ if (!SUPPORTED_TOKEN_ECONOMICS_CHAINS.includes(chain)) {
248
+ throw new ValidationError(`Chain "${chain}" is not supported for token economics. Supported chains: ${SUPPORTED_TOKEN_ECONOMICS_CHAINS.join(', ')}`);
249
+ }
250
+ }
251
+ /**
252
+ * Validate metrics date format (DD-MM-YYYY) and that it's a valid date
253
+ */
254
+ validateMetricsDate(date) {
255
+ if (!date || typeof date !== 'string') {
256
+ throw new ValidationError('Metrics date is required.');
257
+ }
258
+ const dateRegex = /^(\d{2})-(\d{2})-(\d{4})$/;
259
+ const match = dateRegex.exec(date);
260
+ if (!match) {
261
+ throw new ValidationError('Metrics date must be in DD-MM-YYYY format (e.g., "15-01-2024").');
262
+ }
263
+ const [, dayStr, monthStr, yearStr] = match;
264
+ const day = parseInt(dayStr, 10);
265
+ const month = parseInt(monthStr, 10);
266
+ const year = parseInt(yearStr, 10);
267
+ // Validate month range
268
+ if (month < 1 || month > 12) {
269
+ throw new ValidationError(`Invalid month "${monthStr}". Month must be between 01 and 12.`);
270
+ }
271
+ // Validate day range (basic check)
272
+ if (day < 1 || day > 31) {
273
+ throw new ValidationError(`Invalid day "${dayStr}". Day must be between 01 and 31.`);
274
+ }
275
+ // Validate actual date (handles leap years, month lengths)
276
+ const parsedDate = new Date(year, month - 1, day);
277
+ if (parsedDate.getFullYear() !== year ||
278
+ parsedDate.getMonth() !== month - 1 ||
279
+ parsedDate.getDate() !== day) {
280
+ throw new ValidationError(`Invalid date "${date}". This date does not exist.`);
281
+ }
282
+ }
283
+ /**
284
+ * Validate time frame
285
+ */
286
+ validateTimeFrame(timeFrame) {
287
+ if (!VALID_TIME_FRAMES.includes(timeFrame)) {
288
+ throw new ValidationError(`Invalid time frame "${timeFrame}". Valid time frames: ${VALID_TIME_FRAMES.join(', ')}`);
289
+ }
290
+ }
149
291
  }
150
292
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/resources/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/resources/tokens.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ValidationError, isValidSolanaAddress, Chain, } from '@webacy-xyz/sdk-core';
1
+ import { BaseResource, ValidationError, isValidSolanaAddress, Chain, } from '@webacy-xyz/sdk-core';
2
2
  /**
3
3
  * Resource for simplified trading analysis
4
4
  *
@@ -14,13 +14,8 @@ import { ValidationError, isValidSolanaAddress, Chain, } from '@webacy-xyz/sdk-c
14
14
  * console.log(`Bundler % holding: ${analysis.BundlerPercentageHolding}`);
15
15
  * ```
16
16
  */
17
- export class TradingLiteResource {
18
- httpClient;
19
- // Note: defaultChain parameter accepted for consistency but not used
20
- // since trading-lite only supports Solana
21
- constructor(httpClient, _defaultChain) {
22
- this.httpClient = httpClient;
23
- }
17
+ export class TradingLiteResource extends BaseResource {
18
+ // Note: defaultChain parameter accepted for consistency but trading-lite only supports Solana
24
19
  /**
25
20
  * Get simplified bundling and sniper analysis for a token
26
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"trading-lite.js","sourceRoot":"","sources":["../../../src/resources/trading-lite.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EACf,oBAAoB,EACpB,KAAK,GACN,MAAM,sBAAsB,CAAC;AAG9B;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,mBAAmB;IAIX;IAHnB,qEAAqE;IACrE,0CAA0C;IAC1C,YACmB,UAAsB,EACvC,aAAqB;QADJ,eAAU,GAAV,UAAU,CAAY;IAEtC,CAAC;IAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,UAA8B,EAAE;QAC7D,qEAAqE;QACrE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;QACpC,IAAI,aAAa,IAAI,aAAa,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;YACjD,MAAM,IAAI,eAAe,CACvB,uDAAuD,MAAM,CAAC,aAAa,CAAC,sDAAsD,CACnI,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;QAExB,8DAA8D;QAC9D,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,eAAe,CACvB,kCAAkC,OAAO,4FAA4F,CACtI,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAsC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAC3E,iBAAiB,kBAAkB,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,EACxE;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"trading-lite.js","sourceRoot":"","sources":["../../../src/resources/trading-lite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,eAAe,EACf,oBAAoB,EACpB,KAAK,GACN,MAAM,sBAAsB,CAAC;AAG9B;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IACnD,8FAA8F;IAE9F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,UAA8B,EAAE;QAC7D,qEAAqE;QACrE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;QACpC,IAAI,aAAa,IAAI,aAAa,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;YACjD,MAAM,IAAI,eAAe,CACvB,uDAAuD,MAAM,CAAC,aAAa,CAAC,sDAAsD,CACnI,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;QAExB,8DAA8D;QAC9D,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,eAAe,CACvB,kCAAkC,OAAO,4FAA4F,CACtI,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAsC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAC3E,iBAAiB,kBAAkB,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,EACxE;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import { BaseClient, WebacyClientConfig, RequestInterceptor, ResponseInterceptor, ErrorInterceptor } from '@webacy-xyz/sdk-core';
1
+ import { BaseClient, WebacyClientConfig } from '@webacy-xyz/sdk-core';
2
2
  import { HolderAnalysisResource } from './resources/holder-analysis';
3
3
  import { TradingLiteResource } from './resources/trading-lite';
4
4
  import { TokensResource } from './resources/tokens';
@@ -83,41 +83,5 @@ export declare class TradingClient extends BaseClient {
83
83
  * ```
84
84
  */
85
85
  constructor(config: WebacyClientConfig);
86
- /**
87
- * Add a request interceptor
88
- *
89
- * @example
90
- * ```typescript
91
- * client.addRequestInterceptor((url, config) => {
92
- * console.log(`Making request to ${url}`);
93
- * return config;
94
- * });
95
- * ```
96
- */
97
- addRequestInterceptor(interceptor: RequestInterceptor): void;
98
- /**
99
- * Add a response interceptor
100
- *
101
- * @example
102
- * ```typescript
103
- * client.addResponseInterceptor((response) => {
104
- * console.log(`Received ${response.status} response`);
105
- * return response;
106
- * });
107
- * ```
108
- */
109
- addResponseInterceptor(interceptor: ResponseInterceptor): void;
110
- /**
111
- * Add an error interceptor
112
- *
113
- * @example
114
- * ```typescript
115
- * client.addErrorInterceptor((error) => {
116
- * console.error(`Request failed: ${error.message}`);
117
- * return error;
118
- * });
119
- * ```
120
- */
121
- addErrorInterceptor(interceptor: ErrorInterceptor): void;
122
86
  }
123
87
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C;;;;;;;;;OASG;IACH,SAAgB,cAAc,EAAE,sBAAsB,CAAC;IAEvD;;;;;OAKG;IACH,SAAgB,WAAW,EAAE,mBAAmB,CAAC;IAEjD;;;;OAIG;IACH,SAAgB,MAAM,EAAE,cAAc,CAAC;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;gBACS,MAAM,EAAE,kBAAkB;IAStC;;;;;;;;;;OAUG;IACM,qBAAqB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAIrE;;;;;;;;;;OAUG;IACM,sBAAsB,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAIvE;;;;;;;;;;OAUG;IACM,mBAAmB,CAAC,WAAW,EAAE,gBAAgB,GAAG,IAAI;CAGlE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C;;;;;;;;;OASG;IACH,SAAgB,cAAc,EAAE,sBAAsB,CAAC;IAEvD;;;;;OAKG;IACH,SAAgB,WAAW,EAAE,mBAAmB,CAAC;IAEjD;;;;OAIG;IACH,SAAgB,MAAM,EAAE,cAAc,CAAC;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;gBACS,MAAM,EAAE,kBAAkB;CAWvC"}
@@ -0,0 +1,11 @@
1
+ import { Chain } from '@webacy-xyz/sdk-core';
2
+ import type { OhlcvTimeFrame } from './types/tokens';
3
+ /**
4
+ * Supported chains for token economics
5
+ */
6
+ export declare const SUPPORTED_TOKEN_ECONOMICS_CHAINS: Chain[];
7
+ /**
8
+ * Valid time frames for OHLCV
9
+ */
10
+ export declare const VALID_TIME_FRAMES: OhlcvTimeFrame[];
11
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,KAAK,EAQnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAA8B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { BaseResource } from '@webacy-xyz/sdk-core';
2
- import { PoolsResponse, TrendingTokensResponse, TrendingPoolsResponse, TokenPoolsOptions, TrendingOptions } from '../types';
2
+ import { PoolsResponse, TrendingTokensResponse, TrendingPoolsResponse, TokenPoolsOptions, TrendingOptions, TokenEconomicsResponse, TokenEconomicsOptions, PoolOhlcvResponse, PoolOhlcvOptions } from '../types';
3
3
  /**
4
4
  * Resource for token pools and trending data
5
5
  *
@@ -105,5 +105,78 @@ export declare class TokensResource extends BaseResource {
105
105
  * ```
106
106
  */
107
107
  getTrendingPools(options?: TrendingOptions): Promise<TrendingPoolsResponse>;
108
+ /**
109
+ * Get token economics data
110
+ *
111
+ * Returns token economics metrics for a specific date including
112
+ * supply, market cap, price, volume, and holder statistics.
113
+ *
114
+ * @param address - Token address
115
+ * @param options - Request options (chain and metricsDate required)
116
+ * @returns Token economics data
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * const token = await client.tokens.getToken('0x...', {
121
+ * chain: Chain.ETH,
122
+ * metricsDate: '15-01-2024', // DD-MM-YYYY
123
+ * });
124
+ *
125
+ * console.log(`Token: ${token.name} (${token.symbol})`);
126
+ * console.log(`Price: $${token.metrics.priceUsd}`);
127
+ * console.log(`Market Cap: $${token.metrics.marketCap}`);
128
+ * console.log(`24h Volume: $${token.metrics.volume24h}`);
129
+ * console.log(`Holders: ${token.metrics.holderCount}`);
130
+ * ```
131
+ */
132
+ getToken(address: string, options: TokenEconomicsOptions): Promise<TokenEconomicsResponse>;
133
+ /**
134
+ * Get pool OHLCV data
135
+ *
136
+ * Returns Open, High, Low, Close, Volume data for a liquidity pool
137
+ * at the specified time frame.
138
+ *
139
+ * @param poolAddress - Pool address
140
+ * @param options - Request options
141
+ * @returns Pool OHLCV data
142
+ *
143
+ * @example
144
+ * ```typescript
145
+ * // Get hourly OHLCV data
146
+ * const ohlcv = await client.tokens.getPoolOhlcv('0xPoolAddress', {
147
+ * chain: Chain.ETH,
148
+ * timeFrame: 'hour',
149
+ * limit: 24, // Last 24 hours
150
+ * });
151
+ *
152
+ * console.log(`Pool: ${ohlcv.poolName}`);
153
+ * for (const candle of ohlcv.data) {
154
+ * console.log(`${new Date(candle.timestamp * 1000).toISOString()}`);
155
+ * console.log(` O: ${candle.open} H: ${candle.high} L: ${candle.low} C: ${candle.close}`);
156
+ * console.log(` Volume: ${candle.volume}`);
157
+ * }
158
+ *
159
+ * // Get data before a specific timestamp
160
+ * const historical = await client.tokens.getPoolOhlcv('0xPoolAddress', {
161
+ * chain: Chain.ETH,
162
+ * timeFrame: 'day',
163
+ * beforeTimestamp: 1705363200, // Unix timestamp
164
+ * limit: 30,
165
+ * });
166
+ * ```
167
+ */
168
+ getPoolOhlcv(poolAddress: string, options: PoolOhlcvOptions): Promise<PoolOhlcvResponse>;
169
+ /**
170
+ * Validate chain is supported for token economics
171
+ */
172
+ private validateTokenEconomicsChain;
173
+ /**
174
+ * Validate metrics date format (DD-MM-YYYY) and that it's a valid date
175
+ */
176
+ private validateMetricsDate;
177
+ /**
178
+ * Validate time frame
179
+ */
180
+ private validateTimeFrame;
108
181
  }
109
182
  //# sourceMappingURL=tokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/resources/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBxF;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,WAAW,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAsBjF;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,gBAAgB,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAqBtF"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/resources/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAA0B,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,UAAU,CAAC;AAGlB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBxF;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,WAAW,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAsBjF;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,gBAAgB,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsBrF;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAqBhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4B9F;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAQnC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAO1B"}
@@ -1,4 +1,4 @@
1
- import { HttpClient, Chain } from '@webacy-xyz/sdk-core';
1
+ import { BaseResource } from '@webacy-xyz/sdk-core';
2
2
  import { TradingLiteAnalysis, TradingLiteOptions } from '../types';
3
3
  /**
4
4
  * Resource for simplified trading analysis
@@ -15,9 +15,7 @@ import { TradingLiteAnalysis, TradingLiteOptions } from '../types';
15
15
  * console.log(`Bundler % holding: ${analysis.BundlerPercentageHolding}`);
16
16
  * ```
17
17
  */
18
- export declare class TradingLiteResource {
19
- private readonly httpClient;
20
- constructor(httpClient: HttpClient, _defaultChain?: Chain);
18
+ export declare class TradingLiteResource extends BaseResource {
21
19
  /**
22
20
  * Get simplified bundling and sniper analysis for a token
23
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"trading-lite.d.ts","sourceRoot":"","sources":["../../../src/resources/trading-lite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAIV,KAAK,EACN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,mBAAmB;IAI5B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU,EACvC,aAAa,CAAC,EAAE,KAAK;IAGvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CA8B/F"}
1
+ {"version":3,"file":"trading-lite.d.ts","sourceRoot":"","sources":["../../../src/resources/trading-lite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAKb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IAGnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CA8B/F"}
@@ -1,4 +1,4 @@
1
1
  export type { TokenHolder, TokenHolderActivity, BuyerHolding, FirstBuyersAnalysis, BlockRangeAnalysis, TimeSinceMintAnalysis, SniperAnalysis, ActivityPatterns, HolderAnalysisResult, HolderAnalysisOptions, } from './holder-analysis';
2
2
  export type { AddressHolding, TradingLiteAnalysis, TradingLiteOptions } from './trading-lite';
3
- export type { VolumeData, PoolData, TokenWithRisk, TokenRiskSummary, PoolsResponse, TrendingToken, TrendingTokensResponse, TrendingPoolsResponse, TokenPoolsOptions, TrendingOptions, } from './tokens';
3
+ export type { VolumeData, PoolData, TokenWithRisk, TokenRiskSummary, PoolsResponse, TrendingToken, TrendingTokensResponse, TrendingPoolsResponse, TokenPoolsOptions, TrendingOptions, TokenEconomicsChain, TokenEconomicsMetrics, TokenEconomicsResponse, TokenEconomicsOptions, OhlcvTimeFrame, OhlcvDataPoint, PoolOhlcvResponse, PoolOhlcvOptions, } from './tokens';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE9F,YAAY,EACV,UAAU,EACV,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAChB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE9F,YAAY,EACV,UAAU,EACV,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,UAAU,CAAC"}
@@ -145,4 +145,142 @@ export interface TrendingOptions {
145
145
  /** Abort signal */
146
146
  signal?: AbortSignal;
147
147
  }
148
+ /**
149
+ * Supported chains for token economics
150
+ */
151
+ export type TokenEconomicsChain = typeof Chain.ETH | typeof Chain.BASE | typeof Chain.BSC | typeof Chain.POL | typeof Chain.OPT | typeof Chain.ARB | typeof Chain.SOL;
152
+ /**
153
+ * Token economics metrics
154
+ */
155
+ export interface TokenEconomicsMetrics {
156
+ /** Total supply */
157
+ totalSupply?: string;
158
+ /** Circulating supply */
159
+ circulatingSupply?: string;
160
+ /** Market cap */
161
+ marketCap?: string;
162
+ /** Fully diluted valuation */
163
+ fdv?: string;
164
+ /** Current price in USD */
165
+ priceUsd?: string;
166
+ /** 24h price change percentage */
167
+ priceChange24h?: number;
168
+ /** 24h trading volume */
169
+ volume24h?: string;
170
+ /** Total holder count */
171
+ holderCount?: number;
172
+ /** 24h holder change */
173
+ holderChange24h?: number;
174
+ /** Liquidity in USD */
175
+ liquidityUsd?: string;
176
+ }
177
+ /**
178
+ * Token economics response
179
+ */
180
+ export interface TokenEconomicsResponse {
181
+ /** Token address */
182
+ address: string;
183
+ /** Chain */
184
+ chain: string;
185
+ /** Token name */
186
+ name?: string;
187
+ /** Token symbol */
188
+ symbol?: string;
189
+ /** Token decimals */
190
+ decimals?: number;
191
+ /** Metrics for the requested date */
192
+ metrics: TokenEconomicsMetrics;
193
+ /** Metrics date */
194
+ metricsDate: string;
195
+ /** Token creation timestamp */
196
+ createdAt?: string;
197
+ /** Creator/deployer address */
198
+ creator?: string;
199
+ }
200
+ /**
201
+ * Options for token economics requests
202
+ */
203
+ export interface TokenEconomicsOptions {
204
+ /**
205
+ * Target blockchain
206
+ *
207
+ * Supported: eth, base, bsc, pol, opt, arb, sol
208
+ */
209
+ chain: TokenEconomicsChain;
210
+ /**
211
+ * Date for metrics in DD-MM-YYYY format
212
+ */
213
+ metricsDate: string;
214
+ /** Request timeout in milliseconds */
215
+ timeout?: number;
216
+ /** Abort signal */
217
+ signal?: AbortSignal;
218
+ }
219
+ /**
220
+ * Time frame for OHLCV data
221
+ */
222
+ export type OhlcvTimeFrame = 'minute' | 'hour' | 'day';
223
+ /**
224
+ * OHLCV data point
225
+ */
226
+ export interface OhlcvDataPoint {
227
+ /** Open price */
228
+ open: string;
229
+ /** High price */
230
+ high: string;
231
+ /** Low price */
232
+ low: string;
233
+ /** Close price */
234
+ close: string;
235
+ /** Volume */
236
+ volume: string;
237
+ /** Timestamp (Unix) */
238
+ timestamp: number;
239
+ }
240
+ /**
241
+ * Pool OHLCV response
242
+ */
243
+ export interface PoolOhlcvResponse {
244
+ /** Pool address */
245
+ poolAddress: string;
246
+ /** Chain */
247
+ chain: string;
248
+ /** Time frame */
249
+ timeFrame: OhlcvTimeFrame;
250
+ /** OHLCV data points */
251
+ data: OhlcvDataPoint[];
252
+ /** Pool name */
253
+ poolName?: string;
254
+ /** Base token address */
255
+ baseToken?: string;
256
+ /** Quote token address */
257
+ quoteToken?: string;
258
+ }
259
+ /**
260
+ * Options for pool OHLCV requests
261
+ */
262
+ export interface PoolOhlcvOptions {
263
+ /**
264
+ * Target blockchain
265
+ *
266
+ * Supported: eth, base, bsc, pol, opt, arb, sol
267
+ */
268
+ chain: TokenEconomicsChain;
269
+ /**
270
+ * Time frame for data points
271
+ */
272
+ timeFrame: OhlcvTimeFrame;
273
+ /**
274
+ * Get data before this Unix timestamp (optional)
275
+ */
276
+ beforeTimestamp?: number;
277
+ /**
278
+ * Number of data points to return (optional)
279
+ */
280
+ limit?: number;
281
+ /** Request timeout in milliseconds */
282
+ timeout?: number;
283
+ /** Abort signal */
284
+ signal?: AbortSignal;
285
+ }
148
286
  //# sourceMappingURL=tokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/types/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/types/tokens.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webacy-xyz/sdk-trading",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Webacy SDK for token trading analysis - holder analysis, sniper detection, bundler detection",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -22,7 +22,7 @@
22
22
  "README.md"
23
23
  ],
24
24
  "dependencies": {
25
- "@webacy-xyz/sdk-core": "1.1.0"
25
+ "@webacy-xyz/sdk-core": "1.2.0"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/node": "^22.0.0",