@gala-chain/launchpad-sdk 3.18.0 → 3.19.1

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.
@@ -1,34 +1,31 @@
1
1
  /**
2
2
  * Price History Service
3
3
  *
4
- * Handles fetching historical price data for DEX tokens with dual implementation:
5
- * - Token history (fetchPriceHistory): Uses DEX Backend API
6
- * - Price sheet (fetchPrices): Uses MySQL database
4
+ * Handles fetching historical price data for DEX tokens via DEX Backend API.
7
5
  *
8
6
  * Features:
9
7
  * - DEX Backend API integration for token price history
10
- * - MySQL connection pooling for price sheet queries
11
8
  * - Pagination matching SDK conventions
12
9
  * - Date range filtering
13
10
  * - Token filtering by TokenClassKey
14
- * - Automatic connection cleanup
15
11
  * - Comprehensive error handling
16
12
  *
17
13
  * @category Services
18
14
  * @since 3.13.0
19
15
  */
20
- import { FetchPriceHistoryOptions, PriceHistoryResult, FetchPricesOptions, PricesResult } from '../types/priceHistory.dto';
16
+ import { FetchPriceHistoryOptions, PriceHistoryResult } from '../types/priceHistory.dto';
21
17
  import { HttpClient } from '../utils/http';
22
18
  /**
23
19
  * Price History Service Class
24
20
  *
25
- * Manages MySQL connections and price history queries.
21
+ * Manages API-based price history queries via DEX Backend API.
26
22
  *
27
23
  * @example
28
24
  * ```typescript
29
- * const service = new PriceHistoryService('mysql://user:pass@localhost/galachain');
25
+ * const httpClient = new HttpClient(config);
26
+ * const service = new PriceHistoryService(httpClient);
30
27
  * const history = await service.fetchPriceHistory({
31
- * tokenClassKey: { collection: 'Token', category: 'Unit', type: 'USDC', additionalKey: '...' },
28
+ * tokenId: { collection: 'Token', category: 'Unit', type: 'GUSDC', additionalKey: 'eth:...' },
32
29
  * from: new Date('2024-01-01'),
33
30
  * to: new Date('2024-01-31'),
34
31
  * page: 1,
@@ -36,42 +33,15 @@ import { HttpClient } from '../utils/http';
36
33
  * });
37
34
  * ```
38
35
  */
