@rlajous/sdk-trading 1.0.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/LICENSE +21 -0
- package/README.md +160 -0
- package/dist/cjs/client.js +139 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/index.js +24 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/resources/holder-analysis.js +102 -0
- package/dist/cjs/resources/holder-analysis.js.map +1 -0
- package/dist/cjs/resources/index.js +10 -0
- package/dist/cjs/resources/index.js.map +1 -0
- package/dist/cjs/resources/tokens.js +175 -0
- package/dist/cjs/resources/tokens.js.map +1 -0
- package/dist/cjs/resources/trading-lite.js +85 -0
- package/dist/cjs/resources/trading-lite.js.map +1 -0
- package/dist/cjs/types/holder-analysis.js +3 -0
- package/dist/cjs/types/holder-analysis.js.map +1 -0
- package/dist/cjs/types/index.js +3 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/tokens.js +3 -0
- package/dist/cjs/types/tokens.js.map +1 -0
- package/dist/cjs/types/trading-lite.js +3 -0
- package/dist/cjs/types/trading-lite.js.map +1 -0
- package/dist/esm/client.js +135 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/resources/holder-analysis.js +98 -0
- package/dist/esm/resources/holder-analysis.js.map +1 -0
- package/dist/esm/resources/index.js +4 -0
- package/dist/esm/resources/index.js.map +1 -0
- package/dist/esm/resources/tokens.js +171 -0
- package/dist/esm/resources/tokens.js.map +1 -0
- package/dist/esm/resources/trading-lite.js +81 -0
- package/dist/esm/resources/trading-lite.js.map +1 -0
- package/dist/esm/types/holder-analysis.js +2 -0
- package/dist/esm/types/holder-analysis.js.map +1 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/tokens.js +2 -0
- package/dist/esm/types/tokens.js.map +1 -0
- package/dist/esm/types/trading-lite.js +2 -0
- package/dist/esm/types/trading-lite.js.map +1 -0
- package/dist/types/client.d.ts +123 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/resources/holder-analysis.d.ts +73 -0
- package/dist/types/resources/holder-analysis.d.ts.map +1 -0
- package/dist/types/resources/index.d.ts +4 -0
- package/dist/types/resources/index.d.ts.map +1 -0
- package/dist/types/resources/tokens.d.ts +117 -0
- package/dist/types/resources/tokens.d.ts.map +1 -0
- package/dist/types/resources/trading-lite.d.ts +64 -0
- package/dist/types/resources/trading-lite.d.ts.map +1 -0
- package/dist/types/types/holder-analysis.d.ts +214 -0
- package/dist/types/types/holder-analysis.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +4 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/tokens.d.ts +148 -0
- package/dist/types/types/tokens.d.ts.map +1 -0
- package/dist/types/types/trading-lite.d.ts +72 -0
- package/dist/types/types/trading-lite.d.ts.map +1 -0
- package/package.json +74 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/types/tokens.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trading-lite.js","sourceRoot":"","sources":["../../../src/types/trading-lite.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { BaseClient, WebacyClientConfig, RequestInterceptor, ResponseInterceptor, ErrorInterceptor } from '@rlajous/sdk-core';
|
|
2
|
+
import { HolderAnalysisResource } from './resources/holder-analysis';
|
|
3
|
+
import { TradingLiteResource } from './resources/trading-lite';
|
|
4
|
+
import { TokensResource } from './resources/tokens';
|
|
5
|
+
/**
|
|
6
|
+
* Webacy Trading SDK Client
|
|
7
|
+
*
|
|
8
|
+
* Provides access to token trading analysis including holder analysis,
|
|
9
|
+
* sniper/bundler detection, and trending tokens.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { TradingClient, Chain } from '@rlajous/sdk-trading';
|
|
14
|
+
*
|
|
15
|
+
* const client = new TradingClient({
|
|
16
|
+
* apiKey: process.env.WEBACY_API_KEY!,
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* // Comprehensive holder analysis
|
|
20
|
+
* const holders = await client.holderAnalysis.get('token_address', {
|
|
21
|
+
* chain: 'sol',
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* // Quick trading analysis (Solana)
|
|
25
|
+
* const trading = await client.tradingLite.analyze('pump_token');
|
|
26
|
+
*
|
|
27
|
+
* // Token pools and trending
|
|
28
|
+
* const pools = await client.tokens.getPools('token_address', { chain: 'eth' });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare class TradingClient extends BaseClient {
|
|
32
|
+
/**
|
|
33
|
+
* Holder analysis resource
|
|
34
|
+
*
|
|
35
|
+
* Provides comprehensive analysis of token holder distribution including:
|
|
36
|
+
* - Top holders and concentration metrics
|
|
37
|
+
* - First buyers analysis
|
|
38
|
+
* - Sniper detection with confidence scoring
|
|
39
|
+
* - Bundler detection
|
|
40
|
+
* - Developer wallet tracking
|
|
41
|
+
*/
|
|
42
|
+
readonly holderAnalysis: HolderAnalysisResource;
|
|
43
|
+
/**
|
|
44
|
+
* Trading lite resource
|
|
45
|
+
*
|
|
46
|
+
* Provides quick, simplified token analysis optimized for trading decisions.
|
|
47
|
+
* Currently supports Solana only.
|
|
48
|
+
*/
|
|
49
|
+
readonly tradingLite: TradingLiteResource;
|
|
50
|
+
/**
|
|
51
|
+
* Tokens resource
|
|
52
|
+
*
|
|
53
|
+
* Provides access to token pools and trending data.
|
|
54
|
+
*/
|
|
55
|
+
readonly tokens: TokensResource;
|
|
56
|
+
/**
|
|
57
|
+
* Create a new TradingClient instance
|
|
58
|
+
*
|
|
59
|
+
* @param config - Client configuration
|
|
60
|
+
* @throws AuthenticationError if API key is not provided
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* // Basic setup
|
|
65
|
+
* const client = new TradingClient({
|
|
66
|
+
* apiKey: 'your-api-key',
|
|
67
|
+
* });
|
|
68
|
+
*
|
|
69
|
+
* // With default chain (omit chain in API calls)
|
|
70
|
+
* const client = new TradingClient({
|
|
71
|
+
* apiKey: 'your-api-key',
|
|
72
|
+
* defaultChain: Chain.SOL,
|
|
73
|
+
* });
|
|
74
|
+
*
|
|
75
|
+
* // With custom configuration
|
|
76
|
+
* const client = new TradingClient({
|
|
77
|
+
* apiKey: 'your-api-key',
|
|
78
|
+
* timeout: 60000,
|
|
79
|
+
* retry: {
|
|
80
|
+
* maxRetries: 5,
|
|
81
|
+
* },
|
|
82
|
+
* });
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
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
|
+
}
|
|
123
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +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,mBAAmB,CAAC;AAC3B,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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { TradingClient } from './client';
|
|
2
|
+
export { HolderAnalysisResource, TradingLiteResource, TokensResource } from './resources';
|
|
3
|
+
export type { TokenHolder, TokenHolderActivity, BuyerHolding, FirstBuyersAnalysis, BlockRangeAnalysis, TimeSinceMintAnalysis, SniperAnalysis, ActivityPatterns, HolderAnalysisResult, HolderAnalysisOptions, AddressHolding, TradingLiteAnalysis, TradingLiteOptions, VolumeData, PoolData, TokenWithRisk, TokenRiskSummary, PoolsResponse, TrendingToken, TrendingTokensResponse, TrendingPoolsResponse, TokenPoolsOptions, TrendingOptions, } from './types';
|
|
4
|
+
export { Chain, ChainCompatibility, isEvmChain, CHAIN_NAMES, WebacyError, AuthenticationError, RateLimitError, ValidationError, NotFoundError, NetworkError, type WebacyClientConfig, type TokenMetadata, type OwnershipDistribution, type TopHolder, } from '@rlajous/sdk-core';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1F,YAAY,EAEV,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EAErB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAElB,UAAU,EACV,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,SAAS,GACf,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { HttpClient, Chain } from '@rlajous/sdk-core';
|
|
2
|
+
import { HolderAnalysisResult, HolderAnalysisOptions } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Resource for token holder analysis
|
|
5
|
+
*
|
|
6
|
+
* Provides comprehensive analysis of token holder distribution including:
|
|
7
|
+
* - Top holders and concentration metrics
|
|
8
|
+
* - First buyers analysis
|
|
9
|
+
* - Sniper detection with confidence scoring
|
|
10
|
+
* - Bundler detection
|
|
11
|
+
* - Developer wallet tracking
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const analysis = await client.holderAnalysis.get('token_address', {
|
|
16
|
+
* chain: Chain.SOL,
|
|
17
|
+
* });
|
|
18
|
+
* console.log(`Sniper count: ${analysis.sniper_analysis?.sniper_count}`);
|
|
19
|
+
*
|
|
20
|
+
* // With default chain configured, chain can be omitted
|
|
21
|
+
* const client = new TradingClient({ apiKey: '...', defaultChain: Chain.SOL });
|
|
22
|
+
* const analysis = await client.holderAnalysis.get('token_address'); // Uses SOL
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare class HolderAnalysisResource {
|
|
26
|
+
private readonly httpClient;
|
|
27
|
+
private readonly defaultChain?;
|
|
28
|
+
constructor(httpClient: HttpClient, defaultChain?: Chain | undefined);
|
|
29
|
+
/**
|
|
30
|
+
* Resolve the chain to use for a request
|
|
31
|
+
* @throws ValidationError if no chain is specified and no default is set
|
|
32
|
+
*/
|
|
33
|
+
private resolveChain;
|
|
34
|
+
/**
|
|
35
|
+
* Get comprehensive holder analysis for a token
|
|
36
|
+
*
|
|
37
|
+
* Returns detailed analysis including:
|
|
38
|
+
* - Token holder distribution
|
|
39
|
+
* - First buyers analysis with bundler detection
|
|
40
|
+
* - Sniper detection with confidence scoring
|
|
41
|
+
* - Top 10 holders concentration
|
|
42
|
+
* - Developer activity metrics
|
|
43
|
+
*
|
|
44
|
+
* @param address - Token address to analyze
|
|
45
|
+
* @param options - Request options (chain is optional if defaultChain is set)
|
|
46
|
+
* @returns Complete holder analysis result
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* // Solana token analysis
|
|
51
|
+
* const result = await client.holderAnalysis.get('pump_token_address', {
|
|
52
|
+
* chain: Chain.SOL,
|
|
53
|
+
* });
|
|
54
|
+
*
|
|
55
|
+
* // With default chain configured
|
|
56
|
+
* const result = await client.holderAnalysis.get('pump_token_address');
|
|
57
|
+
*
|
|
58
|
+
* // Check sniper activity
|
|
59
|
+
* if (result.sniper_analysis?.sniper_count > 0) {
|
|
60
|
+
* console.log(`Found ${result.sniper_analysis.sniper_count} snipers`);
|
|
61
|
+
* console.log(`Sniper confidence: ${result.sniper_analysis.sniper_confidence_score}`);
|
|
62
|
+
* }
|
|
63
|
+
*
|
|
64
|
+
* // Check bundler activity
|
|
65
|
+
* const bundledBuyers = result.first_buyers_analysis.bundled_buyers_count;
|
|
66
|
+
* if (bundledBuyers && bundledBuyers > 0) {
|
|
67
|
+
* console.log(`Found ${bundledBuyers} bundled buyers`);
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
get(address: string, options?: HolderAnalysisOptions): Promise<HolderAnalysisResult>;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=holder-analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"holder-analysis.d.ts","sourceRoot":"","sources":["../../../src/resources/holder-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAKV,KAAK,EACN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBADb,UAAU,EAAE,UAAU,EACtB,YAAY,CAAC,EAAE,KAAK,YAAA;IAGvC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAUpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC;CA4B/F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { HttpClient, Chain } from '@rlajous/sdk-core';
|
|
2
|
+
import { PoolsResponse, TrendingTokensResponse, TrendingPoolsResponse, TokenPoolsOptions, TrendingOptions } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Resource for token pools and trending data
|
|
5
|
+
*
|
|
6
|
+
* Provides access to:
|
|
7
|
+
* - Token liquidity pools with risk analysis
|
|
8
|
+
* - Trending tokens across chains
|
|
9
|
+
* - Trending liquidity pools
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* // Get trending tokens
|
|
14
|
+
* const trending = await client.tokens.getTrending({ chain: Chain.SOL });
|
|
15
|
+
*
|
|
16
|
+
* // Get pools for a specific token
|
|
17
|
+
* const pools = await client.tokens.getPools('token_address', { chain: Chain.ETH });
|
|
18
|
+
*
|
|
19
|
+
* // With default chain configured, chain can be omitted
|
|
20
|
+
* const client = new TradingClient({ apiKey: '...', defaultChain: Chain.SOL });
|
|
21
|
+
* const pools = await client.tokens.getPools('token_address'); // Uses SOL
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare class TokensResource {
|
|
25
|
+
private readonly httpClient;
|
|
26
|
+
private readonly defaultChain?;
|
|
27
|
+
constructor(httpClient: HttpClient, defaultChain?: Chain | undefined);
|
|
28
|
+
/**
|
|
29
|
+
* Resolve the chain to use for a request
|
|
30
|
+
* @throws ValidationError if no chain is specified and no default is set
|
|
31
|
+
*/
|
|
32
|
+
private resolveChain;
|
|
33
|
+
/**
|
|
34
|
+
* Get liquidity pools for a token with risk analysis
|
|
35
|
+
*
|
|
36
|
+
* Returns all liquidity pools where the token is traded,
|
|
37
|
+
* along with risk analysis for the tokens in each pool.
|
|
38
|
+
*
|
|
39
|
+
* @param address - Token address
|
|
40
|
+
* @param options - Request options (chain is optional if defaultChain is set)
|
|
41
|
+
* @returns Pools with token risk analysis
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const result = await client.tokens.getPools('0x...', { chain: Chain.ETH });
|
|
46
|
+
*
|
|
47
|
+
* // With default chain configured
|
|
48
|
+
* const result = await client.tokens.getPools('0x...');
|
|
49
|
+
*
|
|
50
|
+
* for (const pool of result.pools) {
|
|
51
|
+
* console.log(`Pool: ${pool.name}`);
|
|
52
|
+
* console.log(`Liquidity: ${pool.reserve}`);
|
|
53
|
+
* console.log(`24h Volume: ${pool.volume.h24}`);
|
|
54
|
+
* }
|
|
55
|
+
*
|
|
56
|
+
* // Check risk for tokens in pools
|
|
57
|
+
* for (const token of result.tokens) {
|
|
58
|
+
* if (token.risk.overallRisk && token.risk.overallRisk > 70) {
|
|
59
|
+
* console.warn(`High risk token: ${token.address}`);
|
|
60
|
+
* }
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
getPools(address: string, options?: TokenPoolsOptions): Promise<PoolsResponse>;
|
|
65
|
+
/**
|
|
66
|
+
* Get trending tokens
|
|
67
|
+
*
|
|
68
|
+
* Returns currently trending tokens based on trading activity
|
|
69
|
+
* and community interest.
|
|
70
|
+
*
|
|
71
|
+
* @param options - Request options (chain is optional)
|
|
72
|
+
* @returns List of trending tokens with risk analysis
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* const trending = await client.tokens.getTrending({ chain: Chain.SOL, limit: 20 });
|
|
77
|
+
*
|
|
78
|
+
* // Or with default chain configured
|
|
79
|
+
* const trending = await client.tokens.getTrending();
|
|
80
|
+
*
|
|
81
|
+
* for (const token of trending.tokens) {
|
|
82
|
+
* console.log(`${token.symbol}: $${token.price_usd}`);
|
|
83
|
+
* console.log(`24h change: ${token.price_change_24h}%`);
|
|
84
|
+
*
|
|
85
|
+
* if (token.risk?.overallRisk && token.risk.overallRisk > 50) {
|
|
86
|
+
* console.warn(' Warning: Elevated risk');
|
|
87
|
+
* }
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
getTrending(options?: TrendingOptions): Promise<TrendingTokensResponse>;
|
|
92
|
+
/**
|
|
93
|
+
* Get trending liquidity pools
|
|
94
|
+
*
|
|
95
|
+
* Returns currently trending liquidity pools based on
|
|
96
|
+
* trading volume and activity.
|
|
97
|
+
*
|
|
98
|
+
* @param options - Request options (chain is optional)
|
|
99
|
+
* @returns List of trending pools
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* const trending = await client.tokens.getTrendingPools({ chain: Chain.ETH });
|
|
104
|
+
*
|
|
105
|
+
* // Or with default chain configured
|
|
106
|
+
* const trending = await client.tokens.getTrendingPools();
|
|
107
|
+
*
|
|
108
|
+
* for (const pool of trending.pools) {
|
|
109
|
+
* console.log(`${pool.name}`);
|
|
110
|
+
* console.log(`FDV: ${pool.fdv}`);
|
|
111
|
+
* console.log(`24h Volume: ${pool.volume.h24}`);
|
|
112
|
+
* }
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
getTrendingPools(options?: TrendingOptions): Promise<TrendingPoolsResponse>;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/resources/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAKV,KAAK,EACN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBADb,UAAU,EAAE,UAAU,EACtB,YAAY,CAAC,EAAE,KAAK,YAAA;IAGvC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAUpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBxF;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { HttpClient, Chain } from '@rlajous/sdk-core';
|
|
2
|
+
import { TradingLiteAnalysis, TradingLiteOptions } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Resource for simplified trading analysis
|
|
5
|
+
*
|
|
6
|
+
* Provides quick, simplified token analysis optimized for trading decisions.
|
|
7
|
+
* Returns only the most critical fields needed to assess token safety.
|
|
8
|
+
*
|
|
9
|
+
* Currently supports Solana only.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const analysis = await client.tradingLite.analyze('token_address');
|
|
14
|
+
* console.log(`Sniper % on launch: ${analysis.SniperPercentageOnLaunch}`);
|
|
15
|
+
* console.log(`Bundler % holding: ${analysis.BundlerPercentageHolding}`);
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare class TradingLiteResource {
|
|
19
|
+
private readonly httpClient;
|
|
20
|
+
constructor(httpClient: HttpClient, _defaultChain?: Chain);
|
|
21
|
+
/**
|
|
22
|
+
* Get simplified bundling and sniper analysis for a token
|
|
23
|
+
*
|
|
24
|
+
* Returns critical trading metrics including:
|
|
25
|
+
* - Sniper and bundler detection with percentages
|
|
26
|
+
* - Top 10 holder concentration
|
|
27
|
+
* - Developer activity (holdings, 24h launches)
|
|
28
|
+
* - Token security flags (mintable, freezable)
|
|
29
|
+
* - DexScreener paid status
|
|
30
|
+
*
|
|
31
|
+
* Optimized for performance with caching:
|
|
32
|
+
* - First call: Runs full analysis and persists data
|
|
33
|
+
* - Subsequent calls: Returns cached static data with real-time holdings
|
|
34
|
+
*
|
|
35
|
+
* @param address - Token address to analyze (Solana only)
|
|
36
|
+
* @param options - Request options
|
|
37
|
+
* @returns Simplified bundling analysis
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const analysis = await client.tradingLite.analyze('pump_token_address');
|
|
42
|
+
*
|
|
43
|
+
* // Quick safety check
|
|
44
|
+
* const isRisky =
|
|
45
|
+
* analysis.SniperPercentageOnLaunch > 20 ||
|
|
46
|
+
* analysis.BundlerPercentageOnLaunch > 30 ||
|
|
47
|
+
* analysis.DevLaunched24Hours > 5;
|
|
48
|
+
*
|
|
49
|
+
* if (isRisky) {
|
|
50
|
+
* console.warn('Token shows high-risk indicators');
|
|
51
|
+
* }
|
|
52
|
+
*
|
|
53
|
+
* // Check token permissions
|
|
54
|
+
* if (analysis.mintable) {
|
|
55
|
+
* console.warn('Token supply can still be increased');
|
|
56
|
+
* }
|
|
57
|
+
* if (analysis.freezable) {
|
|
58
|
+
* console.warn('Token accounts can be frozen');
|
|
59
|
+
* }
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
analyze(address: string, options?: TradingLiteOptions): Promise<TradingLiteAnalysis>;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=trading-lite.d.ts.map
|
|
@@ -0,0 +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,mBAAmB,CAAC;AAC3B,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;CAwB/F"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { Chain, OwnershipDistribution, TokenMetadata } from '@rlajous/sdk-core';
|
|
2
|
+
/**
|
|
3
|
+
* Token holder information
|
|
4
|
+
*/
|
|
5
|
+
export interface TokenHolder {
|
|
6
|
+
/** Holder wallet address */
|
|
7
|
+
address: string;
|
|
8
|
+
/** Token balance */
|
|
9
|
+
balance: number;
|
|
10
|
+
/** Percentage of total supply */
|
|
11
|
+
supply_percentage: number;
|
|
12
|
+
/** Raw balance as string for large numbers */
|
|
13
|
+
rawBalance?: string;
|
|
14
|
+
/** Enhanced activity data (EVM chains) */
|
|
15
|
+
activity?: TokenHolderActivity;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Enhanced holder activity data (available for EVM chains)
|
|
19
|
+
*/
|
|
20
|
+
export interface TokenHolderActivity {
|
|
21
|
+
firstTransactionDate?: Date;
|
|
22
|
+
lastTransactionDate?: Date;
|
|
23
|
+
totalIncomingTransactions?: number;
|
|
24
|
+
totalIncomingAmount?: number;
|
|
25
|
+
totalOutgoingTransactions?: number;
|
|
26
|
+
totalOutgoingAmount?: number;
|
|
27
|
+
netFlow?: number;
|
|
28
|
+
tradingFrequency?: number;
|
|
29
|
+
isActiveTrader?: boolean;
|
|
30
|
+
retentionDays?: number;
|
|
31
|
+
avgIncomingSize?: number;
|
|
32
|
+
avgOutgoingSize?: number;
|
|
33
|
+
daysSinceLastActivity?: number;
|
|
34
|
+
holderClassification?: string;
|
|
35
|
+
balanceDiscrepancy?: boolean;
|
|
36
|
+
reportedBalance?: number;
|
|
37
|
+
calculatedBalance?: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Current holding information for a buyer
|
|
41
|
+
*/
|
|
42
|
+
export interface BuyerHolding {
|
|
43
|
+
/** Wallet address */
|
|
44
|
+
address: string;
|
|
45
|
+
/** Current token balance */
|
|
46
|
+
balance: number;
|
|
47
|
+
/** Current percentage of total supply */
|
|
48
|
+
supply_percentage: number;
|
|
49
|
+
/** Whether this buyer is a bundler */
|
|
50
|
+
is_bundler?: boolean;
|
|
51
|
+
/** Whether this buyer is a sniper */
|
|
52
|
+
is_sniper?: boolean;
|
|
53
|
+
/** Whether this is a developer wallet */
|
|
54
|
+
is_developer?: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* First buyers analysis result
|
|
58
|
+
*/
|
|
59
|
+
export interface FirstBuyersAnalysis {
|
|
60
|
+
/** Percentage of supply initially acquired by first buyers */
|
|
61
|
+
initially_acquired_percentage: number;
|
|
62
|
+
/** Total number of first traders analyzed */
|
|
63
|
+
buyers_analyzed_count: number;
|
|
64
|
+
/** Actual number of unique buyers */
|
|
65
|
+
unique_buyers_count?: number;
|
|
66
|
+
/** True when unique_buyers_count < 20 */
|
|
67
|
+
buyer_segmentation_limited?: boolean;
|
|
68
|
+
/** Percentage bought by top 10 buyers */
|
|
69
|
+
top_10_buyers_bought_percentage: number;
|
|
70
|
+
/** Percentage bought by top 5 buyers */
|
|
71
|
+
top_5_buyers_bought_percentage: number;
|
|
72
|
+
/** Percentage bought by top 20 buyers */
|
|
73
|
+
top_20_buyers_bought_percentage: number;
|
|
74
|
+
/** Percentage bought in the same block */
|
|
75
|
+
bundled_percentage_supply_bought?: number;
|
|
76
|
+
/** Number of buys in the same block */
|
|
77
|
+
buys_in_same_block_count?: number;
|
|
78
|
+
/** Current holding percentage of first buyers */
|
|
79
|
+
current_holding_percentage: number | null;
|
|
80
|
+
/** Current holding percentage of bundled buyers */
|
|
81
|
+
bundled_current_holding_percentage?: number | null;
|
|
82
|
+
/** Number of first buyers still holding */
|
|
83
|
+
buyers_still_holding_count: number | null;
|
|
84
|
+
/** Number of bundled buyers still holding */
|
|
85
|
+
bundled_buyers_still_holding_count: number | null;
|
|
86
|
+
/** Average percentage held by bundler buyers */
|
|
87
|
+
average_percentage_bundler_buyer: number | null;
|
|
88
|
+
/** Count of first buyers who transferred out */
|
|
89
|
+
buyers_transferred_out_count: number | null;
|
|
90
|
+
/** Distinct addresses that received supply */
|
|
91
|
+
distributed_to_distinct_addresses_count: number;
|
|
92
|
+
/** Percentage transferred out by first buyers */
|
|
93
|
+
transferred_out_from_initially_acquired_percentage: number | null;
|
|
94
|
+
/** Number of buyers in the same block */
|
|
95
|
+
bundled_buyers_count: number | null;
|
|
96
|
+
/** Complete list of ALL bundled addresses (including sold out) */
|
|
97
|
+
all_bundled_addresses: string[];
|
|
98
|
+
/** Timestamp of analysis */
|
|
99
|
+
timestamp: string;
|
|
100
|
+
/** Current percentage per initial buyer */
|
|
101
|
+
current_percentage_per_buyer: BuyerHolding[];
|
|
102
|
+
/** Percentage currently held by snipers */
|
|
103
|
+
snipers_current_holding_percentage: number | null;
|
|
104
|
+
/** Number of snipers still holding */
|
|
105
|
+
snipers_still_holding_count: number | null;
|
|
106
|
+
/** Percentage held by snipers still holding */
|
|
107
|
+
snipers_still_holding_percentage: number | null;
|
|
108
|
+
/** Percentage held by development team */
|
|
109
|
+
dev_holdings_percentage?: number | null;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Block range analysis for sniper detection
|
|
113
|
+
*/
|
|
114
|
+
export interface BlockRangeAnalysis {
|
|
115
|
+
block_hash: string;
|
|
116
|
+
timestamp: string;
|
|
117
|
+
buy_count: number;
|
|
118
|
+
block_number: number;
|
|
119
|
+
addresses: string[];
|
|
120
|
+
supply_percentage: number;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Time since mint analysis
|
|
124
|
+
*/
|
|
125
|
+
export interface TimeSinceMintAnalysis {
|
|
126
|
+
time_range_seconds: number;
|
|
127
|
+
buy_count: number;
|
|
128
|
+
addresses: string[];
|
|
129
|
+
supply_percentage: number;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Sniper detection analysis result
|
|
133
|
+
*/
|
|
134
|
+
export interface SniperAnalysis {
|
|
135
|
+
/** List of identified sniper addresses */
|
|
136
|
+
sniper_addresses: string[];
|
|
137
|
+
/** Total number of snipers detected */
|
|
138
|
+
sniper_count: number;
|
|
139
|
+
/** Total percentage held by snipers */
|
|
140
|
+
sniper_total_percentage: number;
|
|
141
|
+
/** Analysis by block range */
|
|
142
|
+
block_range_analysis: BlockRangeAnalysis[];
|
|
143
|
+
/** Analysis by time since mint */
|
|
144
|
+
time_since_mint_analysis: TimeSinceMintAnalysis[];
|
|
145
|
+
/** Average time since mint in seconds */
|
|
146
|
+
average_time_since_mint: number;
|
|
147
|
+
/** Median time since mint in seconds */
|
|
148
|
+
median_time_since_mint: number;
|
|
149
|
+
/** Whether frontrunning was detected */
|
|
150
|
+
potential_frontrunning_detected: boolean;
|
|
151
|
+
/** Confidence score (0-100) */
|
|
152
|
+
sniper_confidence_score: number;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Activity patterns analysis (EVM chains)
|
|
156
|
+
*/
|
|
157
|
+
export interface ActivityPatterns {
|
|
158
|
+
earlyAdopters: TokenHolder[];
|
|
159
|
+
activeTraders: TokenHolder[];
|
|
160
|
+
longTermHolders: TokenHolder[];
|
|
161
|
+
recentBuyers: TokenHolder[];
|
|
162
|
+
suspiciousPatterns: {
|
|
163
|
+
highFrequencyTraders: TokenHolder[];
|
|
164
|
+
sameTimeBuyers: TokenHolder[];
|
|
165
|
+
unusualFlow: TokenHolder[];
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Complete holder analysis result
|
|
170
|
+
*/
|
|
171
|
+
export interface HolderAnalysisResult {
|
|
172
|
+
/** Token address */
|
|
173
|
+
token_address: string;
|
|
174
|
+
/** Total number of holders */
|
|
175
|
+
total_holders_count?: number;
|
|
176
|
+
/** Token mint transaction hash */
|
|
177
|
+
token_mint_tx?: string;
|
|
178
|
+
/** Token mint timestamp */
|
|
179
|
+
token_mint_time?: string;
|
|
180
|
+
/** Minter/deployer address */
|
|
181
|
+
minter?: string;
|
|
182
|
+
/** Total supply used for calculations */
|
|
183
|
+
total_supply?: number;
|
|
184
|
+
/** Token metadata */
|
|
185
|
+
metadata?: TokenMetadata;
|
|
186
|
+
/** First buyers analysis */
|
|
187
|
+
first_buyers_analysis: FirstBuyersAnalysis;
|
|
188
|
+
/** Top 10 holders analysis */
|
|
189
|
+
top_10_holders_analysis?: OwnershipDistribution;
|
|
190
|
+
/** Tokens launched by developer in 24h */
|
|
191
|
+
dev_launched_tokens_in_24_hours?: number | null;
|
|
192
|
+
/** Sniper detection analysis */
|
|
193
|
+
sniper_analysis?: SniperAnalysis;
|
|
194
|
+
/** Activity patterns (EVM chains) */
|
|
195
|
+
activity_patterns?: ActivityPatterns;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Options for holder analysis requests
|
|
199
|
+
*/
|
|
200
|
+
export interface HolderAnalysisOptions {
|
|
201
|
+
/**
|
|
202
|
+
* Target blockchain
|
|
203
|
+
*
|
|
204
|
+
* Optional if `defaultChain` was set in the client configuration.
|
|
205
|
+
*/
|
|
206
|
+
chain?: Chain;
|
|
207
|
+
/** Skip cache and force fresh fetch */
|
|
208
|
+
disableRefetch?: boolean;
|
|
209
|
+
/** Request timeout in milliseconds */
|
|
210
|
+
timeout?: number;
|
|
211
|
+
/** Abort signal */
|
|
212
|
+
signal?: AbortSignal;
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=holder-analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"holder-analysis.d.ts","sourceRoot":"","sources":["../../../src/types/holder-analysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { TokenHolder, TokenHolderActivity, BuyerHolding, FirstBuyersAnalysis, BlockRangeAnalysis, TimeSinceMintAnalysis, SniperAnalysis, ActivityPatterns, HolderAnalysisResult, HolderAnalysisOptions, } from './holder-analysis';
|
|
2
|
+
export type { AddressHolding, TradingLiteAnalysis, TradingLiteOptions } from './trading-lite';
|
|
3
|
+
export type { VolumeData, PoolData, TokenWithRisk, TokenRiskSummary, PoolsResponse, TrendingToken, TrendingTokensResponse, TrendingPoolsResponse, TokenPoolsOptions, TrendingOptions, } from './tokens';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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"}
|