@gala-chain/launchpad-sdk 7.0.0-beta.5 → 7.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.
Files changed (63) hide show
  1. package/README.md +1 -1
  2. package/dist/LaunchpadSDK.d.ts +344 -1
  3. package/dist/LaunchpadSDK.d.ts.map +1 -1
  4. package/dist/api/dto/BondingCurveDTOs.d.ts +1 -1
  5. package/dist/bridge/BridgeService.d.ts.map +1 -1
  6. package/dist/bridge/constants/tokens.d.ts.map +1 -1
  7. package/dist/bridge/types/bridgeable-token.dto.d.ts +6 -2
  8. package/dist/bridge/types/bridgeable-token.dto.d.ts.map +1 -1
  9. package/dist/bridge/utils/tokenMetadataResolver.d.ts +2 -2
  10. package/dist/bridge/utils/tokenMetadataResolver.d.ts.map +1 -1
  11. package/dist/constants/version.generated.d.ts +1 -1
  12. package/dist/constants/version.generated.d.ts.map +1 -1
  13. package/dist/index.browser.d.ts +1 -2
  14. package/dist/index.browser.d.ts.map +1 -1
  15. package/dist/index.browser.esm.js +1 -1
  16. package/dist/index.cjs +1 -1
  17. package/dist/index.esm.js +1 -1
  18. package/dist/index.js +1 -1
  19. package/dist/launchpad/strings-instructions.d.ts.map +1 -1
  20. package/dist/native.cjs +1 -1
  21. package/dist/native.esm.js +1 -1
  22. package/dist/react/index.d.ts +1 -1
  23. package/dist/react/index.d.ts.map +1 -1
  24. package/dist/react.cjs +1 -1
  25. package/dist/react.esm.js +1 -1
  26. package/dist/services/BridgeableTokenService.d.ts.map +1 -1
  27. package/dist/services/DexService.d.ts +8 -1
  28. package/dist/services/DexService.d.ts.map +1 -1
  29. package/dist/services/LaunchpadService.d.ts +7 -0
  30. package/dist/services/LaunchpadService.d.ts.map +1 -1
  31. package/dist/services/PoolService.d.ts +22 -0
  32. package/dist/services/PoolService.d.ts.map +1 -1
  33. package/dist/services/StreamWebSocketService.d.ts +10 -0
  34. package/dist/services/StreamWebSocketService.d.ts.map +1 -1
  35. package/dist/services/TokenClassKeyService.d.ts +0 -22
  36. package/dist/services/TokenClassKeyService.d.ts.map +1 -1
  37. package/dist/tokens/transfers.d.ts +6 -2
  38. package/dist/tokens/transfers.d.ts.map +1 -1
  39. package/dist/utils/data-transform-patterns.d.ts +1 -1
  40. package/dist/utils/data-transform-patterns.d.ts.map +1 -1
  41. package/dist/utils/delimiter-parser.d.ts +3 -2
  42. package/dist/utils/delimiter-parser.d.ts.map +1 -1
  43. package/dist/utils/token-format-converter.d.ts +15 -130
  44. package/dist/utils/token-format-converter.d.ts.map +1 -1
  45. package/dist/utils/token-instance-resolver.d.ts +5 -3
  46. package/dist/utils/token-instance-resolver.d.ts.map +1 -1
  47. package/dist/utils/token-parser.d.ts +2 -2
  48. package/dist/utils/token-parser.d.ts.map +1 -1
  49. package/dist/utils/tokenNormalizer.d.ts +2 -1
  50. package/dist/utils/tokenNormalizer.d.ts.map +1 -1
  51. package/dist/utils/validation.d.ts +0 -16
  52. package/dist/utils/validation.d.ts.map +1 -1
  53. package/dist/wallet/detection.d.ts.map +1 -1
  54. package/dist/wallet/index.d.ts +3 -4
  55. package/dist/wallet/index.d.ts.map +1 -1
  56. package/dist/wallet/types.d.ts +2 -2
  57. package/dist/wallet.cjs +1 -1
  58. package/dist/wallet.esm.js +1 -1
  59. package/package.json +3 -7
  60. package/dist/services/TokenMetadataService.d.ts +0 -509
  61. package/dist/services/TokenMetadataService.d.ts.map +0 -1
  62. package/dist/wallet/GalaChainConnectProvider.d.ts +0 -125
  63. package/dist/wallet/GalaChainConnectProvider.d.ts.map +0 -1
