@gala-chain/launchpad-sdk 8.1.0 → 9.0.0-rc.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.
- package/CHANGELOG.md +362 -0
- package/EXAMPLES.md +95 -681
- package/MIGRATING-TO-9.0.md +301 -0
- package/README.md +46 -17
- package/dist/LaunchpadSDK.d.ts +138 -413
- package/dist/LaunchpadSDK.d.ts.map +1 -1
- package/dist/api/LaunchpadAPI.d.ts +5 -37
- package/dist/api/LaunchpadAPI.d.ts.map +1 -1
- package/dist/auth/SignatureAuth.d.ts +2 -2
- package/dist/auth/SignatureAuth.d.ts.map +1 -1
- package/dist/auth/types.d.ts +1 -1
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/config/environments.d.ts +7 -2
- package/dist/config/environments.d.ts.map +1 -1
- package/dist/constants/decimals.d.ts +0 -23
- package/dist/constants/decimals.d.ts.map +1 -1
- package/dist/constants/endpoints.d.ts +0 -7
- package/dist/constants/endpoints.d.ts.map +1 -1
- package/dist/constants/version.generated.d.ts +1 -1
- package/dist/constants/version.generated.d.ts.map +1 -1
- package/dist/helpers/sdk.d.ts.map +1 -1
- package/dist/index.browser.d.ts +8 -22
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.esm.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/index.node.d.ts +4 -5
- package/dist/index.node.d.ts.map +1 -1
- package/dist/launchpad/bundle-submission.d.ts +1 -9
- package/dist/launchpad/bundle-submission.d.ts.map +1 -1
- package/dist/launchpad/transport.d.ts +2 -1
- package/dist/launchpad/transport.d.ts.map +1 -1
- package/dist/native.cjs +1 -1
- package/dist/native.d.ts +3 -4
- package/dist/native.d.ts.map +1 -1
- package/dist/native.esm.js +1 -1
- package/dist/schemas/user.d.ts +0 -15
- package/dist/schemas/user.d.ts.map +1 -1
- package/dist/services/AbstractCacheService.d.ts +2 -2
- package/dist/services/GalaChainBalanceService.d.ts +17 -89
- package/dist/services/GalaChainBalanceService.d.ts.map +1 -1
- package/dist/services/GalaChainLockService.d.ts +19 -20
- package/dist/services/GalaChainLockService.d.ts.map +1 -1
- package/dist/services/GalaChainService.d.ts +28 -15
- package/dist/services/GalaChainService.d.ts.map +1 -1
- package/dist/services/GalaChainTokenService.d.ts +25 -53
- package/dist/services/GalaChainTokenService.d.ts.map +1 -1
- package/dist/services/GalaChainTransferService.d.ts +42 -41
- package/dist/services/GalaChainTransferService.d.ts.map +1 -1
- package/dist/services/LaunchpadPriceService.d.ts +66 -0
- package/dist/services/LaunchpadPriceService.d.ts.map +1 -0
- package/dist/services/NftCollectionService.d.ts +22 -6
- package/dist/services/NftCollectionService.d.ts.map +1 -1
- package/dist/services/TokenResolverService.d.ts +5 -5
- package/dist/services/TokenResolverService.d.ts.map +1 -1
- package/dist/services/gateway-transport.d.ts +32 -0
- package/dist/services/gateway-transport.d.ts.map +1 -0
- package/dist/services/gateway-writes.d.ts +83 -0
- package/dist/services/gateway-writes.d.ts.map +1 -0
- package/dist/signing/index.d.ts +2 -3
- package/dist/signing/index.d.ts.map +1 -1
- package/dist/signing/signers.d.ts +7 -8
- package/dist/signing/signers.d.ts.map +1 -1
- package/dist/signing/types.d.ts +7 -10
- package/dist/signing/types.d.ts.map +1 -1
- package/dist/types/burn.dto.d.ts +4 -2
- package/dist/types/burn.dto.d.ts.map +1 -1
- package/dist/types/common.d.ts +2 -23
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/dto.d.ts +0 -5
- package/dist/types/dto.d.ts.map +1 -1
- package/dist/types/launchpad.dto.d.ts +0 -257
- package/dist/types/launchpad.dto.d.ts.map +1 -1
- package/dist/types/lock.dto.d.ts +12 -7
- package/dist/types/lock.dto.d.ts.map +1 -1
- package/dist/types/options.dto.d.ts +8 -34
- package/dist/types/options.dto.d.ts.map +1 -1
- package/dist/types/user.dto.d.ts +7 -62
- package/dist/types/user.dto.d.ts.map +1 -1
- package/dist/utils/address-formatter.d.ts +10 -2
- package/dist/utils/address-formatter.d.ts.map +1 -1
- package/dist/utils/agent-config.d.ts +9 -4
- package/dist/utils/agent-config.d.ts.map +1 -1
- package/dist/utils/auto-pagination.d.ts +6 -239
- package/dist/utils/auto-pagination.d.ts.map +1 -1
- package/dist/utils/bignumber-helpers.d.ts +3 -2
- package/dist/utils/bignumber-helpers.d.ts.map +1 -1
- package/dist/utils/delimiter-parser.d.ts +0 -13
- package/dist/utils/delimiter-parser.d.ts.map +1 -1
- package/dist/utils/error-patterns.d.ts +0 -47
- package/dist/utils/error-patterns.d.ts.map +1 -1
- package/dist/utils/error-wrapper.d.ts +5 -5
- package/dist/utils/errors.d.ts +0 -308
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/http.d.ts +15 -3
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/token-format-converter.d.ts +1 -1
- package/dist/utils/token-parser.d.ts +6 -127
- package/dist/utils/token-parser.d.ts.map +1 -1
- package/dist/utils/token-stringification.d.ts +7 -7
- package/dist/utils/token-stringification.d.ts.map +1 -1
- package/dist/utils/tokenNameNormalizer.d.ts +2 -2
- package/dist/utils/tokenNormalizer.d.ts +5 -29
- package/dist/utils/tokenNormalizer.d.ts.map +1 -1
- package/dist/utils/unique-key-generator.d.ts +7 -134
- package/dist/utils/unique-key-generator.d.ts.map +1 -1
- package/dist/utils/validation-helpers.d.ts +3 -5
- package/dist/utils/validation-helpers.d.ts.map +1 -1
- package/package.json +47 -87
- package/dist/api/dto/BurnTokensDto.d.ts +0 -77
- package/dist/api/dto/BurnTokensDto.d.ts.map +0 -1
- package/dist/api/dto/LockTokenDto.d.ts +0 -85
- package/dist/api/dto/LockTokenDto.d.ts.map +0 -1
- package/dist/api/dto/TransferTokenDto.d.ts +0 -64
- package/dist/api/dto/TransferTokenDto.d.ts.map +0 -1
- package/dist/api/dto/UnlockTokenDto.d.ts +0 -74
- package/dist/api/dto/UnlockTokenDto.d.ts.map +0 -1
- package/dist/bridge/BridgeService.d.ts +0 -484
- package/dist/bridge/BridgeService.d.ts.map +0 -1
- package/dist/bridge/GalaConnectClient.d.ts +0 -170
- package/dist/bridge/GalaConnectClient.d.ts.map +0 -1
- package/dist/bridge/constants/index.d.ts +0 -7
- package/dist/bridge/constants/index.d.ts.map +0 -1
- package/dist/bridge/constants/tokens.d.ts +0 -212
- package/dist/bridge/constants/tokens.d.ts.map +0 -1
- package/dist/bridge/index.d.ts +0 -24
- package/dist/bridge/index.d.ts.map +0 -1
- package/dist/bridge/public-types.d.ts +0 -2
- package/dist/bridge/public-types.d.ts.map +0 -1
- package/dist/bridge/strategies/BridgeStrategy.d.ts +0 -204
- package/dist/bridge/strategies/BridgeStrategy.d.ts.map +0 -1
- package/dist/bridge/strategies/EthereumBridgeStrategy.d.ts +0 -178
- package/dist/bridge/strategies/EthereumBridgeStrategy.d.ts.map +0 -1
- package/dist/bridge/strategies/SolanaBridgeStrategy.d.ts +0 -236
- package/dist/bridge/strategies/SolanaBridgeStrategy.d.ts.map +0 -1
- package/dist/bridge/types/bridge.dto.d.ts +0 -772
- package/dist/bridge/types/bridge.dto.d.ts.map +0 -1
- package/dist/bridge/types/bridgeable-token.dto.d.ts +0 -209
- package/dist/bridge/types/bridgeable-token.dto.d.ts.map +0 -1
- package/dist/bridge/types/eip712.d.ts +0 -66
- package/dist/bridge/types/eip712.d.ts.map +0 -1
- package/dist/bridge/types/index.d.ts +0 -8
- package/dist/bridge/types/index.d.ts.map +0 -1
- package/dist/bridge/utils/RateLimiter.d.ts +0 -34
- package/dist/bridge/utils/RateLimiter.d.ts.map +0 -1
- package/dist/bridge/utils/address-formatter.d.ts +0 -25
- package/dist/bridge/utils/address-formatter.d.ts.map +0 -1
- package/dist/bridge/utils/addressValidation.d.ts +0 -200
- package/dist/bridge/utils/addressValidation.d.ts.map +0 -1
- package/dist/bridge/utils/balanceHelpers.d.ts +0 -215
- package/dist/bridge/utils/balanceHelpers.d.ts.map +0 -1
- package/dist/bridge/utils/bridgeErrors.d.ts +0 -98
- package/dist/bridge/utils/bridgeErrors.d.ts.map +0 -1
- package/dist/bridge/utils/bridgeOutHelpers.d.ts +0 -68
- package/dist/bridge/utils/bridgeOutHelpers.d.ts.map +0 -1
- package/dist/bridge/utils/bridgePayload.d.ts +0 -98
- package/dist/bridge/utils/bridgePayload.d.ts.map +0 -1
- package/dist/bridge/utils/bridgeStatusParser.d.ts +0 -76
- package/dist/bridge/utils/bridgeStatusParser.d.ts.map +0 -1
- package/dist/bridge/utils/eip712Helpers.d.ts +0 -66
- package/dist/bridge/utils/eip712Helpers.d.ts.map +0 -1
- package/dist/bridge/utils/index.d.ts +0 -19
- package/dist/bridge/utils/index.d.ts.map +0 -1
- package/dist/bridge/utils/retry.d.ts +0 -112
- package/dist/bridge/utils/retry.d.ts.map +0 -1
- package/dist/bridge/utils/strategyDelegation.d.ts +0 -126
- package/dist/bridge/utils/strategyDelegation.d.ts.map +0 -1
- package/dist/bridge/utils/tokenIdUtils.d.ts +0 -86
- package/dist/bridge/utils/tokenIdUtils.d.ts.map +0 -1
- package/dist/bridge/utils/tokenMath.d.ts +0 -39
- package/dist/bridge/utils/tokenMath.d.ts.map +0 -1
- package/dist/bridge/utils/tokenMetadataResolver.d.ts +0 -97
- package/dist/bridge/utils/tokenMetadataResolver.d.ts.map +0 -1
- package/dist/helpers/wallet.d.ts +0 -151
- package/dist/helpers/wallet.d.ts.map +0 -1
- package/dist/react/WalletContext.d.ts +0 -60
- package/dist/react/WalletContext.d.ts.map +0 -1
- package/dist/react/index.d.ts +0 -65
- package/dist/react/index.d.ts.map +0 -1
- package/dist/react/types.d.ts +0 -76
- package/dist/react/types.d.ts.map +0 -1
- package/dist/react/useWallet.d.ts +0 -123
- package/dist/react/useWallet.d.ts.map +0 -1
- package/dist/react/useWalletConnection.d.ts +0 -89
- package/dist/react/useWalletConnection.d.ts.map +0 -1
- package/dist/react/useWalletDetection.d.ts +0 -81
- package/dist/react/useWalletDetection.d.ts.map +0 -1
- package/dist/react.cjs +0 -1
- package/dist/react.esm.js +0 -1
- package/dist/services/AbstractTokenFetchService.d.ts +0 -150
- package/dist/services/AbstractTokenFetchService.d.ts.map +0 -1
- package/dist/services/BatchedCacheService.d.ts +0 -133
- package/dist/services/BatchedCacheService.d.ts.map +0 -1
- package/dist/services/BridgeableTokenCache.d.ts +0 -120
- package/dist/services/BridgeableTokenCache.d.ts.map +0 -1
- package/dist/services/BridgeableTokenService.d.ts +0 -218
- package/dist/services/BridgeableTokenService.d.ts.map +0 -1
- package/dist/services/DexService.d.ts +0 -440
- package/dist/services/DexService.d.ts.map +0 -1
- package/dist/services/NetworkKeyedCacheService.d.ts +0 -185
- package/dist/services/NetworkKeyedCacheService.d.ts.map +0 -1
- package/dist/services/PriceHistoryService.d.ts +0 -209
- package/dist/services/PriceHistoryService.d.ts.map +0 -1
- package/dist/services/WrapService.d.ts +0 -171
- package/dist/services/WrapService.d.ts.map +0 -1
- package/dist/services/WrappableTokenCache.d.ts +0 -100
- package/dist/services/WrappableTokenCache.d.ts.map +0 -1
- package/dist/services/WrappableTokenService.d.ts +0 -130
- package/dist/services/WrappableTokenService.d.ts.map +0 -1
- package/dist/setup.d.ts +0 -8
- package/dist/setup.d.ts.map +0 -1
- package/dist/tokens/transfers.d.ts +0 -95
- package/dist/tokens/transfers.d.ts.map +0 -1
- package/dist/types/galachain-api.types.d.ts +0 -297
- package/dist/types/galachain-api.types.d.ts.map +0 -1
- package/dist/types/priceHistory.dto.d.ts +0 -134
- package/dist/types/priceHistory.dto.d.ts.map +0 -1
- package/dist/types/token.types.d.ts +0 -359
- package/dist/types/token.types.d.ts.map +0 -1
- package/dist/types/wrappable-token.dto.d.ts +0 -305
- package/dist/types/wrappable-token.dto.d.ts.map +0 -1
- package/dist/utils/crypto-compat.d.ts +0 -40
- package/dist/utils/crypto-compat.d.ts.map +0 -1
- package/dist/utils/load-env.d.ts +0 -31
- package/dist/utils/load-env.d.ts.map +0 -1
- package/dist/utils/token-instance-key.d.ts +0 -57
- package/dist/utils/token-instance-key.d.ts.map +0 -1
- package/dist/utils/wallet.d.ts +0 -166
- package/dist/utils/wallet.d.ts.map +0 -1
- package/dist/wallet/ExternalWalletProvider.d.ts +0 -90
- package/dist/wallet/ExternalWalletProvider.d.ts.map +0 -1
- package/dist/wallet/GalaWalletProvider.d.ts +0 -122
- package/dist/wallet/GalaWalletProvider.d.ts.map +0 -1
- package/dist/wallet/PrivateKeyProvider.d.ts +0 -90
- package/dist/wallet/PrivateKeyProvider.d.ts.map +0 -1
- package/dist/wallet/detection.d.ts +0 -107
- package/dist/wallet/detection.d.ts.map +0 -1
- package/dist/wallet/event-handlers.d.ts +0 -50
- package/dist/wallet/event-handlers.d.ts.map +0 -1
- package/dist/wallet/index.d.ts +0 -51
- package/dist/wallet/index.d.ts.map +0 -1
- package/dist/wallet/signing-operation.d.ts +0 -19
- package/dist/wallet/signing-operation.d.ts.map +0 -1
- package/dist/wallet/typed-data-helpers.d.ts +0 -68
- package/dist/wallet/typed-data-helpers.d.ts.map +0 -1
- package/dist/wallet/types.d.ts +0 -267
- package/dist/wallet/types.d.ts.map +0 -1
- package/dist/wallet/utils.d.ts +0 -117
- package/dist/wallet/utils.d.ts.map +0 -1
- package/dist/wallet.cjs +0 -1
- package/dist/wallet.esm.js +0 -1
|
@@ -1,772 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bridge DTOs and Interfaces
|
|
3
|
-
*
|
|
4
|
-
* Type definitions for cross-chain bridging operations between
|
|
5
|
-
* GalaChain, Ethereum, and Solana.
|
|
6
|
-
*/
|
|
7
|
-
import type { TokenId } from '../../types/common.js';
|
|
8
|
-
/**
|
|
9
|
-
* Supported external networks for bridging
|
|
10
|
-
*/
|
|
11
|
-
export type ExternalNetwork = 'Ethereum' | 'Solana';
|
|
12
|
-
/**
|
|
13
|
-
* Token descriptor for GalaChain tokens
|
|
14
|
-
*/
|
|
15
|
-
export interface BridgeTokenDescriptor {
|
|
16
|
-
collection: string;
|
|
17
|
-
category: string;
|
|
18
|
-
type: string;
|
|
19
|
-
additionalKey: string;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Token descriptor with instance (for specific token instances)
|
|
23
|
-
*/
|
|
24
|
-
export interface BridgeTokenInstance extends BridgeTokenDescriptor {
|
|
25
|
-
instance: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Ethereum token configuration
|
|
29
|
-
*/
|
|
30
|
-
export interface EthereumTokenConfig {
|
|
31
|
-
symbol: string;
|
|
32
|
-
amount: string;
|
|
33
|
-
contractAddress: string;
|
|
34
|
-
bridgeUsesPermit?: boolean;
|
|
35
|
-
decimals?: number;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Solana token configuration
|
|
39
|
-
*/
|
|
40
|
-
export interface SolanaTokenConfig {
|
|
41
|
-
symbol: string;
|
|
42
|
-
amount: string;
|
|
43
|
-
mintAddress: string;
|
|
44
|
-
isNative?: boolean;
|
|
45
|
-
decimals?: number;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Bridge token configuration from GalaConnect API
|
|
49
|
-
*/
|
|
50
|
-
export interface BridgeConfigurationToken extends BridgeTokenDescriptor {
|
|
51
|
-
symbol: string;
|
|
52
|
-
decimals: number;
|
|
53
|
-
verified?: boolean;
|
|
54
|
-
channel?: string;
|
|
55
|
-
canBridgeTo?: Array<{
|
|
56
|
-
network: string;
|
|
57
|
-
symbol: string;
|
|
58
|
-
destinationChainIds: string[];
|
|
59
|
-
}>;
|
|
60
|
-
otherNetworks?: Array<{
|
|
61
|
-
network: string;
|
|
62
|
-
symbol: string;
|
|
63
|
-
contractAddress: string;
|
|
64
|
-
canBridgeTo?: Array<{
|
|
65
|
-
network: string;
|
|
66
|
-
symbol: string;
|
|
67
|
-
destinationChainIds: string[];
|
|
68
|
-
}>;
|
|
69
|
-
}>;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Bridge token metadata for internal use
|
|
73
|
-
*
|
|
74
|
-
* Lightweight metadata for bridging operations,
|
|
75
|
-
* distinct from blockchain metadata or cache entries.
|
|
76
|
-
*
|
|
77
|
-
* @since 6.10.0 - Renamed from TokenMetadata for clarity
|
|
78
|
-
*/
|
|
79
|
-
export interface BridgeTokenMetadata {
|
|
80
|
-
/** Token descriptor (collection, category, type, additionalKey) */
|
|
81
|
-
descriptor: BridgeTokenDescriptor;
|
|
82
|
-
/** Token decimal places */
|
|
83
|
-
decimals: number;
|
|
84
|
-
/** GalaChain channel (optional) */
|
|
85
|
-
channel?: string;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* External token information (for exchange rates)
|
|
89
|
-
*/
|
|
90
|
-
export interface ExternalTokenInfo {
|
|
91
|
-
name: string;
|
|
92
|
-
symbol: string;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* GALA exchange rate from oracle
|
|
96
|
-
*/
|
|
97
|
-
export interface GalaExchangeRate {
|
|
98
|
-
identity: string;
|
|
99
|
-
oracle: string;
|
|
100
|
-
source: string;
|
|
101
|
-
sourceUrl: string;
|
|
102
|
-
timestamp: number | string;
|
|
103
|
-
baseToken?: BridgeTokenInstance;
|
|
104
|
-
exchangeRate: string;
|
|
105
|
-
externalQuoteToken?: ExternalTokenInfo;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Base token cross rate
|
|
109
|
-
*/
|
|
110
|
-
export interface BaseTokenCrossRate {
|
|
111
|
-
identity: string;
|
|
112
|
-
oracle: string;
|
|
113
|
-
source: string;
|
|
114
|
-
sourceUrl: string;
|
|
115
|
-
timestamp: number | string;
|
|
116
|
-
exchangeRate: string;
|
|
117
|
-
externalBaseToken?: ExternalTokenInfo;
|
|
118
|
-
externalQuoteToken?: ExternalTokenInfo;
|
|
119
|
-
signature: string;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Quote token cross rate
|
|
123
|
-
*/
|
|
124
|
-
export interface QuoteTokenCrossRate {
|
|
125
|
-
identity: string;
|
|
126
|
-
oracle: string;
|
|
127
|
-
source: string;
|
|
128
|
-
sourceUrl: string;
|
|
129
|
-
timestamp: number | string;
|
|
130
|
-
baseToken?: BridgeTokenInstance;
|
|
131
|
-
exchangeRate: string;
|
|
132
|
-
externalQuoteToken?: ExternalTokenInfo;
|
|
133
|
-
signature: string;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* GALA exchange cross rate (for non-GALA tokens)
|
|
137
|
-
*/
|
|
138
|
-
export interface GalaExchangeCrossRate {
|
|
139
|
-
baseTokenCrossRate?: BaseTokenCrossRate;
|
|
140
|
-
crossRate: string;
|
|
141
|
-
externalCrossRateToken?: ExternalTokenInfo;
|
|
142
|
-
identity: string;
|
|
143
|
-
oracle: string;
|
|
144
|
-
quoteTokenCrossRate?: QuoteTokenCrossRate;
|
|
145
|
-
source: string;
|
|
146
|
-
timestamp: number | string;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Destination chain transaction fee structure
|
|
150
|
-
*/
|
|
151
|
-
export interface DestinationChainTxFee {
|
|
152
|
-
bridgeToken: BridgeTokenDescriptor;
|
|
153
|
-
bridgeTokenIsNonFungible: boolean;
|
|
154
|
-
estimatedPricePerTxFeeUnit: string;
|
|
155
|
-
estimatedTotalTxFeeInExternalToken: string;
|
|
156
|
-
estimatedTotalTxFeeInGala: string;
|
|
157
|
-
estimatedTxFeeUnitsTotal: string;
|
|
158
|
-
galaDecimals: number | string;
|
|
159
|
-
galaExchangeRate?: GalaExchangeRate;
|
|
160
|
-
galaExchangeCrossRate?: GalaExchangeCrossRate;
|
|
161
|
-
timestamp: number | string;
|
|
162
|
-
signingIdentity: string;
|
|
163
|
-
signature: string;
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Bridge fee estimate returned to SDK users
|
|
167
|
-
*/
|
|
168
|
-
export interface BridgeFeeEstimate {
|
|
169
|
-
/** Estimated fee in GALA */
|
|
170
|
-
estimatedFeeInGala: string;
|
|
171
|
-
/** Estimated fee in the external chain's native token */
|
|
172
|
-
estimatedFeeInExternalToken: string;
|
|
173
|
-
/** Token used for bridge fees */
|
|
174
|
-
feeToken: BridgeTokenDescriptor;
|
|
175
|
-
/** Gas price per unit */
|
|
176
|
-
pricePerUnit: string;
|
|
177
|
-
/** Total estimated gas units */
|
|
178
|
-
estimatedGasUnits: string;
|
|
179
|
-
/** GALA exchange rate at time of estimate */
|
|
180
|
-
exchangeRate: string;
|
|
181
|
-
/** Timestamp of the estimate */
|
|
182
|
-
timestamp: number;
|
|
183
|
-
/** Raw fee response for advanced usage */
|
|
184
|
-
raw: DestinationChainTxFee;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Bridge request DTO for outbound bridges
|
|
188
|
-
*/
|
|
189
|
-
export interface BridgeRequestDto {
|
|
190
|
-
uniqueKey?: string;
|
|
191
|
-
tokenInstance: BridgeTokenInstance;
|
|
192
|
-
destinationChainId: number | string;
|
|
193
|
-
quantity: string;
|
|
194
|
-
recipient: string;
|
|
195
|
-
destinationChainTxFee: DestinationChainTxFee;
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Bridge status codes
|
|
199
|
-
*/
|
|
200
|
-
export declare enum BridgeStatusCode {
|
|
201
|
-
PENDING = 0,
|
|
202
|
-
SUBMITTED = 1,
|
|
203
|
-
CONFIRMED = 2,
|
|
204
|
-
PROCESSING = 3,
|
|
205
|
-
FINALIZING = 4,
|
|
206
|
-
COMPLETED = 5,
|
|
207
|
-
FAILED = 6,
|
|
208
|
-
/** Delivery failed - tokens left source chain but failed to arrive on destination */
|
|
209
|
-
DELIVERY_FAILED = 7
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Bridge status response (normalized)
|
|
213
|
-
*/
|
|
214
|
-
export interface BridgeStatus {
|
|
215
|
-
/** Numeric status code */
|
|
216
|
-
status: BridgeStatusCode;
|
|
217
|
-
/** Human-readable status description */
|
|
218
|
-
statusDescription: string;
|
|
219
|
-
/** Source chain */
|
|
220
|
-
fromChain: string;
|
|
221
|
-
/** Destination chain */
|
|
222
|
-
toChain: string;
|
|
223
|
-
/** Amount being bridged */
|
|
224
|
-
quantity: string;
|
|
225
|
-
/** Transaction hash on emitter chain */
|
|
226
|
-
transactionHash: string;
|
|
227
|
-
/** Token being bridged */
|
|
228
|
-
tokenInstance?: BridgeTokenInstance;
|
|
229
|
-
/** Whether the bridge is complete */
|
|
230
|
-
isComplete: boolean;
|
|
231
|
-
/** Whether the bridge failed */
|
|
232
|
-
isFailed: boolean;
|
|
233
|
-
/** Error message if failed */
|
|
234
|
-
error?: string;
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Solana transaction status from RPC query
|
|
238
|
-
*
|
|
239
|
-
* Used by `getSolanaTransactionStatus()` to report the confirmation
|
|
240
|
-
* status of Solana transactions (airdrops, bridges, etc.)
|
|
241
|
-
*/
|
|
242
|
-
export interface SolanaTransactionStatus {
|
|
243
|
-
/**
|
|
244
|
-
* Whether the transaction has been successfully processed on-chain.
|
|
245
|
-
* - true: Transaction executed successfully
|
|
246
|
-
* - false: Transaction not found, still pending, or failed
|
|
247
|
-
*/
|
|
248
|
-
confirmed: boolean;
|
|
249
|
-
/**
|
|
250
|
-
* Detailed status of the transaction:
|
|
251
|
-
* - 'confirmed': Transaction confirmed by supermajority of cluster
|
|
252
|
-
* - 'finalized': Transaction finalized (maximum certainty)
|
|
253
|
-
* - 'processed': Transaction processed by connected node
|
|
254
|
-
* - 'not_found': Transaction not yet visible on-chain
|
|
255
|
-
* - 'failed': Transaction was processed but failed (see error field)
|
|
256
|
-
*/
|
|
257
|
-
status: 'confirmed' | 'finalized' | 'processed' | 'not_found' | 'failed';
|
|
258
|
-
/**
|
|
259
|
-
* Block slot number where transaction was processed.
|
|
260
|
-
* Present when transaction has been found on-chain.
|
|
261
|
-
*/
|
|
262
|
-
slot?: number;
|
|
263
|
-
/**
|
|
264
|
-
* Error details if transaction failed.
|
|
265
|
-
* Contains JSON-stringified Solana error object.
|
|
266
|
-
*/
|
|
267
|
-
error?: string;
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Ethereum transaction status from RPC query
|
|
271
|
-
*
|
|
272
|
-
* Used by `getEthereumTransactionStatus()` to report the confirmation
|
|
273
|
-
* status of Ethereum transactions (bridges, transfers, etc.)
|
|
274
|
-
*/
|
|
275
|
-
export interface EthereumTransactionStatus {
|
|
276
|
-
/**
|
|
277
|
-
* Whether the transaction has been successfully processed on-chain.
|
|
278
|
-
* - true: Transaction confirmed and executed successfully
|
|
279
|
-
* - false: Transaction not found, still pending, or failed
|
|
280
|
-
*/
|
|
281
|
-
confirmed: boolean;
|
|
282
|
-
/**
|
|
283
|
-
* Detailed status of the transaction:
|
|
284
|
-
* - 'pending': Transaction in mempool, not yet mined
|
|
285
|
-
* - 'confirmed': Transaction mined in block
|
|
286
|
-
* - 'finalized': Transaction finalized (12+ confirmations for safety)
|
|
287
|
-
* - 'not_found': Transaction not yet visible on-chain
|
|
288
|
-
* - 'failed': Transaction mined but execution failed (reverted)
|
|
289
|
-
*/
|
|
290
|
-
status: 'pending' | 'confirmed' | 'finalized' | 'not_found' | 'failed';
|
|
291
|
-
/**
|
|
292
|
-
* Block number where transaction was mined.
|
|
293
|
-
* Present when transaction has been found on-chain.
|
|
294
|
-
*/
|
|
295
|
-
blockNumber?: number;
|
|
296
|
-
/**
|
|
297
|
-
* Number of confirmations since block inclusion.
|
|
298
|
-
* Calculated as (currentBlockNumber - blockNumber + 1).
|
|
299
|
-
* Higher values indicate stronger finality.
|
|
300
|
-
*/
|
|
301
|
-
confirmations?: number;
|
|
302
|
-
/**
|
|
303
|
-
* Transaction hash (normalized to lowercase).
|
|
304
|
-
*/
|
|
305
|
-
transactionHash: string;
|
|
306
|
-
/**
|
|
307
|
-
* Gas used by transaction (if mined).
|
|
308
|
-
*/
|
|
309
|
-
gasUsed?: string;
|
|
310
|
-
/**
|
|
311
|
-
* Effective gas price in wei (if mined).
|
|
312
|
-
*/
|
|
313
|
-
effectiveGasPrice?: string;
|
|
314
|
-
/**
|
|
315
|
-
* Error details if transaction failed.
|
|
316
|
-
* Contains the revert reason or execution error.
|
|
317
|
-
*/
|
|
318
|
-
error?: string;
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Bridge transaction result
|
|
322
|
-
*/
|
|
323
|
-
export interface BridgeTransaction {
|
|
324
|
-
/** Direction of the bridge */
|
|
325
|
-
direction: 'outbound' | 'inbound';
|
|
326
|
-
/** Source chain */
|
|
327
|
-
fromChain: string;
|
|
328
|
-
/** Destination chain */
|
|
329
|
-
toChain: string;
|
|
330
|
-
/** Transaction hash */
|
|
331
|
-
transactionHash: string;
|
|
332
|
-
/** Token symbol */
|
|
333
|
-
tokenSymbol: string;
|
|
334
|
-
/** Amount bridged */
|
|
335
|
-
amount: string;
|
|
336
|
-
/** Fee paid (in GALA for outbound, native token for inbound) */
|
|
337
|
-
feePaid?: string;
|
|
338
|
-
/** Timestamp when transaction was submitted */
|
|
339
|
-
timestamp: number;
|
|
340
|
-
/** Bridge status tracking URL */
|
|
341
|
-
statusUrl: string;
|
|
342
|
-
}
|
|
343
|
-
/**
|
|
344
|
-
* Bridge leg result (for round-trip tracking)
|
|
345
|
-
*/
|
|
346
|
-
export interface BridgeLegResult {
|
|
347
|
-
direction: 'Outbound' | 'Inbound';
|
|
348
|
-
fromChain: string;
|
|
349
|
-
toChain: string;
|
|
350
|
-
startTimestamp: number;
|
|
351
|
-
endTimestamp?: number;
|
|
352
|
-
durationMs?: number;
|
|
353
|
-
feePaid?: string;
|
|
354
|
-
feeToken?: string;
|
|
355
|
-
transactionHash?: string;
|
|
356
|
-
additionalInfo?: Record<string, unknown>;
|
|
357
|
-
error?: string;
|
|
358
|
-
}
|
|
359
|
-
/**
|
|
360
|
-
* Token round-trip result
|
|
361
|
-
*/
|
|
362
|
-
export interface TokenRoundTripResult {
|
|
363
|
-
token: string;
|
|
364
|
-
network: ExternalNetwork;
|
|
365
|
-
amount: string;
|
|
366
|
-
legs: BridgeLegResult[];
|
|
367
|
-
outboundCompleted: boolean;
|
|
368
|
-
inboundCompleted: boolean;
|
|
369
|
-
roundTripDurationMs?: number;
|
|
370
|
-
totalFees?: Array<{
|
|
371
|
-
amount: string;
|
|
372
|
-
token: string;
|
|
373
|
-
context: string;
|
|
374
|
-
}>;
|
|
375
|
-
failures?: string[];
|
|
376
|
-
}
|
|
377
|
-
/**
|
|
378
|
-
* Supported bridge token info for discovery
|
|
379
|
-
*/
|
|
380
|
-
export interface BridgeToken {
|
|
381
|
-
/** Token symbol (e.g., 'GALA', 'GWETH') */
|
|
382
|
-
symbol: string;
|
|
383
|
-
/** Token name */
|
|
384
|
-
name?: string;
|
|
385
|
-
/** Token decimals */
|
|
386
|
-
decimals: number;
|
|
387
|
-
/** Whether verified by Gala */
|
|
388
|
-
verified: boolean;
|
|
389
|
-
/** Supported destination chains */
|
|
390
|
-
supportedChains: ExternalNetwork[];
|
|
391
|
-
/** GalaChain token descriptor */
|
|
392
|
-
galaChainDescriptor: BridgeTokenDescriptor;
|
|
393
|
-
/** External chain addresses */
|
|
394
|
-
externalAddresses: {
|
|
395
|
-
ethereum?: string;
|
|
396
|
-
solana?: string;
|
|
397
|
-
};
|
|
398
|
-
}
|
|
399
|
-
/**
|
|
400
|
-
* Bridge SDK configuration
|
|
401
|
-
*/
|
|
402
|
-
export interface BridgeConfig {
|
|
403
|
-
/** GalaConnect API base URL */
|
|
404
|
-
galaConnectBaseUrl: string;
|
|
405
|
-
/** GalaChain API base URL (optional, defaults to galaConnectBaseUrl) */
|
|
406
|
-
galaChainApiBaseUrl?: string;
|
|
407
|
-
/** Ethereum RPC URL (optional, defaults to public endpoint) */
|
|
408
|
-
ethereumRpcUrl?: string;
|
|
409
|
-
/** Solana RPC URL (optional, defaults to public endpoint) */
|
|
410
|
-
solanaRpcUrl?: string;
|
|
411
|
-
/** Ethereum bridge contract address (optional, defaults to mainnet) */
|
|
412
|
-
ethereumBridgeContract?: string;
|
|
413
|
-
/** Solana bridge program ID (optional, defaults to mainnet) */
|
|
414
|
-
solanaBridgeProgram?: string;
|
|
415
|
-
/** Ethereum private key for inbound bridges (optional) */
|
|
416
|
-
ethereumPrivateKey?: string;
|
|
417
|
-
/** Solana private key (base58) for inbound bridges (optional) */
|
|
418
|
-
solanaPrivateKey?: string;
|
|
419
|
-
/** Rate limit for API calls (requests per second) */
|
|
420
|
-
rateLimit?: number;
|
|
421
|
-
/** Status polling interval in milliseconds */
|
|
422
|
-
pollInterval?: number;
|
|
423
|
-
/** Status polling timeout in milliseconds */
|
|
424
|
-
pollTimeout?: number;
|
|
425
|
-
}
|
|
426
|
-
/**
|
|
427
|
-
* Parameters for estimating bridge fees
|
|
428
|
-
*
|
|
429
|
-
* @example Using string tokenId (pipe-delimited)
|
|
430
|
-
* ```typescript
|
|
431
|
-
* const fee = await sdk.estimateBridgeFee({
|
|
432
|
-
* tokenId: 'GALA|Unit|none|none',
|
|
433
|
-
* destinationChain: 'Ethereum',
|
|
434
|
-
* });
|
|
435
|
-
* ```
|
|
436
|
-
*
|
|
437
|
-
* @example Using TokenClassKey object
|
|
438
|
-
* ```typescript
|
|
439
|
-
* const fee = await sdk.estimateBridgeFee({
|
|
440
|
-
* tokenId: { collection: 'GALA', category: 'Unit', type: 'none', additionalKey: 'none' },
|
|
441
|
-
* destinationChain: 'Ethereum',
|
|
442
|
-
* });
|
|
443
|
-
* ```
|
|
444
|
-
*/
|
|
445
|
-
export interface EstimateBridgeFeeParams {
|
|
446
|
-
/**
|
|
447
|
-
* Token identifier - accepts pipe-delimited string or TokenClassKey object.
|
|
448
|
-
*
|
|
449
|
-
* Get from `fetchAllBridgeableTokensByNetwork()` result's `stringifiedTokenClassKey` field,
|
|
450
|
-
* or construct manually: `{ collection: 'GALA', category: 'Unit', type: 'none', additionalKey: 'none' }`
|
|
451
|
-
*/
|
|
452
|
-
tokenId: TokenId;
|
|
453
|
-
/** Destination chain */
|
|
454
|
-
destinationChain: ExternalNetwork;
|
|
455
|
-
/** Amount to bridge (optional, for more accurate estimates) */
|
|
456
|
-
amount?: string;
|
|
457
|
-
}
|
|
458
|
-
/**
|
|
459
|
-
* Parameters for bridging out (GalaChain -> External)
|
|
460
|
-
*
|
|
461
|
-
* @example Bridge GALA to Ethereum
|
|
462
|
-
* ```typescript
|
|
463
|
-
* const result = await sdk.bridgeOut({
|
|
464
|
-
* tokenId: 'GALA|Unit|none|none',
|
|
465
|
-
* amount: '100',
|
|
466
|
-
* destinationChain: 'Ethereum',
|
|
467
|
-
* recipientAddress: '0x1234...abcd',
|
|
468
|
-
* });
|
|
469
|
-
* ```
|
|
470
|
-
*/
|
|
471
|
-
export interface BridgeOutParams {
|
|
472
|
-
/**
|
|
473
|
-
* Token identifier - accepts pipe-delimited string or TokenClassKey object.
|
|
474
|
-
*
|
|
475
|
-
* Get from `fetchAllBridgeableTokensByNetwork()` result's `stringifiedTokenClassKey` field,
|
|
476
|
-
* or construct manually: `{ collection: 'GALA', category: 'Unit', type: 'none', additionalKey: 'none' }`
|
|
477
|
-
*/
|
|
478
|
-
tokenId: TokenId;
|
|
479
|
-
/** Amount to bridge */
|
|
480
|
-
amount: string;
|
|
481
|
-
/** Destination chain */
|
|
482
|
-
destinationChain: ExternalNetwork;
|
|
483
|
-
/** Recipient address on destination chain */
|
|
484
|
-
recipientAddress: string;
|
|
485
|
-
/** Optional slippage tolerance for fee (0-1, e.g., 0.01 for 1%) */
|
|
486
|
-
feeSlippageTolerance?: number;
|
|
487
|
-
/**
|
|
488
|
-
* @internal Resolved token symbol (set by BridgeService, not user-provided)
|
|
489
|
-
*/
|
|
490
|
-
tokenSymbol?: string;
|
|
491
|
-
}
|
|
492
|
-
/**
|
|
493
|
-
* Parameters for bridging in (External -> GalaChain)
|
|
494
|
-
*
|
|
495
|
-
* @example Bridge GALA from Ethereum to GalaChain
|
|
496
|
-
* ```typescript
|
|
497
|
-
* const result = await sdk.bridgeIn({
|
|
498
|
-
* tokenId: 'GALA|Unit|none|none',
|
|
499
|
-
* amount: '100',
|
|
500
|
-
* sourceChain: 'Ethereum',
|
|
501
|
-
* sourcePrivateKey: '0xabc...', // Ethereum wallet private key
|
|
502
|
-
* });
|
|
503
|
-
* ```
|
|
504
|
-
*/
|
|
505
|
-
export interface BridgeInParams {
|
|
506
|
-
/**
|
|
507
|
-
* Token identifier - accepts pipe-delimited string or TokenClassKey object.
|
|
508
|
-
*
|
|
509
|
-
* Get from `fetchAllBridgeableTokensByNetwork()` result's `stringifiedTokenClassKey` field,
|
|
510
|
-
* or construct manually: `{ collection: 'GALA', category: 'Unit', type: 'none', additionalKey: 'none' }`
|
|
511
|
-
*/
|
|
512
|
-
tokenId: TokenId;
|
|
513
|
-
/** Amount to bridge */
|
|
514
|
-
amount: string;
|
|
515
|
-
/** Source chain */
|
|
516
|
-
sourceChain: ExternalNetwork;
|
|
517
|
-
/** Private key for source chain wallet (overrides config) */
|
|
518
|
-
sourcePrivateKey?: string;
|
|
519
|
-
/** Recipient GalaChain address (optional, defaults to SDK wallet) */
|
|
520
|
-
recipientAddress?: string;
|
|
521
|
-
/**
|
|
522
|
-
* @internal Resolved token symbol (set by BridgeService, not user-provided)
|
|
523
|
-
*/
|
|
524
|
-
tokenSymbol?: string;
|
|
525
|
-
}
|
|
526
|
-
/**
|
|
527
|
-
* Options for waiting on bridge completion
|
|
528
|
-
*/
|
|
529
|
-
export interface WaitForBridgeOptions {
|
|
530
|
-
/** Polling interval in milliseconds (default: 15000) */
|
|
531
|
-
pollInterval?: number;
|
|
532
|
-
/** Timeout in milliseconds (default: 45 minutes) */
|
|
533
|
-
timeout?: number;
|
|
534
|
-
/** Callback for status updates */
|
|
535
|
-
onStatusUpdate?: (status: BridgeStatus) => void;
|
|
536
|
-
}
|
|
537
|
-
/**
|
|
538
|
-
* Configuration for GalaConnect client
|
|
539
|
-
*/
|
|
540
|
-
export interface GalaConnectConfig {
|
|
541
|
-
/** GalaConnect API base URL */
|
|
542
|
-
baseUrl?: string;
|
|
543
|
-
/** GalaChain API base URL */
|
|
544
|
-
galachainBaseUrl?: string;
|
|
545
|
-
/** Wallet address in GalaChain format (e.g., 'eth|0x...') */
|
|
546
|
-
walletAddress: string;
|
|
547
|
-
/** Requests per second (rate limiting) */
|
|
548
|
-
requestsPerSecond?: number;
|
|
549
|
-
/**
|
|
550
|
-
* Enable automatic retry for transient failures (default: true)
|
|
551
|
-
*
|
|
552
|
-
* When enabled, requests that fail due to network errors or
|
|
553
|
-
* server errors (5xx, 429) will be automatically retried with
|
|
554
|
-
* exponential backoff.
|
|
555
|
-
*/
|
|
556
|
-
enableRetry?: boolean;
|
|
557
|
-
/**
|
|
558
|
-
* Maximum number of retry attempts (default: 3)
|
|
559
|
-
*
|
|
560
|
-
* Only used when enableRetry is true.
|
|
561
|
-
*/
|
|
562
|
-
maxRetries?: number;
|
|
563
|
-
/**
|
|
564
|
-
* Initial delay in milliseconds before first retry (default: 1000)
|
|
565
|
-
*
|
|
566
|
-
* Subsequent retries use exponential backoff (delay doubles each time).
|
|
567
|
-
*/
|
|
568
|
-
retryInitialDelayMs?: number;
|
|
569
|
-
/**
|
|
570
|
-
* Callback invoked before each retry attempt.
|
|
571
|
-
*
|
|
572
|
-
* Useful for logging or monitoring retry behavior.
|
|
573
|
-
*
|
|
574
|
-
* @param error - The error that triggered the retry
|
|
575
|
-
* @param attempt - Current attempt number (1-based)
|
|
576
|
-
* @param delayMs - Delay before next attempt in milliseconds
|
|
577
|
-
*/
|
|
578
|
-
onRetry?: (error: unknown, attempt: number, delayMs: number) => void;
|
|
579
|
-
}
|
|
580
|
-
/**
|
|
581
|
-
* Bridge fee response from GalaConnect API
|
|
582
|
-
*/
|
|
583
|
-
export interface BridgeFeeResponse {
|
|
584
|
-
bridgeToken: BridgeTokenDescriptor;
|
|
585
|
-
bridgeTokenIsNonFungible: boolean;
|
|
586
|
-
estimatedPricePerTxFeeUnit: string;
|
|
587
|
-
estimatedTotalTxFeeInExternalToken: string;
|
|
588
|
-
estimatedTotalTxFeeInGala: string;
|
|
589
|
-
estimatedTxFeeUnitsTotal: string;
|
|
590
|
-
galaDecimals: number;
|
|
591
|
-
galaExchangeRate: GalaExchangeRate;
|
|
592
|
-
galaExchangeCrossRate?: GalaExchangeCrossRate;
|
|
593
|
-
timestamp: number;
|
|
594
|
-
signingIdentity: string;
|
|
595
|
-
signature: string;
|
|
596
|
-
}
|
|
597
|
-
/**
|
|
598
|
-
* Response from RequestTokenBridgeOut API
|
|
599
|
-
*
|
|
600
|
-
* Note: The GalaConnect API may return additional undocumented fields.
|
|
601
|
-
* The index signature ensures compatibility with Record<string, unknown>
|
|
602
|
-
* while preserving type safety for known fields.
|
|
603
|
-
*
|
|
604
|
-
* Known fields may appear in different casings (e.g., Data/data, Hash/hash)
|
|
605
|
-
* due to API response inconsistencies across different endpoints.
|
|
606
|
-
*/
|
|
607
|
-
export interface RequestBridgeOutResponse {
|
|
608
|
-
Data?: string;
|
|
609
|
-
data?: {
|
|
610
|
-
Data?: string;
|
|
611
|
-
} | string;
|
|
612
|
-
Hash?: string;
|
|
613
|
-
hash?: string;
|
|
614
|
-
Status?: number;
|
|
615
|
-
status?: number;
|
|
616
|
-
message?: string;
|
|
617
|
-
/** Index signature for API compatibility (additional undocumented fields) */
|
|
618
|
-
[key: string]: unknown;
|
|
619
|
-
}
|
|
620
|
-
/**
|
|
621
|
-
* Response from BridgeTokenOut API
|
|
622
|
-
*/
|
|
623
|
-
export interface BridgeTokenOutResponse {
|
|
624
|
-
Data?: {
|
|
625
|
-
chainId: number;
|
|
626
|
-
emitter: string;
|
|
627
|
-
nonce: string;
|
|
628
|
-
sequence: string;
|
|
629
|
-
payload: string;
|
|
630
|
-
};
|
|
631
|
-
Hash?: string;
|
|
632
|
-
hash?: string;
|
|
633
|
-
Status?: number;
|
|
634
|
-
status?: number;
|
|
635
|
-
message?: string;
|
|
636
|
-
}
|
|
637
|
-
/**
|
|
638
|
-
* Response from bridge status API.
|
|
639
|
-
*
|
|
640
|
-
* Note: The API returns a flat response structure (no data wrapper).
|
|
641
|
-
*/
|
|
642
|
-
export interface BridgeStatusResponse {
|
|
643
|
-
/** Status code (0-6 mapping to BridgeStatusCode) */
|
|
644
|
-
status: number;
|
|
645
|
-
/** Human-readable status description */
|
|
646
|
-
statusDescription: string;
|
|
647
|
-
/** Source chain (e.g., "GC" for GalaChain) */
|
|
648
|
-
fromChain: string;
|
|
649
|
-
/** Destination chain (e.g., "Ethereum") */
|
|
650
|
-
toChain: string;
|
|
651
|
-
/** Amount being bridged */
|
|
652
|
-
quantity: string;
|
|
653
|
-
/** Transaction hash on the emitter (source) chain */
|
|
654
|
-
emitterTransactionHash: string;
|
|
655
|
-
/** Token instance being bridged */
|
|
656
|
-
tokenInstance: BridgeTokenInstance;
|
|
657
|
-
/** Transaction hash on the receiver (destination) chain, if available */
|
|
658
|
-
receiverTransactionHash?: string;
|
|
659
|
-
}
|
|
660
|
-
/**
|
|
661
|
-
* Response from bridge transaction registration API
|
|
662
|
-
*/
|
|
663
|
-
export interface BridgeTransactionRegistrationResponse {
|
|
664
|
-
status: number;
|
|
665
|
-
message: string;
|
|
666
|
-
error: boolean;
|
|
667
|
-
data?: Record<string, unknown>;
|
|
668
|
-
}
|
|
669
|
-
/**
|
|
670
|
-
* Token balance entry from FetchBalances
|
|
671
|
-
*/
|
|
672
|
-
export interface TokenBalanceEntry {
|
|
673
|
-
tokenInstance: BridgeTokenInstance;
|
|
674
|
-
balance: string;
|
|
675
|
-
locked?: string;
|
|
676
|
-
}
|
|
677
|
-
/**
|
|
678
|
-
* Response from FetchBalances API
|
|
679
|
-
*/
|
|
680
|
-
export interface FetchBalancesResponse {
|
|
681
|
-
status: number;
|
|
682
|
-
message: string;
|
|
683
|
-
error: boolean;
|
|
684
|
-
data?: {
|
|
685
|
-
balances: TokenBalanceEntry[];
|
|
686
|
-
};
|
|
687
|
-
}
|
|
688
|
-
/**
|
|
689
|
-
* Balance for a single token on an external chain (Ethereum or Solana)
|
|
690
|
-
*
|
|
691
|
-
* Represents either a native token (ETH/SOL) or a token contract (ERC-20/SPL).
|
|
692
|
-
*
|
|
693
|
-
* @example
|
|
694
|
-
* ```typescript
|
|
695
|
-
* // Native ETH balance
|
|
696
|
-
* const ethBalance: ExternalChainBalance = {
|
|
697
|
-
* symbol: 'ETH',
|
|
698
|
-
* quantity: '1.500000000000000000',
|
|
699
|
-
* decimals: 18,
|
|
700
|
-
* contractAddress: null,
|
|
701
|
-
* isNative: true,
|
|
702
|
-
* };
|
|
703
|
-
*
|
|
704
|
-
* // ERC-20 GALA balance
|
|
705
|
-
* const galaBalance: ExternalChainBalance = {
|
|
706
|
-
* symbol: 'GALA',
|
|
707
|
-
* quantity: '1000.00000000',
|
|
708
|
-
* decimals: 8,
|
|
709
|
-
* contractAddress: '0x15D4c048F83bd7e37d49eA4C83a07267Ec4203dA',
|
|
710
|
-
* isNative: false,
|
|
711
|
-
* };
|
|
712
|
-
* ```
|
|
713
|
-
*/
|
|
714
|
-
export interface ExternalChainBalance {
|
|
715
|
-
/** Token symbol (e.g., "GALA", "GWETH", "ETH", "SOL") */
|
|
716
|
-
symbol: string;
|
|
717
|
-
/** Balance as decimal string (e.g., "123.45678901") */
|
|
718
|
-
quantity: string;
|
|
719
|
-
/** Token decimals */
|
|
720
|
-
decimals: number;
|
|
721
|
-
/** Contract address (ERC-20) or mint address (SPL), null for native tokens */
|
|
722
|
-
contractAddress: string | null;
|
|
723
|
-
/** Whether this is the native token (ETH/SOL) */
|
|
724
|
-
isNative: boolean;
|
|
725
|
-
}
|
|
726
|
-
/**
|
|
727
|
-
* Complete Ethereum wallet balance result
|
|
728
|
-
*
|
|
729
|
-
* Returns native ETH balance plus all supported ERC-20 token balances:
|
|
730
|
-
* GALA, GWETH, GUSDC, GUSDT, GWTRX, GWBTC
|
|
731
|
-
*
|
|
732
|
-
* @example
|
|
733
|
-
* ```typescript
|
|
734
|
-
* const result = await sdk.fetchEthereumWalletBalance('0x...');
|
|
735
|
-
* console.log(`ETH: ${result.native.quantity}`);
|
|
736
|
-
* console.log(`Tokens: ${result.tokens.map(t => `${t.symbol}: ${t.quantity}`).join(', ')}`);
|
|
737
|
-
* ```
|
|
738
|
-
*/
|
|
739
|
-
export interface EthereumWalletBalanceResult {
|
|
740
|
-
/** Wallet address queried (0x format) */
|
|
741
|
-
address: string;
|
|
742
|
-
/** Native ETH balance */
|
|
743
|
-
native: ExternalChainBalance;
|
|
744
|
-
/** ERC-20 token balances (GALA, GWETH, GUSDC, GUSDT, GWTRX, GWBTC) */
|
|
745
|
-
tokens: ExternalChainBalance[];
|
|
746
|
-
/** Query timestamp (epoch ms) */
|
|
747
|
-
timestamp: number;
|
|
748
|
-
}
|
|
749
|
-
/**
|
|
750
|
-
* Complete Solana wallet balance result
|
|
751
|
-
*
|
|
752
|
-
* Returns native SOL balance plus all supported SPL token balances:
|
|
753
|
-
* GALA, GSOL
|
|
754
|
-
*
|
|
755
|
-
* @example
|
|
756
|
-
* ```typescript
|
|
757
|
-
* const result = await sdk.fetchSolanaWalletBalance('9WzDXw...');
|
|
758
|
-
* console.log(`SOL: ${result.native.quantity}`);
|
|
759
|
-
* console.log(`Tokens: ${result.tokens.map(t => `${t.symbol}: ${t.quantity}`).join(', ')}`);
|
|
760
|
-
* ```
|
|
761
|
-
*/
|
|
762
|
-
export interface SolanaWalletBalanceResult {
|
|
763
|
-
/** Wallet address queried (base58 format) */
|
|
764
|
-
address: string;
|
|
765
|
-
/** Native SOL balance */
|
|
766
|
-
native: ExternalChainBalance;
|
|
767
|
-
/** SPL token balances (GALA, GSOL) */
|
|
768
|
-
tokens: ExternalChainBalance[];
|
|
769
|
-
/** Query timestamp (epoch ms) */
|
|
770
|
-
timestamp: number;
|
|
771
|
-
}
|
|
772
|
-
//# sourceMappingURL=bridge.dto.d.ts.map
|