@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.
- package/dist/cjs/client.js +0 -42
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/constants.js +21 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/resources/tokens.js +142 -0
- package/dist/cjs/resources/tokens.js.map +1 -1
- package/dist/cjs/resources/trading-lite.js +2 -7
- package/dist/cjs/resources/trading-lite.js.map +1 -1
- package/dist/esm/client.js +1 -43
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/constants.js +18 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/resources/tokens.js +143 -1
- package/dist/esm/resources/tokens.js.map +1 -1
- package/dist/esm/resources/trading-lite.js +3 -8
- package/dist/esm/resources/trading-lite.js.map +1 -1
- package/dist/types/client.d.ts +1 -37
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/constants.d.ts +11 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/resources/tokens.d.ts +74 -1
- package/dist/types/resources/tokens.d.ts.map +1 -1
- package/dist/types/resources/trading-lite.d.ts +2 -4
- package/dist/types/resources/trading-lite.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/tokens.d.ts +138 -0
- package/dist/types/types/tokens.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/cjs/client.js
CHANGED
|
@@ -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
|
package/dist/cjs/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;AAAA,
|
|
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":";;;AAAA,
|
|
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
|
-
|
|
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,
|
|
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"}
|
package/dist/esm/client.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseClient
|
|
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
|
package/dist/esm/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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":"AAAA,OAAO,EAAgB,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
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
|
-
|
|
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,
|
|
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"}
|
package/dist/types/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseClient, WebacyClientConfig
|
|
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,
|
|
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,
|
|
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 {
|
|
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,
|
|
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,
|
|
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.
|
|
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.
|
|
25
|
+
"@webacy-xyz/sdk-core": "1.2.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.0.0",
|