39
- /**
40
- * Configuration options for PriceHistoryService
41
- */
42
- export interface PriceHistoryServiceConfig {
43
- /** Maximum concurrent connections in pool (default: 10) */
44
- maxConnections?: number;
45
- /** Query timeout in milliseconds (default: 30000ms / 30 seconds) */
46
- queryTimeout?: number;
47
- }
48
36
  export declare class PriceHistoryService {
49
37
  private readonly logger;
50
- private pool;
51
- private readonly connectionString;
52
- private readonly maxConnections;
53
- private readonly queryTimeout;
54
38
  private readonly httpClient;
55
39
  /**
56
40
  * Create a new PriceHistoryService instance
57
- * @param connectionString MySQL connection string (format: mysql://user:password@host:port/database)
58
- * @param httpClient HTTP client for DEX Backend API (for fetchPriceHistory)
41
+ * @param httpClient HTTP client for DEX Backend API
59
42
  * @param debugMode Enable debug logging
60
- * @param config Optional configuration for connection pooling and timeouts
61
- */
62
- constructor(connectionString: string, httpClient?: HttpClient, debugMode?: boolean, config?: PriceHistoryServiceConfig);
63
- /**
64
- * Build connection string with pool configuration options as URL parameters
65
- * mysql2.createPool() only accepts a single parameter (the connection string)
66
- * so configuration must be appended as URL parameters
67
- * @private
68
43
  */
69
- private buildConnectionStringWithOptions;
70
- /**
71
- * Initialize connection pool (lazy initialization)
72
- * @private
73
- */
74
- private ensureConnection;
44
+ constructor(httpClient?: HttpClient, debugMode?: boolean);
75
45
  /**
76
46
  * Fetch price history for a token with pagination
77
47
  *
@@ -139,82 +109,10 @@ export declare class PriceHistoryService {
139
109
  * ```
140
110
  */
141
111
  fetchAllPriceHistory(options: Omit<FetchPriceHistoryOptions, 'page' | 'limit'>): Promise<PriceHistoryResult>;
142
- /**
143
- * Fetch latest prices for all tokens (paginated)
144
- *
145
- * Returns the most recent price snapshot for each unique token in the database.
146
- * Uses window functions for efficient query performance.
147
- * Results are paginated for memory efficiency.
148
- *
149
- * @param options Pagination and sorting options
150
- * @returns Promise<PricesResult> Latest prices with pagination metadata
151
- * @throws ConfigurationError if MySQL not configured
152
- * @throws NetworkError if database query fails
153
- *
154
- * @example
155
- * ```typescript
156
- * // Fetch first page of latest prices
157
- * const prices = await service.fetchPrices({ page: 1, limit: 20 });
158
- * console.log(`Found ${prices.snapshots.length} tokens`);
159
- * console.log(`Total: ${prices.total}, Page ${prices.page} of ${prices.totalPages}`);
160
- * ```
161
- */
162
- fetchPrices(options?: FetchPricesOptions): Promise<PricesResult>;
163
- /**
164
- * Fetch all latest prices (automatic pagination)
165
- *
166
- * Convenience method that automatically handles pagination by fetching all
167
- * latest prices across all pages and returning them in a single result.
168
- *
169
- * @returns Promise<PricesResult> All latest prices combined
170
- * @throws ConfigurationError if MySQL not configured
171
- * @throws NetworkError if database query fails
172
- *
173
- * @example
174
- * ```typescript
175
- * // Fetch all latest prices (automatic pagination)
176
- * const allPrices = await service.fetchAllPrices();
177
- * console.log(`Total tokens: ${allPrices.total}`);
178
- * ```
179
- */
180
- fetchAllPrices(): Promise<PricesResult>;
181
- /**
182
- * Enforce read-only mode on connection
183
- * This provides defense-in-depth security on top of only exposing read methods
184
- * Note: MySQL's read_only is a GLOBAL variable that requires SUPER privilege,
185
- * so we rely on:
186
- * 1. Database-level permissions (user should have SELECT only)
187
- * 2. Application-level exposure (service only has fetchPriceHistory method)
188
- * 3. Logging and monitoring
189
- * @private
190
- */
191
- private enforceReadOnly;
192
- /**
193
- * Execute a database query with timeout
194
- * @private
195
- */
196
- private executeQuery;
197
- /**
198
- * Validate TokenClassKey fields to prevent SQL injection
199
- * Whitelist allowed characters: alphanumeric, dots, colons, hyphens, underscores
200
- * @private
201
- */
202
- private validateTokenClassKey;
203
112
  /**
204
113
  * Validate fetch options
205
114
  * @private
206
115
  */
207
116
  private validateOptions;
208
- /**
209
- * Disconnect and cleanup resources
210
- *
211
- * Should be called when the service is no longer needed.
212
- *
213
- * @example
214
- * ```typescript
215
- * await service.disconnect();
216
- * ```
217
- */
218
- disconnect(): Promise<void>;
219
117
  }
220
118
  //# sourceMappingURL=PriceHistoryService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PriceHistoryService.d.ts","sourceRoot":"","sources":["../../src/services/PriceHistoryService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAElB,kBAAkB,EAClB,YAAY,EAEb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C;;;;;;;;;;;;;;;;GAgBG;AACH;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,IAAI,CAA+B;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC;;;;;;OAMG;gBAED,gBAAgB,EAAE,MAAM,EACxB,UAAU,CAAC,EAAE,UAAU,EACvB,SAAS,GAAE,OAAe,EAC1B,MAAM,CAAC,EAAE,yBAAyB;IAwBpC;;;;;OAKG;IACH,OAAO,CAAC,gCAAgC;IAexC;;;OAGG;YACW,gBAAgB;IAiD9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+EvF;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IAoB1C;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,oBAAoB,CACxB,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,GAAG,OAAO,CAAC,GACxD,OAAO,CAAC,kBAAkB,CAAC;IA+B9B;;;;;;;;;;;;;;;;;;;OAmBG;IACG,WAAW,CACf,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,YAAY,CAAC;IAwFxB;;;;;;;;;;;;;;;;OAgBG;IACG,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;IAmC7C;;;;;;;;;OASG;YACW,eAAe;IAO7B;;;OAGG;YACW,YAAY;IAgD1B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;;OAGG;IACH,OAAO,CAAC,eAAe;IA+BvB;;;;;;;;;OASG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAYlC"}
