@gala-chain/launchpad-sdk 3.17.0 → 3.19.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/CHANGELOG.md +68 -0
- package/README.md +7 -198
- package/dist/LaunchpadSDK.d.ts +48 -70
- package/dist/LaunchpadSDK.d.ts.map +1 -1
- package/dist/constants/version.generated.d.ts +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/services/DexService.d.ts +34 -1
- package/dist/services/DexService.d.ts.map +1 -1
- package/dist/services/PriceHistoryService.d.ts +8 -110
- package/dist/services/PriceHistoryService.d.ts.map +1 -1
- package/dist/types/common.d.ts +0 -2
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/launchpad.dto.d.ts +52 -0
- package/dist/types/launchpad.dto.d.ts.map +1 -1
- package/dist/types/priceHistory.dto.d.ts +1 -52
- package/dist/types/priceHistory.dto.d.ts.map +1 -1
- package/dist/utils/agent-config.d.ts +1 -1
- package/dist/utils/agent-config.d.ts.map +1 -1
- package/package.json +1 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,73 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.19.0
|
|
4
|
+
|
|
5
|
+
### Breaking Changes
|
|
6
|
+
|
|
7
|
+
- **Remove MySQL support from price history services**
|
|
8
|
+
|
|
9
|
+
**BREAKING:** Removed fetchPrices() and fetchAllPrices() methods that relied on MySQL database.
|
|
10
|
+
These methods are deprecated in favor of the DEX Backend API-based price history methods.
|
|
11
|
+
|
|
12
|
+
**Removed:**
|
|
13
|
+
- `sdk.fetchPrices()` - Use DEX Backend API methods instead
|
|
14
|
+
- `sdk.fetchAllPrices()` - Use DEX Backend API methods instead
|
|
15
|
+
- MySQL connection string configuration parameter from SDK config
|
|
16
|
+
- `mysql2` peer dependency (no longer required)
|
|
17
|
+
- PriceHistoryService MySQL methods and connection pooling
|
|
18
|
+
- Type definitions: `FetchPricesOptions`, `PricesResult`
|
|
19
|
+
|
|
20
|
+
**Migration Path:**
|
|
21
|
+
- For historical price data: Use `fetchPriceHistory()` or `fetchAllPriceHistory()` (DEX Backend API)
|
|
22
|
+
- Latest prices feature: Coming soon to DEX Backend API in future releases
|
|
23
|
+
- No environment variables needed: DEX Backend is automatically configured
|
|
24
|
+
|
|
25
|
+
**Details:**
|
|
26
|
+
- PriceHistoryService now uses DEX Backend API exclusively
|
|
27
|
+
- All price history methods consolidated to API-based implementation
|
|
28
|
+
- Simplified SDK initialization without MySQL requirements
|
|
29
|
+
- Zero configuration needed for price history features
|
|
30
|
+
|
|
31
|
+
## 3.18.0
|
|
32
|
+
|
|
33
|
+
### Minor Changes
|
|
34
|
+
|
|
35
|
+
- Add fetchTokenDetails() method for comprehensive token metadata queries
|
|
36
|
+
|
|
37
|
+
**New Feature:** Implement fetchTokenDetails() method that queries the DEX API platform to
|
|
38
|
+
retrieve complete token metadata including images, decimals, descriptions, verification status,
|
|
39
|
+
network information, and trading capabilities.
|
|
40
|
+
|
|
41
|
+
**SDK Changes (v3.18.0):**
|
|
42
|
+
- Add TokenDetails DTO interface with 15+ metadata fields
|
|
43
|
+
- Implement DexService.fetchTokenDetails(tokenId) with flexible token ID support
|
|
44
|
+
- Add flat API method to LaunchpadSDK.fetchTokenDetails()
|
|
45
|
+
- Export TokenDetails type from SDK public API
|
|
46
|
+
- Comprehensive unit tests (14 tests covering success/error/edge cases)
|
|
47
|
+
|
|
48
|
+
**Features:**
|
|
49
|
+
- Flexible Token ID support: String format ('Token|Unit|GUSDC|eth:0x...') or object format
|
|
50
|
+
- Comprehensive metadata: Returns symbol, name, decimals, image, verification status, network info
|
|
51
|
+
- DEX API Integration: Queries /v1/tokens endpoint with URL-encoded token class keys
|
|
52
|
+
- Proper error handling: Validates token existence and format
|
|
53
|
+
- Performance: Single API request, no pagination required
|
|
54
|
+
|
|
55
|
+
**MCP Server Changes (v1.13.6):**
|
|
56
|
+
- Create gala_launchpad_fetch_token_details MCP tool
|
|
57
|
+
- Register tool in poolTools with flexible tokenId input schema
|
|
58
|
+
- Add integration tests for tool handler
|
|
59
|
+
- Update tool count from 55 to 56 tools
|
|
60
|
+
- Update documentation in CLAUDE.md with usage examples
|
|
61
|
+
- Add tool reference to MCP server features list
|
|
62
|
+
|
|
63
|
+
**Documentation:**
|
|
64
|
+
- Add comprehensive pattern documentation to CLAUDE.md
|
|
65
|
+
- Include usage examples for string and object formats
|
|
66
|
+
- Document common use cases (token validation, pre-trading checks, network verification)
|
|
67
|
+
- Add error handling patterns and response structure reference
|
|
68
|
+
- Update SDK README.md with method signature and return type
|
|
69
|
+
- Update MCP server version and tool count references
|
|
70
|
+
|
|
3
71
|
## 3.17.0
|
|
4
72
|
|
|
5
73
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -64,7 +64,7 @@ console.log(pools.hasNext); // Computed convenience properties
|
|
|
64
64
|
- **Token Transfers**: Transfer GALA and launchpad tokens between wallets with EIP-712 signatures
|
|
65
65
|
- **User Operations**: Portfolio management, token balances, and account management
|
|
66
66
|
- **Comment System**: Post and retrieve comments on token pools
|
|
67
|
-
- **Price History**: Fetch historical price data for DEX tokens with pagination (Node.js only
|
|
67
|
+
- **Price History**: Fetch historical price data for DEX tokens with pagination (Node.js only)
|
|
68
68
|
- **Comprehensive Validation**: Input validation and error handling for all operations
|
|
69
69
|
- **Multi-Environment Support**: Production, staging, and custom backend URLs
|
|
70
70
|
|
|
@@ -734,6 +734,10 @@ fetchTokenBadges(tokenName): Promise<TokenBadgesResult>
|
|
|
734
734
|
fetchPoolDetails(tokenName): Promise<PoolDetailsData>
|
|
735
735
|
// Returns: { basePrice, maxSupply, saleStatus, nativeTokenQuantity, ... }
|
|
736
736
|
|
|
737
|
+
fetchTokenDetails(tokenId): Promise<TokenDetails>
|
|
738
|
+
// Returns: { symbol, decimals, name, image, verified, network, chainId, contractAddress, tradingEnabled, ... }
|
|
739
|
+
// Supports flexible tokenId: string ('Token|Unit|GUSDC|eth:0x...') or object format
|
|
740
|
+
|
|
737
741
|
fetchVolumeData(options): Promise<GraphDataResult>
|
|
738
742
|
// Returns: { dataPoints }
|
|
739
743
|
|
|
@@ -794,29 +798,16 @@ calculateSellAmountExternal(options): Promise<AmountCalculationResult>
|
|
|
794
798
|
|
|
795
799
|
// Note: Pass `calculateAmountMode: 'local' | 'external'` to override SDK default mode
|
|
796
800
|
|
|
797
|
-
// Price History Operations (
|
|
801
|
+
// Price History Operations (DEX Backend API, Node.js only)
|
|
798
802
|
fetchPriceHistory(options): Promise<PriceHistoryResult>
|
|
799
803
|
// Options: { tokenId, from?, to?, sortOrder?, page?, limit? }
|
|
800
804
|
// Returns: { snapshots, page, limit, total, totalPages, hasNext, hasPrevious }
|
|
801
|
-
// Fetches paginated historical price snapshots from
|
|
805
|
+
// Fetches paginated historical price snapshots from DEX Backend API
|
|
802
806
|
|
|
803
807
|
fetchAllPriceHistory(options): Promise<PriceHistoryResult>
|
|
804
808
|
// Options: { tokenId, from?, to?, sortOrder? } (no pagination params)
|
|
805
809
|
// Returns: All matching snapshots with total count
|
|
806
810
|
// Convenience method with automatic pagination (returns ALL snapshots)
|
|
807
|
-
|
|
808
|
-
fetchPrices(options?): Promise<PricesResult>
|
|
809
|
-
// Options: { page?, limit?, sortByType? }
|
|
810
|
-
// Returns: { snapshots, page, limit, total, totalPages, hasNext, hasPrevious }
|
|
811
|
-
// Fetches latest price for each unique token (paginated)
|
|
812
|
-
|
|
813
|
-
fetchAllPrices(): Promise<PricesResult>
|
|
814
|
-
// No parameters
|
|
815
|
-
// Returns: All latest prices combined in single result
|
|
816
|
-
// Convenience method with automatic pagination (returns ALL latest prices)
|
|
817
|
-
|
|
818
|
-
// Note: Price history methods require MySQL connection string in SDK config
|
|
819
|
-
// See MySQL Configuration section below for setup details
|
|
820
811
|
```
|
|
821
812
|
|
|
822
813
|
## Performance Optimization
|
|
@@ -1370,190 +1361,9 @@ interface LaunchpadSDKConfig {
|
|
|
1370
1361
|
debug?: boolean; // Enable debug logging
|
|
1371
1362
|
maxRetries?: number; // Retry attempts (default: 3)
|
|
1372
1363
|
retryDelay?: number; // Retry delay (default: 1000ms)
|
|
1373
|
-
mysqlConnectionString?: string; // MySQL connection string for price history (Node.js only)
|
|
1374
|
-
// Format: mysql://user:password@host:port/database
|
|
1375
1364
|
}
|
|
1376
1365
|
```
|
|
1377
1366
|
|
|
1378
|
-
### MySQL Configuration (Price History)
|
|
1379
|
-
|
|
1380
|
-
To use the price history methods, you need to configure a MySQL connection string:
|
|
1381
|
-
|
|
1382
|
-
```typescript
|
|
1383
|
-
import { createLaunchpadSDK } from '@gala-chain/launchpad-sdk';
|
|
1384
|
-
|
|
1385
|
-
const sdk = createLaunchpadSDK({
|
|
1386
|
-
wallet: 'your-private-key',
|
|
1387
|
-
config: {
|
|
1388
|
-
baseUrl: 'https://lpad-backend-dev1.defi.gala.com',
|
|
1389
|
-
mysqlConnectionString: 'mysql://user:password@localhost:3306/galachain'
|
|
1390
|
-
}
|
|
1391
|
-
});
|
|
1392
|
-
|
|
1393
|
-
// 1. Fetch historical price snapshots (paginated)
|
|
1394
|
-
const priceHistory = await sdk.fetchPriceHistory({
|
|
1395
|
-
tokenId: 'Token|Unit|GUSDC|eth:9401b171307bE656f00F9e18DF756643FD3a91dE', // String format
|
|
1396
|
-
from: new Date('2024-01-01'),
|
|
1397
|
-
to: new Date('2024-01-31'),
|
|
1398
|
-
sortOrder: 'DESC',
|
|
1399
|
-
page: 1,
|
|
1400
|
-
limit: 20
|
|
1401
|
-
});
|
|
1402
|
-
|
|
1403
|
-
console.log(`Found ${priceHistory.snapshots.length} snapshots`);
|
|
1404
|
-
console.log(`Total: ${priceHistory.total}, Page ${priceHistory.page} of ${priceHistory.totalPages}`);
|
|
1405
|
-
|
|
1406
|
-
// 2. Fetch ALL historical price snapshots (auto-paginated)
|
|
1407
|
-
const allHistory = await sdk.fetchAllPriceHistory({
|
|
1408
|
-
tokenId: { // Object format also supported
|
|
1409
|
-
collection: 'Token',
|
|
1410
|
-
category: 'Unit',
|
|
1411
|
-
type: 'GUSDC',
|
|
1412
|
-
additionalKey: 'eth:9401b171307bE656f00F9e18DF756643FD3a91dE'
|
|
1413
|
-
},
|
|
1414
|
-
from: new Date('2024-01-01'),
|
|
1415
|
-
to: new Date('2024-01-31')
|
|
1416
|
-
});
|
|
1417
|
-
|
|
1418
|
-
console.log(`Total snapshots: ${allHistory.total}`);
|
|
1419
|
-
|
|
1420
|
-
// 3. Fetch latest prices for all tokens (paginated)
|
|
1421
|
-
const latestPrices = await sdk.fetchPrices({
|
|
1422
|
-
page: 1,
|
|
1423
|
-
limit: 20,
|
|
1424
|
-
sortByType: 'ASC' // Optional: sort alphabetically by token type
|
|
1425
|
-
});
|
|
1426
|
-
|
|
1427
|
-
console.log(`Found ${latestPrices.snapshots.length} tokens with prices`);
|
|
1428
|
-
|
|
1429
|
-
// 4. Fetch all latest prices (auto-paginated)
|
|
1430
|
-
const allLatestPrices = await sdk.fetchAllPrices();
|
|
1431
|
-
|
|
1432
|
-
console.log(`Total tokens with prices: ${allLatestPrices.total}`);
|
|
1433
|
-
```
|
|
1434
|
-
|
|
1435
|
-
**Token Identification Formats:**
|
|
1436
|
-
```typescript
|
|
1437
|
-
// String format (pipe-delimited) - simpler
|
|
1438
|
-
tokenId: 'Token|Unit|GUSDC|eth:9401b171307bE656f00F9e18DF756643FD3a91dE'
|
|
1439
|
-
|
|
1440
|
-
// Object format (explicit) - for clarity
|
|
1441
|
-
tokenId: {
|
|
1442
|
-
collection: 'Token',
|
|
1443
|
-
category: 'Unit',
|
|
1444
|
-
type: 'GUSDC',
|
|
1445
|
-
additionalKey: 'eth:9401b171307bE656f00F9e18DF756643FD3a91dE'
|
|
1446
|
-
}
|
|
1447
|
-
```
|
|
1448
|
-
|
|
1449
|
-
**Environment Configuration:**
|
|
1450
|
-
```bash
|
|
1451
|
-
# Set in .env or pass to SDK config
|
|
1452
|
-
PRICE_SERVICE_MYSQL_CONNECTION_STRING=mysql://user:password@localhost:3306/galachain
|
|
1453
|
-
```
|
|
1454
|
-
|
|
1455
|
-
**Requirements:**
|
|
1456
|
-
- Node.js environment (browser not supported)
|
|
1457
|
-
- MySQL server with `price_snapshots` table
|
|
1458
|
-
- Connection pooling is automatic (default 5 concurrent connections)
|
|
1459
|
-
|
|
1460
|
-
### Security Considerations
|
|
1461
|
-
|
|
1462
|
-
⚠️ **Credential Management:**
|
|
1463
|
-
- Store MySQL connection strings in environment variables, NOT in code
|
|
1464
|
-
- Use restrictive file permissions on `.env` files (recommended: `0600`)
|
|
1465
|
-
- Never log or expose connection strings in debug output
|
|
1466
|
-
- For production, consider using credential providers (AWS Secrets Manager, Azure Key Vault, etc.)
|
|
1467
|
-
|
|
1468
|
-
⚠️ **Input Validation:**
|
|
1469
|
-
- TokenClassKey fields are validated with a whitelist pattern to prevent SQL injection
|
|
1470
|
-
- Only alphanumeric characters plus dots (.), colons (:), hyphens (-), and underscores (_) are allowed
|
|
1471
|
-
- Fields are limited to 255 characters maximum
|
|
1472
|
-
|
|
1473
|
-
⚠️ **Database Security:**
|
|
1474
|
-
- Ensure MySQL is behind a firewall and not exposed to the internet
|
|
1475
|
-
- Use strong passwords and rotate them regularly
|
|
1476
|
-
- Consider using SSL/TLS for MySQL connections in production
|
|
1477
|
-
- Create a dedicated database user with **read-only permissions** (SELECT only)
|
|
1478
|
-
- **Built-in Read-Only Protection**: This service enforces read-only mode at the MySQL session level, preventing any accidental or malicious write attempts. Even if the database user somehow gains write permissions, the session-level `read_only` flag blocks all modifications.
|
|
1479
|
-
|
|
1480
|
-
⚠️ **Column Type Requirements:**
|
|
1481
|
-
- Price column MUST be of type `DECIMAL(65,30)` or similar high-precision type
|
|
1482
|
-
- Using `FLOAT` or other lossy types will cause precision loss with BigNumber operations
|
|
1483
|
-
- Verify your database schema matches the required types
|
|
1484
|
-
|
|
1485
|
-
### Required Database Schema
|
|
1486
|
-
|
|
1487
|
-
The `price_snapshots` table must exist with the following schema:
|
|
1488
|
-
|
|
1489
|
-
```sql
|
|
1490
|
-
CREATE TABLE `price_snapshots` (
|
|
1491
|
-
`id` BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
1492
|
-
`collection` VARCHAR(255) NOT NULL,
|
|
1493
|
-
`category` VARCHAR(255) NOT NULL,
|
|
1494
|
-
`type` VARCHAR(255) NOT NULL,
|
|
1495
|
-
`additional_key` VARCHAR(255) NOT NULL,
|
|
1496
|
-
`price` DECIMAL(65, 30) NOT NULL,
|
|
1497
|
-
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
1498
|
-
|
|
1499
|
-
-- Indexes for optimal query performance
|
|
1500
|
-
INDEX `idx_token_lookup` (`collection`, `category`, `type`, `additional_key`),
|
|
1501
|
-
INDEX `idx_created_at` (`created_at`),
|
|
1502
|
-
INDEX `idx_token_date` (`collection`, `category`, `type`, `additional_key`, `created_at`)
|
|
1503
|
-
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
1504
|
-
```
|
|
1505
|
-
|
|
1506
|
-
**Schema Explanation:**
|
|
1507
|
-
|
|
1508
|
-
- **`id`**: Auto-incrementing primary key for unique row identification
|
|
1509
|
-
- **`collection`**: Token collection identifier (e.g., "Token")
|
|
1510
|
-
- **`category`**: Token category identifier (e.g., "Unit")
|
|
1511
|
-
- **`type`**: Token type identifier (e.g., "GUSDC")
|
|
1512
|
-
- **`additional_key`**: Additional token key for disambiguation (e.g., "eth:0x1234...")
|
|
1513
|
-
- **`price`**: Token price as high-precision DECIMAL
|
|
1514
|
-
- **CRITICAL**: Use `DECIMAL(65, 30)` for BigNumber compatibility
|
|
1515
|
-
- This provides 35 integer digits and 30 decimal places
|
|
1516
|
-
- Sufficient for token prices ranging from satoshis to billions
|
|
1517
|
-
- ⚠️ **DO NOT USE**: FLOAT, DOUBLE, or REAL (precision loss)
|
|
1518
|
-
- **`created_at`**: Timestamp of price snapshot (defaults to insertion time)
|
|
1519
|
-
|
|
1520
|
-
**Indexes:**
|
|
1521
|
-
|
|
1522
|
-
- **`idx_token_lookup`**: Composite index on token identifier fields for efficient filtering
|
|
1523
|
-
- **`idx_created_at`**: Single index on creation timestamp for date range queries
|
|
1524
|
-
- **`idx_token_date`**: Composite index combining token fields and date for complex queries (recommended for high-volume databases)
|
|
1525
|
-
|
|
1526
|
-
**Performance Tuning:**
|
|
1527
|
-
|
|
1528
|
-
For high-volume price history databases (>10M snapshots):
|
|
1529
|
-
|
|
1530
|
-
```sql
|
|
1531
|
-
-- Add partitioning by month
|
|
1532
|
-
ALTER TABLE `price_snapshots`
|
|
1533
|
-
PARTITION BY RANGE (MONTH(created_at)) (
|
|
1534
|
-
PARTITION p202401 VALUES LESS THAN (202402),
|
|
1535
|
-
PARTITION p202402 VALUES LESS THAN (202403),
|
|
1536
|
-
-- ... more partitions
|
|
1537
|
-
PARTITION p_future VALUES LESS THAN MAXVALUE
|
|
1538
|
-
);
|
|
1539
|
-
|
|
1540
|
-
-- Consider archival strategy for old data
|
|
1541
|
-
-- Archive snapshots older than 12 months to separate table
|
|
1542
|
-
-- to maintain optimal query performance
|
|
1543
|
-
```
|
|
1544
|
-
|
|
1545
|
-
**Validation Checklist:**
|
|
1546
|
-
|
|
1547
|
-
Before using `fetchPriceHistory()`:
|
|
1548
|
-
|
|
1549
|
-
- [ ] `price_snapshots` table exists in your MySQL database
|
|
1550
|
-
- [ ] All columns match the schema above exactly
|
|
1551
|
-
- [ ] `price` column is `DECIMAL(65, 30)` (NOT FLOAT)
|
|
1552
|
-
- [ ] Indexes are created for query performance
|
|
1553
|
-
- [ ] Database user has SELECT permissions on the table
|
|
1554
|
-
- [ ] MySQL connection string is correct
|
|
1555
|
-
- [ ] Test the connection: `SELECT COUNT(*) FROM price_snapshots LIMIT 1`
|
|
1556
|
-
|
|
1557
1367
|
## Helper Functions
|
|
1558
1368
|
|
|
1559
1369
|
### **Wallet Creation**
|
|
@@ -1608,7 +1418,6 @@ npm run lint
|
|
|
1608
1418
|
- [SDK Method Reference](./SDK-METHOD-GRAPH.md) - Complete flat API reference
|
|
1609
1419
|
- [Clean Result Types Migration Guide](./docs/CLEAN_RESULT_TYPES_MIGRATION.md) - Migration guide for clean result types
|
|
1610
1420
|
- [Service Architecture Migration Guide](./docs/SERVICE_ARCHITECTURE_MIGRATION.md) - Guide for v3.1.0 service-based architecture
|
|
1611
|
-
- [Price History Schema](./docs/PRICE_HISTORY_SCHEMA.sql) - Required MySQL schema for price history functionality
|
|
1612
1421
|
- [API Documentation](../../API.md) - Detailed API documentation
|
|
1613
1422
|
- [Examples](./examples/) - Code examples and demos
|
|
1614
1423
|
|
package/dist/LaunchpadSDK.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Wallet } from 'ethers';
|
|
2
|
-
import { SDKConfig, AddressFormat, TokenClassKey } from './types/common';
|
|
2
|
+
import { SDKConfig, AddressFormat, TokenClassKey, TokenId } from './types/common';
|
|
3
3
|
import { PoolDetailsData } from './types/trade.dto';
|
|
4
|
-
import { LaunchTokenData, TokenSpotPrice, FetchPoolsOptions, PoolsResult } from './types/launchpad.dto';
|
|
4
|
+
import { LaunchTokenData, TokenSpotPrice, FetchPoolsOptions, PoolsResult, TokenDetails } from './types/launchpad.dto';
|
|
5
5
|
import { UpdateProfileData, UploadProfileImageOptions, FetchTokenBalanceOptions } from './types/user.dto';
|
|
6
6
|
import { TransferGalaData, TransferTokenData } from './types/transfer.dto';
|
|
7
7
|
import { TokenLaunchResult, TradeResult } from './types/result.types';
|
|
8
8
|
import { WebSocketError, WebSocketTimeoutError, TransactionFailedError } from './utils/websocket-errors';
|
|
9
9
|
export { WebSocketError, WebSocketTimeoutError, TransactionFailedError, };
|
|
10
10
|
import { FetchCommentsOptions, PostCommentOptions, FetchVolumeDataOptions, FetchTradesOptions, CalculateBuyAmountOptions, CalculateSellAmountOptions, CalculateBuyAmountLocalOptions, CalculateSellAmountLocalOptions, BuyTokenOptions, SellTokenOptions, UploadImageByTokenNameOptions, FetchTokensHeldOptions, FetchTokensCreatedOptions, GraduateTokenOptions, FetchLaunchpadTokenSpotPriceOptions, CalculateBuyAmountForGraduationOptions } from './types/options.dto';
|
|
11
|
-
import { FetchPriceHistoryOptions, PriceHistoryResult
|
|
11
|
+
import { FetchPriceHistoryOptions, PriceHistoryResult } from './types/priceHistory.dto';
|
|
12
12
|
/**
|
|
13
13
|
* Configuration for initializing the Launchpad SDK
|
|
14
14
|
*
|
|
@@ -152,7 +152,7 @@ export declare class LaunchpadSDK {
|
|
|
152
152
|
private readonly dexService;
|
|
153
153
|
private readonly bundleService;
|
|
154
154
|
private readonly websocketService;
|
|
155
|
-
private readonly priceHistoryService
|
|
155
|
+
private readonly priceHistoryService;
|
|
156
156
|
private readonly launchpadAPI;
|
|
157
157
|
constructor(config: LaunchpadSDKConfig);
|
|
158
158
|
/**
|
|
@@ -532,6 +532,43 @@ export declare class LaunchpadSDK {
|
|
|
532
532
|
* @throws Error if GALA price unavailable
|
|
533
533
|
*/
|
|
534
534
|
fetchLaunchpadTokenSpotPrice(tokenNameOrOptions: string | FetchLaunchpadTokenSpotPriceOptions): Promise<TokenSpotPrice>;
|
|
535
|
+
/**
|
|
536
|
+
* Fetch comprehensive token details from DEX API platform
|
|
537
|
+
*
|
|
538
|
+
* Queries the DEX API platform endpoint to retrieve complete token metadata
|
|
539
|
+
* including image, decimals, description, verification status, network information,
|
|
540
|
+
* and trading capabilities.
|
|
541
|
+
*
|
|
542
|
+
* Supports flexible token identification using either string or object format:
|
|
543
|
+
* - String: `'Token|Unit|GUSDC|eth:0x...'` (pipe-delimited)
|
|
544
|
+
* - Object: `{ collection, category, type, additionalKey }`
|
|
545
|
+
*
|
|
546
|
+
* @param tokenId Token identifier in flexible format
|
|
547
|
+
* @returns Promise<TokenDetails> Comprehensive token metadata
|
|
548
|
+
*
|
|
549
|
+
* @example String format
|
|
550
|
+
* ```typescript
|
|
551
|
+
* const details = await sdk.fetchTokenDetails('Token|Unit|GUSDC|eth:0x...');
|
|
552
|
+
* console.log(details.symbol); // 'GUSDC'
|
|
553
|
+
* console.log(details.decimals); // 6
|
|
554
|
+
* console.log(details.verified); // true
|
|
555
|
+
* console.log(details.image); // 'https://...'
|
|
556
|
+
* ```
|
|
557
|
+
*
|
|
558
|
+
* @example Object format
|
|
559
|
+
* ```typescript
|
|
560
|
+
* const details = await sdk.fetchTokenDetails({
|
|
561
|
+
* collection: 'Token',
|
|
562
|
+
* category: 'Unit',
|
|
563
|
+
* type: 'GUSDC',
|
|
564
|
+
* additionalKey: 'eth:0x...'
|
|
565
|
+
* });
|
|
566
|
+
* ```
|
|
567
|
+
*
|
|
568
|
+
* @throws {ValidationError} If tokenId format is invalid
|
|
569
|
+
* @throws {NetworkError} If API request fails or token not found
|
|
570
|
+
*/
|
|
571
|
+
fetchTokenDetails(tokenId: TokenId): Promise<TokenDetails>;
|
|
535
572
|
/**
|
|
536
573
|
* Fetch the current launchpad token launch fee
|
|
537
574
|
*
|
|
@@ -1192,16 +1229,16 @@ export declare class LaunchpadSDK {
|
|
|
1192
1229
|
*/
|
|
1193
1230
|
fetchTokensCreated(options?: FetchTokensCreatedOptions): Promise<import("./types/user.dto").UserTokenListResult>;
|
|
1194
1231
|
/**
|
|
1195
|
-
* Fetch historical price data for DEX tokens
|
|
1232
|
+
* Fetch historical price data for DEX tokens via DEX Backend API
|
|
1196
1233
|
*
|
|
1197
1234
|
* Retrieves paginated historical price snapshots for a token with optional
|
|
1198
|
-
* date range filtering. This method is Node.js-only and
|
|
1199
|
-
*
|
|
1235
|
+
* date range filtering. This method is Node.js-only and queries the DEX
|
|
1236
|
+
* Backend API for price history data.
|
|
1200
1237
|
*
|
|
1201
1238
|
* @param options Price history fetch options including token key, dates, and pagination
|
|
1202
1239
|
* @returns Promise<PriceHistoryResult> Price snapshots with pagination metadata
|
|
1203
|
-
* @throws ConfigurationError if
|
|
1204
|
-
* @throws NetworkError if
|
|
1240
|
+
* @throws ConfigurationError if dexBackendBaseUrl not configured
|
|
1241
|
+
* @throws NetworkError if API request fails
|
|
1205
1242
|
* @throws ValidationError if parameters are invalid
|
|
1206
1243
|
*
|
|
1207
1244
|
* @category Price History
|
|
@@ -1235,14 +1272,12 @@ export declare class LaunchpadSDK {
|
|
|
1235
1272
|
* snapshots across all pages and returning them in a single result. This method internally
|
|
1236
1273
|
* loops through pages using the maximum page size (100 items) for efficiency.
|
|
1237
1274
|
*
|
|
1238
|
-
*
|
|
1239
|
-
* Only available for DEX tokens with price snapshot data.
|
|
1275
|
+
* Only available for DEX tokens with price snapshot data on the DEX Backend API.
|
|
1240
1276
|
*
|
|
1241
1277
|
* @param options Fetch options (page/limit params are handled automatically)
|
|
1242
1278
|
* @returns Promise<PriceHistoryResult> containing all price snapshots in combined result
|
|
1243
1279
|
*
|
|
1244
|
-
* @throws
|
|
1245
|
-
* @throws NetworkError if database query fails
|
|
1280
|
+
* @throws NetworkError if API query fails
|
|
1246
1281
|
* @throws ValidationError if parameters are invalid
|
|
1247
1282
|
*
|
|
1248
1283
|
* @category Price History
|
|
@@ -1267,63 +1302,6 @@ export declare class LaunchpadSDK {
|
|
|
1267
1302
|
* ```
|
|
1268
1303
|
*/
|
|
1269
1304
|
fetchAllPriceHistory(options: Omit<FetchPriceHistoryOptions, 'page' | 'limit'>): Promise<PriceHistoryResult>;
|
|
1270
|
-
/**
|
|
1271
|
-
* Fetch latest prices for all tokens (paginated)
|
|
1272
|
-
*
|
|
1273
|
-
* Returns the most recent price snapshot for each unique token in the database.
|
|
1274
|
-
* Useful for market overviews, dashboards, and bulk price comparisons.
|
|
1275
|
-
*
|
|
1276
|
-
* Requires Node.js environment with MySQL connection string configured.
|
|
1277
|
-
*
|
|
1278
|
-
* @param options Optional pagination and sorting parameters
|
|
1279
|
-
* @returns Promise<PricesResult> Latest prices with pagination metadata
|
|
1280
|
-
*
|
|
1281
|
-
* @throws ConfigurationError if MySQL connection string is not configured
|
|
1282
|
-
* @throws NetworkError if database query fails
|
|
1283
|
-
* @throws ValidationError if parameters are invalid
|
|
1284
|
-
*
|
|
1285
|
-
* @category Price History
|
|
1286
|
-
* @since 3.15.0
|
|
1287
|
-
*
|
|
1288
|
-
* @example
|
|
1289
|
-
* ```typescript
|
|
1290
|
-
* // Fetch first page of latest prices
|
|
1291
|
-
* const prices = await sdk.fetchPrices({ page: 1, limit: 20 });
|
|
1292
|
-
*
|
|
1293
|
-
* console.log(`Found ${prices.snapshots.length} tokens`);
|
|
1294
|
-
* console.log(`Total: ${prices.total}, Page ${prices.page} of ${prices.totalPages}`);
|
|
1295
|
-
* prices.snapshots.forEach(snap => {
|
|
1296
|
-
* console.log(`${snap.type}: $${snap.price} at ${snap.timestamp}`);
|
|
1297
|
-
* });
|
|
1298
|
-
* ```
|
|
1299
|
-
*/
|
|
1300
|
-
fetchPrices(options?: FetchPricesOptions): Promise<PricesResult>;
|
|
1301
|
-
/**
|
|
1302
|
-
* Fetch all latest prices for all tokens (automatic pagination)
|
|
1303
|
-
*
|
|
1304
|
-
* Convenience method that automatically handles pagination by fetching all
|
|
1305
|
-
* latest prices across all pages and returning them in a single result.
|
|
1306
|
-
*
|
|
1307
|
-
* Requires Node.js environment with MySQL connection string configured.
|
|
1308
|
-
*
|
|
1309
|
-
* @returns Promise<PricesResult> All latest prices combined in single result
|
|
1310
|
-
*
|
|
1311
|
-
* @throws ConfigurationError if MySQL connection string is not configured
|
|
1312
|
-
* @throws NetworkError if database query fails
|
|
1313
|
-
*
|
|
1314
|
-
* @category Price History
|
|
1315
|
-
* @since 3.15.0
|
|
1316
|
-
*
|
|
1317
|
-
* @example
|
|
1318
|
-
* ```typescript
|
|
1319
|
-
* // Fetch all latest prices (automatic pagination)
|
|
1320
|
-
* const allPrices = await sdk.fetchAllPrices();
|
|
1321
|
-
*
|
|
1322
|
-
* console.log(`Total tokens: ${allPrices.total}`);
|
|
1323
|
-
* console.log(`Found ${allPrices.snapshots.length} prices`);
|
|
1324
|
-
* ```
|
|
1325
|
-
*/
|
|
1326
|
-
fetchAllPrices(): Promise<PricesResult>;
|
|
1327
1305
|
/**
|
|
1328
1306
|
* Transfer GALA tokens between wallets
|
|
1329
1307
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LaunchpadSDK.d.ts","sourceRoot":"","sources":["../src/LaunchpadSDK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"LaunchpadSDK.d.ts","sourceRoot":"","sources":["../src/LaunchpadSDK.ts"],"names":[],"mappings":"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"}
|