@gala-chain/launchpad-sdk 4.0.7-beta.1 → 4.0.7-beta.5

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 (44) hide show
  1. package/README.md +144 -0
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.d.ts +2 -0
  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 +150 -0
  8. package/dist/src/LaunchpadSDK.d.ts.map +1 -1
  9. package/dist/src/bridge/BridgeService.d.ts +343 -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 +612 -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/index.d.ts +2 -0
  43. package/dist/src/index.d.ts.map +1 -1
  44. package/package.json +19 -2
@@ -0,0 +1,612 @@
1
+ /**
2
+ * Bridge DTOs and Interfaces
3
+ *
4
+ * Type definitions for cross-chain bridging operations between
5
+ * GalaChain, Ethereum, and Solana.
6
+ */
7
+ /**
8
+ * Supported external networks for bridging
9
+ */
10
+ export type ExternalNetwork = 'Ethereum' | 'Solana';
11
+ /**
12
+ * Token descriptor for GalaChain tokens
13
+ */
14
+ export interface BridgeTokenDescriptor {
15
+ collection: string;
16
+ category: string;
17
+ type: string;
18
+ additionalKey: string;
19
+ }
20
+ /**
21
+ * Token descriptor with instance (for specific token instances)
22
+ */
23
+ export interface BridgeTokenInstance extends BridgeTokenDescriptor {
24
+ instance: string;
25
+ }
26
+ /**
27
+ * Ethereum token configuration
28
+ */
29
+ export interface EthereumTokenConfig {
30
+ symbol: string;
31
+ amount: string;
32
+ contractAddress: string;
33
+ bridgeUsesPermit?: boolean;
34
+ decimals?: number;
35
+ }
36
+ /**
37
+ * Solana token configuration
38
+ */
39
+ export interface SolanaTokenConfig {
40
+ symbol: string;
41
+ amount: string;
42
+ mintAddress: string;
43
+ isNative?: boolean;
44
+ decimals?: number;
45
+ }
46
+ /**
47
+ * Bridge token configuration from GalaConnect API
48
+ */
49
+ export interface BridgeConfigurationToken extends BridgeTokenDescriptor {
50
+ symbol: string;
51
+ decimals: number;
52
+ verified?: boolean;
53
+ channel?: string;
54
+ canBridgeTo?: Array<{
55
+ network: string;
56
+ symbol: string;
57
+ destinationChainIds: string[];
58
+ }>;
59
+ otherNetworks?: Array<{
60
+ network: string;
61
+ symbol: string;
62
+ contractAddress: string;
63
+ canBridgeTo?: Array<{
64
+ network: string;
65
+ symbol: string;
66
+ destinationChainIds: string[];
67
+ }>;
68
+ }>;
69
+ }
70
+ /**
71
+ * Token metadata for internal use
72
+ */
73
+ export interface TokenMetadata {
74
+ descriptor: BridgeTokenDescriptor;
75
+ decimals: number;
76
+ channel?: string;
77
+ }
78
+ /**
79
+ * External token information (for exchange rates)
80
+ */
81
+ export interface ExternalTokenInfo {
82
+ name: string;
83
+ symbol: string;
84
+ }
85
+ /**
86
+ * GALA exchange rate from oracle
87
+ */
88
+ export interface GalaExchangeRate {
89
+ identity: string;
90
+ oracle: string;
91
+ source: string;
92
+ sourceUrl: string;
93
+ timestamp: number | string;
94
+ baseToken?: BridgeTokenInstance;
95
+ exchangeRate: string;
96
+ externalQuoteToken?: ExternalTokenInfo;
97
+ }
98
+ /**
99
+ * Base token cross rate
100
+ */
101
+ export interface BaseTokenCrossRate {
102
+ identity: string;
103
+ oracle: string;
104
+ source: string;
105
+ sourceUrl: string;
106
+ timestamp: number | string;
107
+ exchangeRate: string;
108
+ externalBaseToken?: ExternalTokenInfo;
109
+ externalQuoteToken?: ExternalTokenInfo;
110
+ signature: string;
111
+ }
112
+ /**
113
+ * Quote token cross rate
114
+ */
115
+ export interface QuoteTokenCrossRate {
116
+ identity: string;
117
+ oracle: string;
118
+ source: string;
119
+ sourceUrl: string;
120
+ timestamp: number | string;
121
+ baseToken?: BridgeTokenInstance;
122
+ exchangeRate: string;
123
+ externalQuoteToken?: ExternalTokenInfo;
124
+ signature: string;
125
+ }
126
+ /**
127
+ * GALA exchange cross rate (for non-GALA tokens)
128
+ */
129
+ export interface GalaExchangeCrossRate {
130
+ baseTokenCrossRate?: BaseTokenCrossRate;
131
+ crossRate: string;
132
+ externalCrossRateToken?: ExternalTokenInfo;
133
+ identity: string;
134
+ oracle: string;
135
+ quoteTokenCrossRate?: QuoteTokenCrossRate;
136
+ source: string;
137
+ timestamp: number | string;
138
+ }
139
+ /**
140
+ * Destination chain transaction fee structure
141
+ */
142
+ export interface DestinationChainTxFee {
143
+ bridgeToken: BridgeTokenDescriptor;
144
+ bridgeTokenIsNonFungible: boolean;
145
+ estimatedPricePerTxFeeUnit: string;
146
+ estimatedTotalTxFeeInExternalToken: string;
147
+ estimatedTotalTxFeeInGala: string;
148
+ estimatedTxFeeUnitsTotal: string;
149
+ galaDecimals: number | string;
150
+ galaExchangeRate?: GalaExchangeRate;
151
+ galaExchangeCrossRate?: GalaExchangeCrossRate;
152
+ timestamp: number | string;
153
+ signingIdentity: string;
154
+ signature: string;
155
+ }
156
+ /**
157
+ * Bridge fee estimate returned to SDK users
158
+ */
159
+ export interface BridgeFeeEstimate {
160
+ /** Estimated fee in GALA */
161
+ estimatedFeeInGala: string;
162
+ /** Estimated fee in the external chain's native token */
163
+ estimatedFeeInExternalToken: string;
164
+ /** Token used for bridge fees */
165
+ feeToken: BridgeTokenDescriptor;
166
+ /** Gas price per unit */
167
+ pricePerUnit: string;
168
+ /** Total estimated gas units */
169
+ estimatedGasUnits: string;
170
+ /** GALA exchange rate at time of estimate */
171
+ exchangeRate: string;
172
+ /** Timestamp of the estimate */
173
+ timestamp: number;
174
+ /** Raw fee response for advanced usage */
175
+ raw: DestinationChainTxFee;
176
+ }
177
+ /**
178
+ * Bridge request DTO for outbound bridges
179
+ */
180
+ export interface BridgeRequestDto {
181
+ uniqueKey?: string;
182
+ tokenInstance: BridgeTokenInstance;
183
+ destinationChainId: number | string;
184
+ quantity: string;
185
+ recipient: string;
186
+ destinationChainTxFee: DestinationChainTxFee;
187
+ }
188
+ /**
189
+ * Bridge status codes
190
+ */
191
+ export declare enum BridgeStatusCode {
192
+ PENDING = 0,
193
+ SUBMITTED = 1,
194
+ CONFIRMED = 2,
195
+ PROCESSING = 3,
196
+ FINALIZING = 4,
197
+ COMPLETED = 5,
198
+ FAILED = 6
199
+ }
200
+ /**
201
+ * Bridge status response (normalized)
202
+ */
203
+ export interface BridgeStatus {
204
+ /** Numeric status code */
205
+ status: BridgeStatusCode;
206
+ /** Human-readable status description */
207
+ statusDescription: string;
208
+ /** Source chain */
209
+ fromChain: string;
210
+ /** Destination chain */
211
+ toChain: string;
212
+ /** Amount being bridged */
213
+ quantity: string;
214
+ /** Transaction hash on emitter chain */
215
+ transactionHash: string;
216
+ /** Token being bridged */
217
+ tokenInstance?: BridgeTokenInstance;
218
+ /** Whether the bridge is complete */
219
+ isComplete: boolean;
220
+ /** Whether the bridge failed */
221
+ isFailed: boolean;
222
+ /** Error message if failed */
223
+ error?: string;
224
+ }
225
+ /**
226
+ * Bridge transaction result
227
+ */
228
+ export interface BridgeTransaction {
229
+ /** Direction of the bridge */
230
+ direction: 'outbound' | 'inbound';
231
+ /** Source chain */
232
+ fromChain: string;
233
+ /** Destination chain */
234
+ toChain: string;
235
+ /** Transaction hash */
236
+ transactionHash: string;
237
+ /** Token symbol */
238
+ tokenSymbol: string;
239
+ /** Amount bridged */
240
+ amount: string;
241
+ /** Fee paid (in GALA for outbound, native token for inbound) */
242
+ feePaid?: string;
243
+ /** Timestamp when transaction was submitted */
244
+ timestamp: number;
245
+ /** Bridge status tracking URL */
246
+ statusUrl: string;
247
+ }
248
+ /**
249
+ * Bridge leg result (for round-trip tracking)
250
+ */
251
+ export interface BridgeLegResult {
252
+ direction: 'Outbound' | 'Inbound';
253
+ fromChain: string;
254
+ toChain: string;
255
+ startTimestamp: number;
256
+ endTimestamp?: number;
257
+ durationMs?: number;
258
+ feePaid?: string;
259
+ feeToken?: string;
260
+ transactionHash?: string;
261
+ additionalInfo?: Record<string, unknown>;
262
+ error?: string;
263
+ }
264
+ /**
265
+ * Token round-trip result
266
+ */
267
+ export interface TokenRoundTripResult {
268
+ token: string;
269
+ network: ExternalNetwork;
270
+ amount: string;
271
+ legs: BridgeLegResult[];
272
+ outboundCompleted: boolean;
273
+ inboundCompleted: boolean;
274
+ roundTripDurationMs?: number;
275
+ totalFees?: Array<{
276
+ amount: string;
277
+ token: string;
278
+ context: string;
279
+ }>;
280
+ failures?: string[];
281
+ }
282
+ /**
283
+ * Supported bridge token info for discovery
284
+ */
285
+ export interface BridgeToken {
286
+ /** Token symbol (e.g., 'GALA', 'GWETH') */
287
+ symbol: string;
288
+ /** Token name */
289
+ name?: string;
290
+ /** Token decimals */
291
+ decimals: number;
292
+ /** Whether verified by Gala */
293
+ verified: boolean;
294
+ /** Supported destination chains */
295
+ supportedChains: ExternalNetwork[];
296
+ /** GalaChain token descriptor */
297
+ galaChainDescriptor: BridgeTokenDescriptor;
298
+ /** External chain addresses */
299
+ externalAddresses: {
300
+ ethereum?: string;
301
+ solana?: string;
302
+ };
303
+ }
304
+ /**
305
+ * Bridge SDK configuration
306
+ */
307
+ export interface BridgeConfig {
308
+ /** GalaConnect API base URL */
309
+ galaConnectBaseUrl: string;
310
+ /** GalaChain API base URL (optional, defaults to galaConnectBaseUrl) */
311
+ galaChainApiBaseUrl?: string;
312
+ /** Ethereum RPC URL (optional, defaults to public endpoint) */
313
+ ethereumRpcUrl?: string;
314
+ /** Solana RPC URL (optional, defaults to public endpoint) */
315
+ solanaRpcUrl?: string;
316
+ /** Ethereum bridge contract address (optional, defaults to mainnet) */
317
+ ethereumBridgeContract?: string;
318
+ /** Solana bridge program ID (optional, defaults to mainnet) */
319
+ solanaBridgeProgram?: string;
320
+ /** Ethereum private key for inbound bridges (optional) */
321
+ ethereumPrivateKey?: string;
322
+ /** Solana private key (base58) for inbound bridges (optional) */
323
+ solanaPrivateKey?: string;
324
+ /** Rate limit for API calls (requests per second) */
325
+ rateLimit?: number;
326
+ /** Status polling interval in milliseconds */
327
+ pollInterval?: number;
328
+ /** Status polling timeout in milliseconds */
329
+ pollTimeout?: number;
330
+ }
331
+ /**
332
+ * Parameters for estimating bridge fees
333
+ */
334
+ export interface EstimateBridgeFeeParams {
335
+ /** Token symbol to bridge */
336
+ tokenSymbol: string;
337
+ /** Destination chain */
338
+ destinationChain: ExternalNetwork;
339
+ /** Amount to bridge (optional, for more accurate estimates) */
340
+ amount?: string;
341
+ }
342
+ /**
343
+ * Parameters for bridging out (GalaChain -> External)
344
+ */
345
+ export interface BridgeOutParams {
346
+ /** Token symbol to bridge */
347
+ tokenSymbol: string;
348
+ /** Amount to bridge */
349
+ amount: string;
350
+ /** Destination chain */
351
+ destinationChain: ExternalNetwork;
352
+ /** Recipient address on destination chain */
353
+ recipientAddress: string;
354
+ /** Optional slippage tolerance for fee (0-1, e.g., 0.01 for 1%) */
355
+ feeSlippageTolerance?: number;
356
+ }
357
+ /**
358
+ * Parameters for bridging in (External -> GalaChain)
359
+ */
360
+ export interface BridgeInParams {
361
+ /** Token symbol to bridge */
362
+ tokenSymbol: string;
363
+ /** Amount to bridge */
364
+ amount: string;
365
+ /** Source chain */
366
+ sourceChain: ExternalNetwork;
367
+ /** Private key for source chain wallet (overrides config) */
368
+ sourcePrivateKey?: string;
369
+ /** Recipient GalaChain address (optional, defaults to SDK wallet) */
370
+ recipientAddress?: string;
371
+ }
372
+ /**
373
+ * Options for waiting on bridge completion
374
+ */
375
+ export interface WaitForBridgeOptions {
376
+ /** Polling interval in milliseconds (default: 15000) */
377
+ pollInterval?: number;
378
+ /** Timeout in milliseconds (default: 45 minutes) */
379
+ timeout?: number;
380
+ /** Callback for status updates */
381
+ onStatusUpdate?: (status: BridgeStatus) => void;
382
+ }
383
+ /**
384
+ * Configuration for GalaConnect client
385
+ */
386
+ export interface GalaConnectConfig {
387
+ /** GalaConnect API base URL */
388
+ baseUrl?: string;
389
+ /** GalaChain API base URL */
390
+ galachainBaseUrl?: string;
391
+ /** Wallet address in GalaChain format (e.g., 'eth|0x...') */
392
+ walletAddress: string;
393
+ /** Requests per second (rate limiting) */
394
+ requestsPerSecond?: number;
395
+ /**
396
+ * Enable automatic retry for transient failures (default: true)
397
+ *
398
+ * When enabled, requests that fail due to network errors or
399
+ * server errors (5xx, 429) will be automatically retried with
400
+ * exponential backoff.
401
+ */
402
+ enableRetry?: boolean;
403
+ /**
404
+ * Maximum number of retry attempts (default: 3)
405
+ *
406
+ * Only used when enableRetry is true.
407
+ */
408
+ maxRetries?: number;
409
+ /**
410
+ * Initial delay in milliseconds before first retry (default: 1000)
411
+ *
412
+ * Subsequent retries use exponential backoff (delay doubles each time).
413
+ */
414
+ retryInitialDelayMs?: number;
415
+ /**
416
+ * Callback invoked before each retry attempt.
417
+ *
418
+ * Useful for logging or monitoring retry behavior.
419
+ *
420
+ * @param error - The error that triggered the retry
421
+ * @param attempt - Current attempt number (1-based)
422
+ * @param delayMs - Delay before next attempt in milliseconds
423
+ */
424
+ onRetry?: (error: unknown, attempt: number, delayMs: number) => void;
425
+ }
426
+ /**
427
+ * Bridge fee response from GalaConnect API
428
+ */
429
+ export interface BridgeFeeResponse {
430
+ bridgeToken: BridgeTokenDescriptor;
431
+ bridgeTokenIsNonFungible: boolean;
432
+ estimatedPricePerTxFeeUnit: string;
433
+ estimatedTotalTxFeeInExternalToken: string;
434
+ estimatedTotalTxFeeInGala: string;
435
+ estimatedTxFeeUnitsTotal: string;
436
+ galaDecimals: number;
437
+ galaExchangeRate: GalaExchangeRate;
438
+ galaExchangeCrossRate?: GalaExchangeCrossRate;
439
+ timestamp: number;
440
+ signingIdentity: string;
441
+ signature: string;
442
+ }
443
+ /**
444
+ * Response from RequestTokenBridgeOut API
445
+ *
446
+ * Note: The GalaConnect API may return additional undocumented fields.
447
+ * The index signature ensures compatibility with Record<string, unknown>
448
+ * while preserving type safety for known fields.
449
+ *
450
+ * Known fields may appear in different casings (e.g., Data/data, Hash/hash)
451
+ * due to API response inconsistencies across different endpoints.
452
+ */
453
+ export interface RequestBridgeOutResponse {
454
+ Data?: string;
455
+ data?: {
456
+ Data?: string;
457
+ } | string;
458
+ Hash?: string;
459
+ hash?: string;
460
+ Status?: number;
461
+ status?: number;
462
+ message?: string;
463
+ /** Index signature for API compatibility (additional undocumented fields) */
464
+ [key: string]: unknown;
465
+ }
466
+ /**
467
+ * Response from BridgeTokenOut API
468
+ */
469
+ export interface BridgeTokenOutResponse {
470
+ Data?: {
471
+ chainId: number;
472
+ emitter: string;
473
+ nonce: string;
474
+ sequence: string;
475
+ payload: string;
476
+ };
477
+ Hash?: string;
478
+ hash?: string;
479
+ Status?: number;
480
+ status?: number;
481
+ message?: string;
482
+ }
483
+ /**
484
+ * Response from bridge status API
485
+ */
486
+ export interface BridgeStatusResponse {
487
+ status: number;
488
+ error: boolean;
489
+ message: string;
490
+ data: {
491
+ status: number;
492
+ statusDescription: string;
493
+ fromChain: string;
494
+ toChain: string;
495
+ quantity: string;
496
+ emitterTransactionHash: string;
497
+ tokenInstance: BridgeTokenInstance;
498
+ };
499
+ }
500
+ /**
501
+ * Response from bridge transaction registration API
502
+ */
503
+ export interface BridgeTransactionRegistrationResponse {
504
+ status: number;
505
+ message: string;
506
+ error: boolean;
507
+ data?: Record<string, unknown>;
508
+ }
509
+ /**
510
+ * Token balance entry from FetchBalances
511
+ */
512
+ export interface TokenBalanceEntry {
513
+ tokenInstance: BridgeTokenInstance;
514
+ balance: string;
515
+ locked?: string;
516
+ }
517
+ /**
518
+ * Response from FetchBalances API
519
+ */
520
+ export interface FetchBalancesResponse {
521
+ status: number;
522
+ message: string;
523
+ error: boolean;
524
+ data?: {
525
+ balances: TokenBalanceEntry[];
526
+ };
527
+ }
528
+ /**
529
+ * Balance for a single token on an external chain (Ethereum or Solana)
530
+ *
531
+ * Represents either a native token (ETH/SOL) or a token contract (ERC-20/SPL).
532
+ *
533
+ * @example
534
+ * ```typescript
535
+ * // Native ETH balance
536
+ * const ethBalance: ExternalChainBalance = {
537
+ * symbol: 'ETH',
538
+ * quantity: '1.500000000000000000',
539
+ * decimals: 18,
540
+ * contractAddress: null,
541
+ * isNative: true,
542
+ * };
543
+ *
544
+ * // ERC-20 GALA balance
545
+ * const galaBalance: ExternalChainBalance = {
546
+ * symbol: 'GALA',
547
+ * quantity: '1000.00000000',
548
+ * decimals: 8,
549
+ * contractAddress: '0x15D4c048F83bd7e37d49eA4C83a07267Ec4203dA',
550
+ * isNative: false,
551
+ * };
552
+ * ```
553
+ */
554
+ export interface ExternalChainBalance {
555
+ /** Token symbol (e.g., "GALA", "GWETH", "ETH", "SOL") */
556
+ symbol: string;
557
+ /** Balance as decimal string (e.g., "123.45678901") */
558
+ quantity: string;
559
+ /** Token decimals */
560
+ decimals: number;
561
+ /** Contract address (ERC-20) or mint address (SPL), null for native tokens */
562
+ contractAddress: string | null;
563
+ /** Whether this is the native token (ETH/SOL) */
564
+ isNative: boolean;
565
+ }
566
+ /**
567
+ * Complete Ethereum wallet balance result
568
+ *
569
+ * Returns native ETH balance plus all supported ERC-20 token balances:
570
+ * GALA, GWETH, GUSDC, GUSDT, GWTRX, GWBTC
571
+ *
572
+ * @example
573
+ * ```typescript
574
+ * const result = await sdk.fetchEthereumWalletBalance('0x...');
575
+ * console.log(`ETH: ${result.native.quantity}`);
576
+ * console.log(`Tokens: ${result.tokens.map(t => `${t.symbol}: ${t.quantity}`).join(', ')}`);
577
+ * ```
578
+ */
579
+ export interface EthereumWalletBalanceResult {
580
+ /** Wallet address queried (0x format) */
581
+ address: string;
582
+ /** Native ETH balance */
583
+ native: ExternalChainBalance;
584
+ /** ERC-20 token balances (GALA, GWETH, GUSDC, GUSDT, GWTRX, GWBTC) */
585
+ tokens: ExternalChainBalance[];
586
+ /** Query timestamp (epoch ms) */
587
+ timestamp: number;
588
+ }
589
+ /**
590
+ * Complete Solana wallet balance result
591
+ *
592
+ * Returns native SOL balance plus all supported SPL token balances:
593
+ * GALA, GSOL
594
+ *
595
+ * @example
596
+ * ```typescript
597
+ * const result = await sdk.fetchSolanaWalletBalance('9WzDXw...');
598
+ * console.log(`SOL: ${result.native.quantity}`);
599
+ * console.log(`Tokens: ${result.tokens.map(t => `${t.symbol}: ${t.quantity}`).join(', ')}`);
600
+ * ```
601
+ */
602
+ export interface SolanaWalletBalanceResult {
603
+ /** Wallet address queried (base58 format) */
604
+ address: string;
605
+ /** Native SOL balance */
606
+ native: ExternalChainBalance;
607
+ /** SPL token balances (GALA, GSOL) */
608
+ tokens: ExternalChainBalance[];
609
+ /** Query timestamp (epoch ms) */
610
+ timestamp: number;
611
+ }
612
+ //# sourceMappingURL=bridge.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.dto.d.ts","sourceRoot":"","sources":["../../../../src/bridge/types/bridge.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * EIP-712 Typed Data Schemas for GalaChain Bridge
3
+ *
4
+ * These schemas define the structure for typed data signing
5
+ * required by the GalaChain bridge.
6
+ */
7
+ /**
8
+ * GalaConnect typed data domain
9
+ */
10
+ export declare const GALA_BRIDGE_TYPED_DATA_DOMAIN: {
11
+ readonly name: "GalaConnect";
12
+ readonly chainId: 1;
13
+ };
14
+ /**
15
+ * EIP-712 type definition
16
+ */
17
+ export interface TypedDataField {
18
+ name: string;
19
+ type: string;
20
+ }
21
+ /**
22
+ * Legacy typed data types (for tokens with direct GALA exchange rate)
23
+ */
24
+ export declare const LEGACY_TYPED_DATA_TYPES: Record<string, TypedDataField[]>;
25
+ /**
26
+ * Cross-rate typed data types (for tokens requiring cross-rate calculation)
27
+ */
28
+ export declare const CROSS_RATE_TYPED_DATA_TYPES: Record<string, TypedDataField[]>;
29
+ /**
30
+ * Get the appropriate typed data types based on whether cross-rate is used
31
+ *
32
+ * @param hasCrossRate - Whether the fee uses cross-rate calculation
33
+ * @returns The appropriate typed data types for EIP-712 signing
34
+ */
35
+ export declare function getGalaBridgeTypedDataTypes(hasCrossRate: boolean): Record<string, TypedDataField[]>;
36
+ /**
37
+ * ERC-20 Permit typed data types for gas-less approvals
38
+ */
39
+ export declare const ERC20_PERMIT_TYPES: {
40
+ readonly Permit: readonly [{
41
+ readonly name: "owner";
42
+ readonly type: "address";
43
+ }, {
44
+ readonly name: "spender";
45
+ readonly type: "address";
46
+ }, {
47
+ readonly name: "value";
48
+ readonly type: "uint256";
49
+ }, {
50
+ readonly name: "nonce";
51
+ readonly type: "uint256";
52
+ }, {
53
+ readonly name: "deadline";
54
+ readonly type: "uint256";
55
+ }];
56
+ };
57
+ //# sourceMappingURL=eip712.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip712.d.ts","sourceRoot":"","sources":["../../../../src/bridge/types/eip712.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;CAGhC,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAmDD;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CA6BpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAqDxE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,OAAO,GACpB,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAElC;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;CAQrB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Bridge Types Index
3
+ *
4
+ * Re-exports all bridge-related types.
5
+ */
6
+ export * from './bridge.dto.js';
7
+ export * from './eip712.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bridge/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}