1
+ {"version":3,"file":"PriceHistoryService.d.ts","sourceRoot":"","sources":["../../src/services/PriceHistoryService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAGnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC;;;;OAIG;gBACS,UAAU,CAAC,EAAE,UAAU,EAAE,SAAS,GAAE,OAAe;IAM/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+EvF;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IAoB1C;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,oBAAoB,CACxB,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,GAAG,OAAO,CAAC,GACxD,OAAO,CAAC,kBAAkB,CAAC;IAgC9B;;;OAGG;IACH,OAAO,CAAC,eAAe;CA+BxB"}
@@ -63,8 +63,6 @@ export interface SDKConfig {
63
63
  headers?: Record<string, string>;
64
64
  /** Whether to enable debug logging */
65
65
  debug?: boolean;
66
- /** Optional MySQL connection string for price history (Node.js only) */
67
- mysqlConnectionString?: string;
68
66
  }
69
67
  /**
70
68
  * Standard error response from the backend
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Data Transfer Objects for Price History Operations
3
3
  *
4
- * Types for fetching historical price snapshots from MySQL database.
4
+ * Types for fetching historical price snapshots from DEX Backend API.
5
5
  * Price history is only available for DEX tokens and requires Node.js environment.
6
6
  *
7
7
  * @category Price History
@@ -33,7 +33,7 @@ export interface FetchPriceHistoryOptions {
33
33
  sortOrder?: PriceSortOrder;
34
34
  /** Page number for pagination (1-based, defaults to 1) */
35
35
  page?: number;
36
- /** Number of items per page (defaults to 10, max 100) */
36
+ /** Number of items per page (defaults to 10, max 50 - DEX Backend API constraint) */
37
37
  limit?: number;
38
38
  }
39
39
  /**
@@ -103,57 +103,6 @@ export interface PriceHistoryResult {
103
103
  /** Whether there are pages before this one */
104
104
  hasPrevious: boolean;
105
105
  }
106
- /**
107
- * Options for fetching latest prices for all tokens
108
- *
109
- * @since 3.15.0
110
- */
111
- export interface FetchPricesOptions {
112
- /** Page number for pagination (1-based, defaults to 1) */
113
- page?: number;
114
- /** Number of items per page (defaults to 10, max 100) */
115
- limit?: number;
116
- /** Sort by token type alphabetically (optional) */
117
- sortByType?: 'ASC' | 'DESC';
118
- }
119
- /**
120
- * Result of fetching latest prices for all tokens
121
- *
122
- * Returns the most recent price snapshot for each unique token.
123
- *
124
- * @since 3.15.0
125
- * @example
126
- * ```typescript
127
- * // Fetch first page of latest prices
128
- * const prices = await sdk.fetchPrices({ page: 1, limit: 20 });
129
- *
130
- * console.log(`Found ${prices.snapshots.length} tokens with prices`);
131
- * console.log(`Total tokens: ${prices.total}, Page ${prices.page} of ${prices.totalPages}`);
132
- * prices.snapshots.forEach(snap => {
133
- * console.log(`${snap.tokenId}: $${snap.price} at ${snap.timestamp}`);
134
- * });
135
- *
136
- * // Fetch all latest prices (automatic pagination)
137
- * const allPrices = await sdk.fetchAllPrices();
138
- * console.log(`Total tokens: ${allPrices.total}`);
139
- * ```
140
- */
141
- export interface PricesResult {
142
- /** Array of latest price snapshots (one per unique token) */
143
- snapshots: PriceSnapshot[];
144
- /** Current page number (1-based) */
145
- page: number;
146
- /** Number of items per page */
147
- limit: number;
148
- /** Total number of unique tokens */
149
- total: number;
150
- /** Total number of pages available */
151
- totalPages: number;
152
- /** Whether there are more pages after this one */
153
- hasNext: boolean;
154
- /** Whether there are pages before this one */
155
- hasPrevious: boolean;
156
- }
157
106
  /**
158
107
  * DEX Backend API response format for price oracle /price-oracle/fetch-price endpoint
159
108
  *
@@ -1 +1 @@
1
- {"version":3,"file":"priceHistory.dto.d.ts","sourceRoot":"","sources":["../../src/types/priceHistory.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"priceHistory.dto.d.ts","sourceRoot":"","sources":["../../src/types/priceHistory.dto.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,WAAW,wBAAwB;IACvC,qFAAqF;IACrF,OAAO,EAAE,OAAO,UAAU,EAAE,OAAO,CAAC;IACpC,mFAAmF;IACnF,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,yEAAyE;IACzE,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,8DAA8D;IAC9D,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,SAAS,EAAE,IAAI,CAAC;IAChB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,IAAI,EAAE;QACJ,+BAA+B;QAC/B,IAAI,EAAE,KAAK,CAAC;YACV,gDAAgD;YAChD,EAAE,EAAE,MAAM,CAAC;YACX,kCAAkC;YAClC,UAAU,EAAE,MAAM,CAAC;YACnB,gCAAgC;YAChC,QAAQ,EAAE,MAAM,CAAC;YACjB,4BAA4B;YAC5B,IAAI,EAAE,MAAM,CAAC;YACb,8CAA8C;YAC9C,aAAa,EAAE,MAAM,CAAC;YACtB,0CAA0C;YAC1C,KAAK,EAAE,MAAM,CAAC;YACd,6CAA6C;YAC7C,SAAS,EAAE,MAAM,CAAC;YAClB,2CAA2C;YAC3C,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;QACH,0BAA0B;QAC1B,IAAI,EAAE;YACJ,gDAAgD;YAChD,UAAU,EAAE,MAAM,CAAC;YACnB,oCAAoC;YACpC,WAAW,EAAE,MAAM,CAAC;YACpB,+BAA+B;YAC/B,QAAQ,EAAE,MAAM,CAAC;YACjB,sCAAsC;YACtC,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH"}
@@ -46,7 +46,7 @@ export interface AgentSDKConfig {
46
46
  agentId?: string;
47
47
  /** Automatically validate setup after initialization */