@@ -1,509 +0,0 @@
1
- /**
2
- * TokenMetadataService - Authoritative Token Metadata Resolution
3
- *
4
- * Provides verified token metadata from GalaChain blockchain, including symbols,
5
- * decimals, supply caps, and verification status. Uses time-based caching to
6
- * minimize network calls while ensuring data freshness.
7
- *
8
- * ## Core Responsibility
9
- *
10
- * Fetch REAL token metadata from blockchain, never infer from strings:
11
- * - **Symbol**: Official ticker (ANIME, GDOG, GALA)
12
- * - **Decimals**: Precision (8 or 18 typically)
13
- * - **Max Supply**: Token supply cap
14
- * - **Verification**: Gala verification status
15
- * - **Name**: Full token name
16
- *
17
- * ## Why This Matters
18
- *
19
- * **❌ WRONG: Inferring from format strings**
20
- * ```typescript
21
- * // DON'T DO THIS
22
- * const symbol = tokenString.split('|')[2]; // Unreliable!
23
- * const decimals = 18; // Guessing!
24
- * ```
25
- *
26
- * **✅ CORRECT: Query blockchain**
27
- * ```typescript
28
- * // DO THIS
29
- * const metadata = await tokenMetadataService.resolveTokenMetadata('anime');
30
- * const symbol = metadata.symbol; // "ANIME" (verified from chain)
31
- * const decimals = metadata.decimals; // 8 (actual value from chain)
32
- * ```
33
- *
34
- * ## Metadata Immutability
35
- *
36
- * **Critical Blockchain Property:**
37
- * - Token metadata CANNOT be changed after creation
38
- * - Maximizes trust and predictability
39
- * - Enables aggressive caching (default 1 hour TTL)
40
- * - Symbol, decimals, maxSupply are permanent
41
- *
42
- * ## Caching Strategy
43
- *
44
- * **Time-Based Expiry (default 1 hour):**
45
- * - First request: Fetch from blockchain (~100ms)
46
- * - Cached requests: In-memory read (~1ms)
47
- * - Auto-refresh after TTL expires
48
- * - Manual cache clearing available
49
- *
50
- * **Why Not Permanent Cache:**
51
- * - New tokens may be created
52
- * - Verification status can change
53
- * - Conservative approach for safety
54
- * - Configurable TTL for different use cases
55
- *
56
- * ## Decimals Importance
57
- *
58
- * **Amount Formatting:**
59
- * ```typescript
60
- * // On-chain amount: "100000000" (8 decimals)
61
- * // User-friendly: "1.00" tokens
62
- * // Conversion: amount / 10^decimals
63
- *
64
- * const metadata = await service.resolveTokenMetadata('anime');
65
- * const onChainAmount = "100000000";
66
- * const userAmount = Number(onChainAmount) / Math.pow(10, metadata.decimals);
67
- * console.log(userAmount); // 1.0
68
- * ```
69
- *
70
- * **Common Decimal Values:**
71
- * - GALA: 8 decimals (Bitcoin-style precision)
72
- * - GUSDC: 6 decimals (matches USDC standard)
73
- * - WETH: 18 decimals (Ethereum standard)
74
- * - Launchpad tokens: 8 decimals (default)
75
- *
76
- * @packageDocumentation
77
- * @category Services
78
- * @since 3.0.0
79
- */
80
- import type { TokenClassKey as TokenClass } from '../types/common';
81
- import { LoggerBase } from './BaseService';
82
- /**
83
- * Blockchain-verified token metadata from GalaChain
84
- *
85
- * Contains authoritative token properties fetched from the blockchain,
86
- * distinct from bonding curve cache entries or bridge metadata.
87
- *
88
- * @since 6.10.0 - Renamed from TokenMetadata for clarity
89
- */
90
- export interface BlockchainTokenMetadata {
91
- /** Official token symbol from blockchain (e.g., "ANIME", "GALA") */
92
- symbol: string;
93
- /** Token full name (optional) */
94
- name?: string;
95
- /** Token decimal places (e.g., 8 for GALA, 18 for WETH) */
96
- decimals: number;
97
- /** Token collection (e.g., "Token", "GALA") */
98
- collection: string;
99
- /** Token category (e.g., "Unit") */
100
- category: string;
101
- /** Token type (e.g., "ANIME", "none") */
102
- type: string;
103
- /** Additional identifier (e.g., chain/address, "none") */
104
- additionalKey: string;
105
- /** Whether token is Gala-verified */
106
- verified: boolean;
107
- }
108
- /**
109
- * Internal cache structure for blockchain token metadata
110
- * @internal
111
- */
112
- export interface BlockchainTokenMetadataCache {
113
- [key: string]: {
114
- data: BlockchainTokenMetadata;
115
- timestamp: number;
116
- };
117
- }
118
- export declare class TokenMetadataService extends LoggerBase {
119
- private cache;
120
- private cacheExpiry;
121
- constructor(debugMode?: boolean);
122
- /**
123
- * Resolve token metadata from GalaChain blockchain
124
- *
125
- * Queries GalaChain for authoritative token metadata including symbol, decimals,
126
- * supply cap, and verification status. Uses time-based caching (default 1 hour)
127
- * to minimize network calls while ensuring data freshness.
128
- *
129
- * ## Supported Input Formats
130
- *
131
- * **Simple Symbol:**
132
- * ```typescript
133
- * await service.resolveTokenMetadata('GALA');
134
- * await service.resolveTokenMetadata('anime');
135
- * ```
136
- *
137
- * **Full Format String:**
138
- * ```typescript
139
- * await service.resolveTokenMetadata('GALA|Unit|none|none');
140
- * await service.resolveTokenMetadata('Token|Unit|ANIME|eth:0x...');
141
- * ```
142
- *
143
- * **TokenClass Object:**
144
- * ```typescript
145
- * await service.resolveTokenMetadata({
146
- * collection: 'Token',
147
- * category: 'Unit',
148
- * type: 'ANIME',
149
- * additionalKey: 'eth:0x...'
150
- * });
151
- * ```
152
- *
153
- * ## Return Value
154
- *
155
- * ```typescript
156
- * {
157
- * symbol: "ANIME", // Official ticker
158
- * decimals: 8, // Precision
159
- * name: "Anime Token", // Full name
160
- * maxSupply: "1000000000",// Supply cap
161
- * verified: true, // Gala verification
162
- * collection: "Token",
163
- * category: "Unit",
164
- * type: "ANIME",
165
- * additionalKey: "eth:0x..."
166
- * }
167
- * ```
168
- *
169
- * ## Caching Behavior
170
- *
171
- * - **First request**: Fetch from blockchain (~100ms)
172
- * - **Cached requests**: In-memory read (~1ms)
173
- * - **Cache expiry**: 1 hour (configurable)
174
- * - **Auto-refresh**: After TTL expires
175
- *
176
- * ## Why Use This vs String Parsing
177
- *
178
- * **❌ WRONG: Inferring from strings**
179
- * ```typescript
180
- * // Unreliable and error-prone!
181
- * const parts = tokenString.split('|');
182
- * const symbol = parts[2]; // Might be wrong!
183
- * const decimals = 18; // Guessing!
184
- * ```
185
- *
186
- * **✅ CORRECT: Query blockchain**
187
- * ```typescript
188
- * // Verified and accurate!
189
- * const metadata = await service.resolveTokenMetadata('anime');
190
- * const symbol = metadata.symbol; // "ANIME" (from chain)
191
- * const decimals = metadata.decimals; // 8 (from chain)
192
- * ```
193
- *
194
- * @param token Token reference (symbol, format string, or TokenClass object)
195
- * @returns Verified token metadata from blockchain
196
- *
197
- * @example
198
- * ```typescript
199
- * // Resolve by symbol
200
- * const metadata = await service.resolveTokenMetadata('anime');
201
- * console.log('Symbol:', metadata.symbol); // "ANIME"
202
- * console.log('Decimals:', metadata.decimals); // 8
203
- *
204
- * // Format on-chain amount for display
205
- * const onChainAmount = "100000000"; // 8 zeros
206
- * const userAmount = Number(onChainAmount) / Math.pow(10, metadata.decimals);
207
- * console.log('User amount:', userAmount); // 1.0
208
- * ```
209
- *
210
- * @category Metadata Resolution
211
- * @since 3.0.0
212
- */
213
- resolveTokenMetadata(token: string | TokenClass): BlockchainTokenMetadata;
214
- /**
215
- * Get token symbol from blockchain
216
- *
217
- * Convenience method that resolves full metadata and returns only the symbol.
218
- * Uses the same caching as `resolveTokenMetadata()`.
219
- *
220
- * ## Why This Matters
221
- *
222
- * **✅ CORRECT approach (this method):**
223
- * ```typescript
224
- * const symbol = await service.getTokenSymbol('anime');
225
- * console.log(symbol); // "ANIME" (verified from chain)
226
- * ```
227
- *
228
- * **❌ WRONG approach (string parsing):**
229
- * ```typescript
230
- * const parts = tokenString.split('|');
231
- * const symbol = parts[2]; // Unreliable! Might be type, not symbol!
232
- * ```
233
- *
234
- * ## Symbol Use Cases
235
- *
236
- * - Display token ticker in UI
237
- * - Trading pair notation (ANIME/GALA)
238
- * - Portfolio listings
239
- * - Search and filtering
240
- *
241
- * @param token Token reference (symbol, format string, or TokenClass)
242
- * @returns Official token symbol from blockchain
243
- *
244
- * @example
245
- * ```typescript
246
- * const symbol = await service.getTokenSymbol('anime');
247
- * console.log(`Trading ${symbol}/GALA`); // "Trading ANIME/GALA"
248
- * ```
249
- *
250
- * @category Metadata Resolution
251
- * @since 3.0.0
252
- */
253
- getTokenSymbol(token: string | TokenClass): string;
254
- /**
255
- * Get token decimals from blockchain
256
- *
257
- * Convenience method that resolves full metadata and returns only the decimals.
258
- * Critical for amount formatting and on-chain → user-friendly conversions.
259
- *
260
- * ## Decimals Usage
261
- *
262
- * **Amount Conversion:**
263
- * ```typescript
264
- * const decimals = await service.getTokenDecimals('anime');
265
- * const onChainAmount = "100000000"; // 8 zeros
266
- * const userAmount = Number(onChainAmount) / Math.pow(10, decimals);
267
- * console.log(userAmount); // 1.0
268
- * ```
269
- *
270
- * **Common Decimal Values:**
271
- * - GALA: 8 decimals (Bitcoin-style)
272
- * - GUSDC: 6 decimals (USDC standard)
273
- * - WETH: 18 decimals (Ethereum standard)
274
- * - Launchpad tokens: 8 decimals (default)
275
- *
276
- * ## Why Decimals Matter
277
- *
278
- * **Display Accuracy:**
279
- * - 8 decimals: Can show 0.00000001 precision
280
- * - 18 decimals: Can show 0.000000000000000001 precision
281
- * - Wrong decimals = wrong amounts shown to users
282
- *
283
- * **Trading Precision:**
284
- * - On-chain amounts are integers (no floating point)
285
- * - Decimals define the scaling factor
286
- * - 1 token = 10^decimals smallest units
287
- *
288
- * @param token Token reference (symbol, format string, or TokenClass)
289
- * @returns Token decimal precision from blockchain
290
- *
291
- * @example
292
- * ```typescript
293
- * // Get decimals for amount formatting
294
- * const decimals = await service.getTokenDecimals('anime');
295
- * console.log('Decimals:', decimals); // 8
296
- *
297
- * // Convert on-chain to user-friendly
298
- * function formatAmount(onChainAmount: string, decimals: number): string {
299
- * const amount = Number(onChainAmount) / Math.pow(10, decimals);
300
- * return amount.toFixed(decimals);
301
- * }
302
- *
303
- * const formatted = formatAmount("100000000", decimals);
304
- * console.log(formatted); // "1.00000000"
305
- * ```
306
- *
307
- * @category Metadata Resolution
308
- * @since 3.0.0
309
- */
310
- getTokenDecimals(token: string | TokenClass): number;
311
- /**
312
- * Clear metadata cache to force fresh blockchain queries
313
- *
314
- * Removes cached metadata entries. Can clear entire cache or a specific token.
315
- * Next request for cleared tokens will fetch fresh data from blockchain.
316
- *
317
- * ## Use Cases
318
- *
319
- * **Clear All:**
320
- * - Testing scenarios (fresh state)
321
- * - Memory management (rare)
322
- * - Major blockchain upgrade events
323
- *
324
- * **Clear Specific:**
325
- * - Token verification status changed
326
- * - Suspected stale data
327
- * - Debugging metadata issues
328
- *
329
- * ## When NOT to Clear
330
- *
331
- * **Metadata is immutable:**
332
- * - Symbol never changes
333
- * - Decimals never change
334
- * - Max supply never changes
335
- * - Cache clearing rarely needed
336
- *
337
- * **Performance impact:**
338
- * - Next request requires blockchain call (~100ms)
339
- * - Only clear if absolutely necessary
340
- *
341
- * @param tokenKey Optional token key to clear (clears all if omitted)
342
- *
343
- * @example
344
- * ```typescript
345
- * // Clear entire cache
346
- * service.clearCache();
347
- * console.log('All metadata cache cleared');
348
- *
349
- * // Clear specific token
350
- * service.clearCache('anime');
351
- * console.log('Cleared cache for anime token');
352
- * ```
353
- *
354
- * @category Cache Management
355
- * @since 3.0.0
356
- */
357
- clearCache(tokenKey?: string): void;
358
- /**
359
- * Get cache statistics for monitoring and debugging
360
- *
361
- * Returns cache metrics including size and all cached token keys.
362
- * Useful for monitoring cache health and verifying cache behavior.
363
- *
364
- * ## Metrics Provided
365
- *
366
- * - **size**: Number of cached tokens
367
- * - **entries**: Array of all cached token keys
368
- *
369
- * ## Use Cases
370
- *
371
- * **Cache Monitoring:**
372
- * ```typescript
373
- * const stats = service.getCacheStats();
374
- * console.log(`Cache size: ${stats.size} tokens`);
375
- * console.log(`Memory: ~${stats.size * 0.5}KB`); // Rough estimate
376
- * ```
377
- *
378
- * **Cache Health:**
379
- * ```typescript
380
- * // Monitor cache growth
381
- * setInterval(() => {
382
- * const stats = service.getCacheStats();
383
- * if (stats.size > 500) {
384
- * console.warn('Large metadata cache, consider clearing');
385
- * }
386
- * }, 300000); // Every 5 minutes
387
- * ```
388
- *
389
- * **Debugging:**
390
- * ```typescript
391
- * const stats = service.getCacheStats();
392
- * console.log('Cached tokens:', stats.entries);
393
- * const hasAnime = stats.entries.includes('anime');
394
- * console.log('Anime cached:', hasAnime);
395
- * ```
396
- *
397
- * @returns Cache statistics with size and entry keys
398
- *
399
- * @example
400
- * ```typescript
401
- * const stats = service.getCacheStats();
402
- * console.log('Cache size:', stats.size);
403
- * console.log('Cached tokens:', stats.entries.join(', '));
404
- * // Output: "anime, gala, gusdc"
405
- * ```
406
- *
407
- * @category Cache Management
408
- * @since 3.0.0
409
- */
410
- getCacheStats(): {
411
- size: number;
412
- entries: string[];
413
- };
414
- /**
415
- * Generate cache key from token reference
416
- * @private
417
- */
418
- private getCacheKey;
419
- /**
420
- * Extract metadata from token reference
421
- *
422
- * ⚠️ IMPORTANT: This is a PLACEHOLDER implementation
423
- * In production, this should query GalaChainService.fetchTokenClassFromChain()
424
- * to get REAL metadata from the blockchain.
425
- * @private
426
- */
427
- private extractMetadata;
428
- /**
429
- * Get known decimals for standard tokens
430
- *
431
- * ⚠️ HARDCODED VALUES - In production, query blockchain!
432
- * @private
433
- */
434
- private getDecimalsForToken;
435
- /**
436
- * Check if cache entry has expired
437
- * @private
438
- */
439
- private isCacheExpired;
440
- /**
441
- * Set cache expiry duration (time-to-live)
442
- *
443
- * Configures how long metadata remains cached before requiring refresh.
444
- * Default is 1 hour (3,600,000ms). Adjust based on your application's
445
- * requirements for data freshness vs. performance.
446
- *
447
- * ## Recommended TTL Values
448
- *
449
- * **Conservative (1 hour - default):**
450
- * ```typescript
451
- * service.setCacheExpiry(3600000); // 1 hour
452
- * // Good balance of freshness and performance
453
- * // Suitable for most applications
454
- * ```
455
- *
456
- * **Aggressive (1 day):**
457
- * ```typescript
458
- * service.setCacheExpiry(86400000); // 24 hours
459
- * // Maximum performance, minimal refreshes
460
- * // Safe because metadata is immutable
461
- * // Best for production apps
462
- * ```
463
- *
464
- * **Fresh (5 minutes):**
465
- * ```typescript
466
- * service.setCacheExpiry(300000); // 5 minutes
467
- * // Frequent refreshes for changing data
468
- * // Use if verification status updates frequently
469
- * ```
470
- *
471
- * **No Cache (for testing):**
472
- * ```typescript
473
- * service.setCacheExpiry(0); // Immediate expiry
474
- * // Every request fetches from blockchain
475
- * // Only use for testing/debugging
476
- * ```
477
- *
478
- * ## Trade-offs
479
- *
480
- * **Longer TTL (hours/days):**
481
- * - Pros: Better performance, fewer API calls
482
- * - Cons: Slightly stale data (verification status)
483
- * - Safe: Core metadata (symbol, decimals) never changes
484
- *
485
- * **Shorter TTL (minutes):**
486
- * - Pros: Fresher data, catches status changes
487
- * - Cons: More API calls, higher latency
488
- * - Rare benefit: Metadata rarely changes
489
- *
490
- * @param ms Cache expiry in milliseconds (default: 3600000 = 1 hour)
491
- *
492
- * @example
493
- * ```typescript
494
- * // Production: Long cache (metadata immutable)
495
- * service.setCacheExpiry(86400000); // 24 hours
496
- *
497
- * // Development: Short cache (debugging)
498
- * service.setCacheExpiry(60000); // 1 minute
499
- *
500
- * // Testing: No cache
501
- * service.setCacheExpiry(0); // Immediate expiry
502
- * ```
503
- *
504
- * @category Cache Management
505
- * @since 3.0.0
506
- */
507
- setCacheExpiry(ms: number): void;
508
- }
509
- //# sourceMappingURL=TokenMetadataService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenMetadataService.d.ts","sourceRoot":"","sources":["../../src/services/TokenMetadataService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AAEH,OAAO,KAAK,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAInE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,IAAI,EAAE,uBAAuB,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,WAAW,CAAmB;gBAE1B,SAAS,GAAE,OAAe;IAItC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0FG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,uBAAuB;IA0BzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM;IAKlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuDG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM;IAKpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAUnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IAQpD;;;OAGG;IAEH,OAAO,CAAC,WAAW;IAenB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAgEvB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkEG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAIjC"}
@@ -1,125 +0,0 @@
1
- /**
2
- * GalaChain Connect Provider
3
- *
4
- * Wraps @gala-chain/connect clients (BrowserConnectClient, TrustWalletConnectClient)
5
- * for use with the WalletProvider interface. This is an optional integration that
6
- * gracefully fails if @gala-chain/connect is not installed.
7
- *
8
- * @packageDocumentation
9
- */
10
- import type { TypedDataDomain, TypedDataField, WalletProvider, WalletProviderType } from './types';
11
- /**
12
- * Interface for @gala-chain/connect client methods
13
- *
14
- * This interface defines the minimal set of methods we need from
15
- * BrowserConnectClient or TrustWalletConnectClient
16
- */
17
- export interface GalaChainConnectClient {
18
- /** Signs a message and returns the signature */
19
- signMessage(message: string): Promise<string>;
20
- /** Gets the current account address (if connected) */
21
- getAccount?(): Promise<string | null>;
22
- /** Connect to the wallet - returns the connected address */
23
- connect?(): Promise<string>;
24
- /** Disconnect from the wallet (may return void or Promise<void>) */
25
- disconnect?(): void | Promise<void>;
26
- }
27
- /**
28
- * Wallet provider that wraps @gala-chain/connect clients
29
- *
30
- * This provider works with BrowserConnectClient (for MetaMask and generic EIP-1193
31
- * providers) and TrustWalletConnectClient from the @gala-chain/connect library.
32
- *
33
- * Note: @gala-chain/connect must be installed as a peer dependency to use this provider.
34
- *
35
- * @example
36
- * ```typescript
37
- * import { GalaChainConnectProvider } from '@gala-chain/launchpad-sdk/wallet';
38
- * import { BrowserConnectClient } from '@gala-chain/connect';
39
- *
40
- * // Create a @gala-chain/connect client
41
- * const client = new BrowserConnectClient();
42
- *
43
- * // Wrap it with our provider
44
- * const provider = new GalaChainConnectProvider(client);
45
- *
46
- * // Connect and use
47
- * await provider.connect();
48
- * const signature = await provider.signMessage('Hello');
49
- * ```
50
- */
51
- export declare class GalaChainConnectProvider implements WalletProvider {
52
- readonly providerType: WalletProviderType;
53
- private readonly client;
54
- private connectedAddress;
55
- /**
56
- * Creates a new GalaChainConnectProvider
57
- *
58
- * @param client - A @gala-chain/connect client (BrowserConnectClient or TrustWalletConnectClient)
59
- * @throws WalletProviderError if client is not provided
60
- */
61
- constructor(client: GalaChainConnectClient);
62
- /**
63
- * Creates a GalaChainConnectProvider with a new BrowserConnectClient
64
- *
65
- * @param provider - Optional EIP-1193 provider to pass to BrowserConnectClient
66
- * @returns Promise resolving to the provider
67
- * @throws WalletProviderError if @gala-chain/connect is not installed
68
- */
69
- static createBrowserClient(provider?: unknown): Promise<GalaChainConnectProvider>;
70
- /**
71
- * Creates a GalaChainConnectProvider with a new TrustWalletConnectClient
72
- *
73
- * @returns Promise resolving to the provider
74
- * @throws WalletProviderError if @gala-chain/connect is not installed
75
- */
76
- static createTrustWalletClient(): Promise<GalaChainConnectProvider>;
77
- /**
78
- * Checks if @gala-chain/connect is available
79
- */
80
- static isAvailable(): Promise<boolean>;
81
- /**
82
- * Ensures the provider is connected
83
- */
84
- private ensureConnected;
85
- /**
86
- * Connects to the wallet
87
- */
88
- connect(): Promise<string>;
89
- /**
90
- * Disconnects from the wallet
91
- */
92
- disconnect(): Promise<void>;
93
- /**
94
- * Checks if connected
95
- */
96
- isConnected(): boolean;
97
- /**
98
- * Signs a message using the @gala-chain/connect client
99
- */
100
- signMessage(message: string): Promise<string>;
101
- /**
102
- * Signs typed data using EIP-712
103
- *
104
- * Note: @gala-chain/connect clients may not support typed data signing directly.
105
- * This method attempts to use the underlying provider if available.
106
- */
107
- signTypedData(domain: TypedDataDomain, types: Record<string, TypedDataField[]>, value: Record<string, unknown>): Promise<string>;
108
- /**
109
- * Gets the connected address
110
- */
111
- getAddress(): Promise<string>;
112
- /**
113
- * Gets the address in Gala backend format
114
- */
115
- getGalaAddress(): Promise<string>;
116
- /**
117
- * Private key is not accessible through @gala-chain/connect
118
- */
119
- getPrivateKey(): Promise<string>;
120
- /**
121
- * Gets the underlying @gala-chain/connect client
122
- */
123
- getClient(): GalaChainConnectClient;
124
- }
125
- //# sourceMappingURL=GalaChainConnectProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GalaChainConnectProvider.d.ts","sourceRoot":"","sources":["../../src/wallet/GalaChainConnectProvider.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAMjB;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9C,sDAAsD;IACtD,UAAU,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEtC,4DAA4D;IAC5D,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5B,oEAAoE;IACpE,UAAU,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AA2BD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,wBAAyB,YAAW,cAAc;IAC7D,SAAgB,YAAY,EAAE,kBAAkB,CAAc;IAE9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;;;OAKG;gBACS,MAAM,EAAE,sBAAsB;IAmB1C;;;;;;OAMG;WACU,mBAAmB,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAqBvF;;;;;OAKG;WACU,uBAAuB,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAmBzE;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAM5C;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IA+ChC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBnD;;;;;OAKG;IACH,aAAa,CACX,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,MAAM,CAAC;IAalB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAKnC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAKvC;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAQhC;;OAEG;IACH,SAAS,IAAI,sBAAsB;CAGpC"}