@gala-chain/launchpad-sdk 4.0.6 → 4.0.7-beta.10

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 (55) hide show
  1. package/README.md +174 -4
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.d.ts +3 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.esm.js +1 -1
  6. package/dist/index.js +1 -1
  7. package/dist/src/LaunchpadSDK.d.ts +214 -1
  8. package/dist/src/LaunchpadSDK.d.ts.map +1 -1
  9. package/dist/src/bridge/BridgeService.d.ts +364 -0
  10. package/dist/src/bridge/BridgeService.d.ts.map +1 -0
  11. package/dist/src/bridge/GalaConnectClient.d.ts +164 -0
  12. package/dist/src/bridge/GalaConnectClient.d.ts.map +1 -0
  13. package/dist/src/bridge/constants/index.d.ts +7 -0
  14. package/dist/src/bridge/constants/index.d.ts.map +1 -0
  15. package/dist/src/bridge/constants/tokens.d.ts +181 -0
  16. package/dist/src/bridge/constants/tokens.d.ts.map +1 -0
  17. package/dist/src/bridge/index.d.ts +22 -0
  18. package/dist/src/bridge/index.d.ts.map +1 -0
  19. package/dist/src/bridge/strategies/BridgeStrategy.d.ts +160 -0
  20. package/dist/src/bridge/strategies/BridgeStrategy.d.ts.map +1 -0
  21. package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts +198 -0
  22. package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts.map +1 -0
  23. package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts +207 -0
  24. package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts.map +1 -0
  25. package/dist/src/bridge/strategies/index.d.ts +9 -0
  26. package/dist/src/bridge/strategies/index.d.ts.map +1 -0
  27. package/dist/src/bridge/types/bridge.dto.d.ts +618 -0
  28. package/dist/src/bridge/types/bridge.dto.d.ts.map +1 -0
  29. package/dist/src/bridge/types/eip712.d.ts +57 -0
  30. package/dist/src/bridge/types/eip712.d.ts.map +1 -0
  31. package/dist/src/bridge/types/index.d.ts +8 -0
  32. package/dist/src/bridge/types/index.d.ts.map +1 -0
  33. package/dist/src/bridge/utils/RateLimiter.d.ts +34 -0
  34. package/dist/src/bridge/utils/RateLimiter.d.ts.map +1 -0
  35. package/dist/src/bridge/utils/index.d.ts +9 -0
  36. package/dist/src/bridge/utils/index.d.ts.map +1 -0
  37. package/dist/src/bridge/utils/retry.d.ts +96 -0
  38. package/dist/src/bridge/utils/retry.d.ts.map +1 -0
  39. package/dist/src/bridge/utils/tokenMath.d.ts +39 -0
  40. package/dist/src/bridge/utils/tokenMath.d.ts.map +1 -0
  41. package/dist/src/constants/version.generated.d.ts +1 -1
  42. package/dist/src/constants/version.generated.d.ts.map +1 -1
  43. package/dist/src/index.d.ts +3 -1
  44. package/dist/src/index.d.ts.map +1 -1
  45. package/dist/src/services/DexBackendClient.d.ts +51 -1
  46. package/dist/src/services/DexBackendClient.d.ts.map +1 -1
  47. package/dist/src/services/GSwapService.d.ts +62 -8
  48. package/dist/src/services/GSwapService.d.ts.map +1 -1
  49. package/dist/src/types/galachain-api.types.d.ts +28 -0
  50. package/dist/src/types/galachain-api.types.d.ts.map +1 -1
  51. package/dist/src/types/gswap.dto.d.ts +43 -4
  52. package/dist/src/types/gswap.dto.d.ts.map +1 -1
  53. package/dist/src/utils/validation-helpers.d.ts +9 -1
  54. package/dist/src/utils/validation-helpers.d.ts.map +1 -1
  55. package/package.json +19 -2
package/README.md CHANGED
@@ -73,6 +73,8 @@ console.log(pools.hasNext); // Computed convenience properties
73
73
  - **User Operations**: Portfolio management, token balances, and account management
74
74
  - **Comment System**: Post and retrieve comments on token pools