48
48
  autoValidate?: boolean;
49
- /** Additional SDK configuration options to merge with defaults (e.g., mysqlConnectionString) */
49
+ /** Additional SDK configuration options to merge with defaults (e.g., timeout, headers) */
50
50
  config?: Partial<LaunchpadSDKConfig>;
51
51
  }
52
52
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-config.d.ts","sourceRoot":"","sources":["../../src/utils/agent-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAe,eAAe,EAAE,MAAM,UAAU,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACjC,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gGAAgG;IAChG,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,eAAe,EAAE,OAAO,CAAC;QACzB,UAAU,EAAE,OAAO,CAAC;QACpB,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;WACU,UAAU,CAAC,MAAM,GAAE,cAAmB,GAAG,OAAO,CAAC;QAC5D,GAAG,EAAE,YAAY,CAAC;QAClB,MAAM,EAAE,eAAe,CAAC;QACxB,MAAM,EAAE,kBAAkB,CAAC;QAC3B,UAAU,CAAC,EAAE,eAAe,CAAC;KAC9B,CAAC;IAmCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;WACU,aAAa,CACxB,GAAG,EAAE,YAAY,EACjB,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,eAAe,CAAC;IAyE3B;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,oBAAoB,CACzB,WAAW,EAAE,gBAAgB,EAC7B,OAAO,GAAE,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,SAAqB,GACrE,cAAc;IA4CjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;WACU,gBAAgB,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAW,GAAE,gBAAgC,GAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAkBxC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAQhC,OAAO,CAAC,MAAM,CAAC,WAAW;IAoB1B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAWhC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAahC,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAuBtC"}
1
+ {"version":3,"file":"agent-config.d.ts","sourceRoot":"","sources":["../../src/utils/agent-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAe,eAAe,EAAE,MAAM,UAAU,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACjC,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,eAAe,EAAE,OAAO,CAAC;QACzB,UAAU,EAAE,OAAO,CAAC;QACpB,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;WACU,UAAU,CAAC,MAAM,GAAE,cAAmB,GAAG,OAAO,CAAC;QAC5D,GAAG,EAAE,YAAY,CAAC;QAClB,MAAM,EAAE,eAAe,CAAC;QACxB,MAAM,EAAE,kBAAkB,CAAC;QAC3B,UAAU,CAAC,EAAE,eAAe,CAAC;KAC9B,CAAC;IAmCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;WACU,aAAa,CACxB,GAAG,EAAE,YAAY,EACjB,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,eAAe,CAAC;IAyE3B;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,oBAAoB,CACzB,WAAW,EAAE,gBAAgB,EAC7B,OAAO,GAAE,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,SAAqB,GACrE,cAAc;IA4CjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;WACU,gBAAgB,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAW,GAAE,gBAAgC,GAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAkBxC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAQhC,OAAO,CAAC,MAAM,CAAC,WAAW;IAoB1B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAWhC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAahC,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAuBtC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gala-chain/launchpad-sdk",
3
- "version": "3.18.0",
3
+ "version": "3.19.1",
4
4
  "description": "TypeScript SDK for Gala Launchpad Backend API - Production-ready DeFi token launchpad integration with wallet-based authentication, GalaChain trading, and comprehensive user operations. 100% tested (22/22 endpoints working).",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",
@@ -38,7 +38,6 @@
38
38
  "test:watch": "jest --watch",
39
39
  "test:coverage": "jest --coverage",
40
40
  "test:ci": "jest --coverage --ci --watchAll=false",
41
- "test:integration": "jest --config=jest.integration.config.js",
42
41
  "demo": "tsx examples/complete-sdk-demo.ts",
43
42
  "demo-trades": "tsx examples/demo-trades.ts",
44
43
  "demo-cache": "tsx examples/demo-cache.ts",
@@ -129,15 +128,9 @@
129
128
  "axios": "^1.12.2",
130
129
  "bignumber.js": "^9.1.2",
131
130
  "ethers": "^6.15.0",
132
- "mysql2": "^3.15.3",
133
131
  "socket.io-client": "^4.8.1",
134
132
  "zod": "^3.25.76"
135
133
  },
136
- "peerDependenciesMeta": {
137
- "mysql2": {
138
- "optional": true
139
- }
140
- },
141
134
  "browserslist": [
142
135
  "> 1%",
143
136
  "last 2 versions",