@gala-chain/launchpad-sdk 4.0.7-beta.3 → 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.
- package/README.md +144 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/src/LaunchpadSDK.d.ts +150 -0
- package/dist/src/LaunchpadSDK.d.ts.map +1 -1
- package/dist/src/bridge/BridgeService.d.ts +343 -0
- package/dist/src/bridge/BridgeService.d.ts.map +1 -0
- package/dist/src/bridge/GalaConnectClient.d.ts +164 -0
- package/dist/src/bridge/GalaConnectClient.d.ts.map +1 -0
- package/dist/src/bridge/constants/index.d.ts +7 -0
- package/dist/src/bridge/constants/index.d.ts.map +1 -0
- package/dist/src/bridge/constants/tokens.d.ts +181 -0
- package/dist/src/bridge/constants/tokens.d.ts.map +1 -0
- package/dist/src/bridge/index.d.ts +22 -0
- package/dist/src/bridge/index.d.ts.map +1 -0
- package/dist/src/bridge/strategies/BridgeStrategy.d.ts +160 -0
- package/dist/src/bridge/strategies/BridgeStrategy.d.ts.map +1 -0
- package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts +198 -0
- package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts.map +1 -0
- package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts +207 -0
- package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts.map +1 -0
- package/dist/src/bridge/strategies/index.d.ts +9 -0
- package/dist/src/bridge/strategies/index.d.ts.map +1 -0
- package/dist/src/bridge/types/bridge.dto.d.ts +612 -0
- package/dist/src/bridge/types/bridge.dto.d.ts.map +1 -0
- package/dist/src/bridge/types/eip712.d.ts +57 -0
- package/dist/src/bridge/types/eip712.d.ts.map +1 -0
- package/dist/src/bridge/types/index.d.ts +8 -0
- package/dist/src/bridge/types/index.d.ts.map +1 -0
- package/dist/src/bridge/utils/RateLimiter.d.ts +34 -0
- package/dist/src/bridge/utils/RateLimiter.d.ts.map +1 -0
- package/dist/src/bridge/utils/index.d.ts +9 -0
- package/dist/src/bridge/utils/index.d.ts.map +1 -0
- package/dist/src/bridge/utils/retry.d.ts +96 -0
- package/dist/src/bridge/utils/retry.d.ts.map +1 -0
- package/dist/src/bridge/utils/tokenMath.d.ts +39 -0
- package/dist/src/bridge/utils/tokenMath.d.ts.map +1 -0
- package/dist/src/constants/version.generated.d.ts +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- 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 @@
|
|
|
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"}
|