75
75
  - **Price History**: Fetch historical price data for DEX tokens with pagination (Node.js only)
76
+ - **Cross-Chain Bridging**: Transfer tokens between GalaChain, Ethereum, and Solana with fee estimation
77
+ - **External Wallet Balances**: Query Ethereum and Solana wallet balances (single-token or full portfolio)
76
78
  - **Comprehensive Validation**: Input validation and error handling for all operations
77
79
  - **Multi-Environment Support**: Production, staging, and custom backend URLs
78
80
 
@@ -1232,6 +1234,106 @@ await sdk.unlockToken({
1232
1234
  - **Escrow**: Third-party holds tokens until conditions met
1233
1235
  - **Vesting**: Time-locked token releases with expiration
1234
1236
 
1237
+ ## Cross-Chain Bridge Operations
1238
+
1239
+ The SDK provides comprehensive cross-chain bridging for GalaChain ↔ Ethereum and GalaChain ↔ Solana transfers.
1240
+
1241
+ ### Configuration
1242
+
1243
+ ```typescript
1244
+ import { LaunchpadSDK } from '@gala-chain/launchpad-sdk';
1245
+
1246
+ const sdk = new LaunchpadSDK({
1247
+ wallet: process.env.PRIVATE_KEY,
1248
+ // Bridge configuration (optional - enables bridge operations)
1249
+ ethereumPrivateKey: process.env.ETHEREUM_PRIVATE_KEY, // Required for Ethereum bridging
1250
+ solanaPrivateKey: process.env.SOLANA_PRIVATE_KEY, // Required for Solana bridging
1251
+ });
1252
+ ```
1253
+
1254
+ ### Wallet Balance Queries
1255
+
1256
+ Query Ethereum and Solana wallet balances with two approaches:
1257
+
1258
+ **Single Token Queries (Fast - 1 RPC call)**
1259
+ ```typescript
1260
+ // Single ERC-20 token balance
1261
+ const gala = await sdk.fetchEthereumWalletTokenBalance('GALA');
1262
+ // Returns: { symbol: 'GALA', quantity: '1234.56', decimals: 8, contractAddress: '0x...', isNative: false }
1263
+
1264
+ // Native ETH balance
1265
+ const eth = await sdk.fetchEthereumWalletNativeBalance();
1266
+ // Returns: { symbol: 'ETH', quantity: '0.5', decimals: 18, contractAddress: null, isNative: true }
1267
+
1268
+ // Single SPL token balance (Solana)
1269
+ const solGala = await sdk.fetchSolanaWalletTokenBalance('GALA');
1270
+ // Returns: { symbol: 'GALA', quantity: '789.01', decimals: 8, contractAddress: '...', isNative: false }
1271
+
1272
+ // Native SOL balance
1273
+ const sol = await sdk.fetchSolanaWalletNativeBalance();
1274
+ // Returns: { symbol: 'SOL', quantity: '2.5', decimals: 9, contractAddress: null, isNative: true }
1275
+ ```
1276
+
1277
+ **All Tokens Queries (Complete portfolio view)**
1278
+ ```typescript
1279
+ // Ethereum: ETH + all supported ERC-20s (GALA, GWETH, GUSDC, GUSDT, GWTRX, GWBTC)
1280
+ const allEth = await sdk.fetchEthereumWalletAllBalances();
1281
+ console.log(allEth.native.quantity); // ETH balance
1282
+ console.log(allEth.tokens); // 6 ERC-20 balances
1283
+ console.log(allEth.address); // Wallet address
1284
+ console.log(allEth.timestamp); // Query timestamp
1285
+
1286
+ // Solana: SOL + all supported SPL tokens (GALA, GSOL)
1287
+ const allSol = await sdk.fetchSolanaWalletAllBalances();
1288
+ console.log(allSol.native.quantity); // SOL balance
1289
+ console.log(allSol.tokens); // 2 SPL balances
1290
+ ```
1291
+
1292
+ **When to use which:**
1293
+ - **Single-token queries**: Quick checks, performance-critical scenarios, frequent polling
1294
+ - **All-tokens queries**: Portfolio dashboards, wallet UIs, multi-token operations
1295
+
1296
+ ### Bridge Operations
1297
+
1298
+ ```typescript
1299
+ // Estimate fees before bridging
1300
+ const fee = await sdk.estimateBridgeFee({
1301
+ tokenSymbol: 'GALA',
1302
+ destinationChain: 'Ethereum',
1303
+ amount: '1000',
1304
+ });
1305
+
1306
+ // Bridge OUT: GalaChain → Ethereum/Solana
1307
+ const result = await sdk.bridgeOut({
1308
+ tokenSymbol: 'GALA',
1309
+ amount: '1000',
1310
+ destinationChain: 'Ethereum',
1311
+ recipientAddress: '0x...',
1312
+ });
1313
+
1314
+ // Bridge IN: Ethereum/Solana → GalaChain
1315
+ const result = await sdk.bridgeIn({
1316
+ tokenSymbol: 'GALA',
1317
+ amount: '1000',
1318
+ sourceChain: 'Ethereum',
1319
+ });
1320
+
1321
+ // Check bridge status
1322
+ const status = await sdk.getBridgeStatus(result.transactionHash);
1323
+ ```
1324
+
1325
+ ### Supported Tokens
1326
+
1327
+ | Token | Symbol | Ethereum | Solana | Decimals |
1328
+ |-------|--------|----------|--------|----------|
1329
+ | GALA | GALA | ✅ | ✅ | 8 |
1330
+ | Wrapped ETH | GWETH | ✅ | - | 18 |
1331
+ | USD Coin | GUSDC | ✅ | - | 6 |
1332
+ | Tether USD | GUSDT | ✅ | - | 6 |
1333
+ | Wrapped TRON | GWTRX | ✅ | - | 6 |
1334
+ | Wrapped BTC | GWBTC | ✅ | - | 8 |
1335
+ | Wrapped SOL | GSOL | - | ✅ | 9 |
1336
+
1235
1337
  ## Multi-Wallet Support
1236
1338
 
1237
1339
  The SDK supports **per-operation wallet overrides** for testing multi-wallet workflows without creating new SDK instances. This is ideal for:
@@ -2138,8 +2240,21 @@ executeSwap(fromToken, toToken, amount, estimatedOutput, feeTier, slippageTolera
2138
2240
 
2139
2241
  // GSwap User Operations
2140
2242
  getSwapUserAssets(walletAddress): Promise<UserAsset[]>
2141
- // Returns: [{ tokenId, symbol, balance, decimals }, ...]
2142
- // Get user token balances across all DEX pools
2243
+ // Returns: [{ tokenId, symbol, name, description, image, balance, decimals, verified, compositeKey }, ...]
2244
+ // Get user token balances with rich metadata (v4.1.0+)
2245
+
2246
+ getAllSwapUserAssets(walletAddress): Promise<UserAsset[]>
2247
+ // Returns: All user tokens with rich metadata (auto-paginated)
2248
+ // Optimized: Stops fetching when zero-balance tokens encountered
2249
+
2250
+ // Token Discovery (no wallet required)
2251
+ fetchAvailableDexTokens({ search?, limit?, page? }): Promise<AvailableDexTokensResult>
2252
+ // Returns: { tokens: DexToken[], count, page, limit, hasMore }
2253
+ // Paginated token discovery with rich metadata
2254
+
2255
+ fetchAllAvailableDexTokens({ search? }): Promise<DexToken[]>
2256
+ // Returns: All available DEX tokens (auto-paginated)
2257
+ // Use for comprehensive token catalogs and listings
2143
2258
 
2144
2259
  getSwapPoolInfo(tokenA, tokenB): Promise<PoolInfo>
2145
2260
  // Returns: { tokenA, tokenB, liquidity, feeTiers, swapCount }
@@ -2196,12 +2311,25 @@ const swapResult = await gswapService.executeSwap({
2196
2311
  console.log(`Swap completed! TX: ${swapResult.transactionId}`);
2197
2312
  console.log(`Received: ${swapResult.outputAmount} GUSDC`);
2198
2313
 
2199
- // Query user assets on DEX
2314
+ // Query user assets on DEX (returns rich metadata)
2200
2315
  const assets = await gswapService.getUserAssets('eth|0x...');
2201
2316
  assets.forEach(asset => {
2202
- console.log(`${asset.symbol}: ${asset.balance}`);
2317
+ console.log(`${asset.symbol} (${asset.name}): ${asset.balance}`);
2318
+ console.log(` Image: ${asset.image}`);
2319
+ console.log(` Verified: ${asset.verified}`);
2203
2320
  });
2204
2321
 
2322
+ // Discover all available DEX tokens (no wallet required)
2323
+ const availableTokens = await sdk.fetchAvailableDexTokens({ limit: 20, page: 1 });
2324
+ console.log(`Found ${availableTokens.count} tokens on DEX`);
2325
+ availableTokens.tokens.forEach(token => {
2326
+ console.log(`${token.symbol}: ${token.name} - ${token.description}`);
2327
+ });
2328
+
2329
+ // Get ALL available tokens (auto-paginated)
2330
+ const allTokens = await sdk.fetchAllAvailableDexTokens();
2331
+ console.log(`Total: ${allTokens.length} tokens available on DEX`);
2332
+
2205
2333
  // Get pool information for token pair
2206
2334
  const poolInfo = await gswapService.getPoolInfo('GALA', 'GUSDC');
2207
2335
  console.log(`Liquidity: ${poolInfo.liquidity}`);
@@ -2304,6 +2432,48 @@ uploadProfileImage(options): Promise<ImageUploadResult>
2304
2432
  - `resolveVaultAddress(tokenName: string): Promise<string>`
2305
2433
  - `cleanup(): void` - Cleanup resources
2306
2434
 
2435
+ ### **Cross-Chain Bridge Operations**
2436
+
2437
+ ```typescript
2438
+ // Bridge Configuration (requires ethereumPrivateKey and/or solanaPrivateKey)
2439
+
2440
+ // Wallet Balance Queries - Single Token (Fast - 1 RPC call)
2441
+ fetchEthereumWalletTokenBalance(symbol, address?): Promise<ExternalChainBalance>
2442
+ // Fetch single ERC-20 balance (GALA, GWETH, GUSDC, GUSDT, GWTRX, GWBTC)
2443
+
2444
+ fetchEthereumWalletNativeBalance(address?): Promise<ExternalChainBalance>
2445
+ // Fetch native ETH balance only
2446
+
2447
+ fetchSolanaWalletTokenBalance(symbol, address?): Promise<ExternalChainBalance>
2448
+ // Fetch single SPL token balance (GALA, GSOL)
2449
+
2450
+ fetchSolanaWalletNativeBalance(address?): Promise<ExternalChainBalance>
2451
+ // Fetch native SOL balance only
2452
+
2453
+ // Wallet Balance Queries - All Tokens (Complete Portfolio)
2454
+ fetchEthereumWalletAllBalances(address?): Promise<EthereumWalletBalanceResult>
2455
+ // Returns: { address, native, tokens[], timestamp } - ETH + 6 ERC-20s
2456
+
2457
+ fetchSolanaWalletAllBalances(address?): Promise<SolanaWalletBalanceResult>
2458
+ // Returns: { address, native, tokens[], timestamp } - SOL + 2 SPL tokens
2459
+
2460
+ // Bridge Operations
2461
+ estimateBridgeFee(options): Promise<BridgeFeeEstimate>
2462
+ // Estimate fees for bridging tokens
2463
+
2464
+ bridgeOut(options): Promise<BridgeResult>
2465
+ // Bridge tokens FROM GalaChain TO Ethereum/Solana
2466
+
2467
+ bridgeIn(options): Promise<BridgeResult>
2468
+ // Bridge tokens FROM Ethereum/Solana TO GalaChain
2469
+
2470
+ getBridgeStatus(transactionHash, chainHint?): Promise<BridgeStatus>
2471
+ // Check status of bridge transaction
2472
+
2473
+ getSupportedBridgeTokens(chain?): BridgeTokenInfo[]
2474
+ // List supported bridge tokens
2475
+ ```
2476
+
2307
2477
  ## Configuration
2308
2478
 
2309
2479
  ### Constants