@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,107 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wallet Detection Utilities
|
|
3
|
-
*
|
|
4
|
-
* Provides EIP-6963 based wallet detection for discovering browser extension
|
|
5
|
-
* wallets like MetaMask, Coinbase Wallet, Trust Wallet, etc.
|
|
6
|
-
*
|
|
7
|
-
* @packageDocumentation
|
|
8
|
-
*/
|
|
9
|
-
import type { DetectedWallet, WalletDetectionResult } from './types';
|
|
10
|
-
/**
|
|
11
|
-
* Known wallet RDNS identifiers for common wallets
|
|
12
|
-
*/
|
|
13
|
-
export declare const KNOWN_WALLET_RDNS: {
|
|
14
|
-
readonly METAMASK: "io.metamask";
|
|
15
|
-
readonly METAMASK_FLASK: "io.metamask.flask";
|
|
16
|
-
readonly COINBASE: "com.coinbase.wallet";
|
|
17
|
-
readonly TRUST_WALLET: "com.trustwallet.app";
|
|
18
|
-
readonly PHANTOM: "app.phantom";
|
|
19
|
-
readonly RAINBOW: "me.rainbow";
|
|
20
|
-
readonly OKX: "com.okex.wallet";
|
|
21
|
-
readonly RABBY: "io.rabby";
|
|
22
|
-
readonly BRAVE: "com.brave.wallet";
|
|
23
|
-
readonly FRAME: "sh.frame";
|
|
24
|
-
readonly LEDGER: "com.ledger";
|
|
25
|
-
readonly ZERION: "io.zerion.wallet";
|
|
26
|
-
readonly GALA: "com.gala.wallet";
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Detects available wallets using EIP-6963 standard
|
|
30
|
-
*
|
|
31
|
-
* EIP-6963 is the modern standard for wallet detection that allows
|
|
32
|
-
* multiple wallets to announce themselves without conflicting.
|
|
33
|
-
*
|
|
34
|
-
* @param timeout - Maximum time to wait for wallet announcements (default: 500ms)
|
|
35
|
-
* @returns Promise resolving to detected wallets
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```typescript
|
|
39
|
-
* const { wallets, primary, hasWallets } = await detectWallets();
|
|
40
|
-
*
|
|
41
|
-
* if (hasWallets) {
|
|
42
|
-
* console.log('Available wallets:', wallets.map(w => w.name));
|
|
43
|
-
*
|
|
44
|
-
* // Create provider from first wallet
|
|
45
|
-
* const provider = new ExternalWalletProvider(primary.provider);
|
|
46
|
-
* await provider.connect();
|
|
47
|
-
* }
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
|
-
export declare function detectWallets(timeout?: number): Promise<WalletDetectionResult>;
|
|
51
|
-
/**
|
|
52
|
-
* Subscribes to wallet connection/disconnection events
|
|
53
|
-
*
|
|
54
|
-
* @param callback - Function called when wallets are added or removed
|
|
55
|
-
* @returns Cleanup function to stop listening
|
|
56
|
-
*
|
|
57
|
-
* @example
|
|
58
|
-
* ```typescript
|
|
59
|
-
* const unsubscribe = subscribeToWalletChanges((wallets) => {
|
|
60
|
-
* console.log('Wallets changed:', wallets.length);
|
|
61
|
-
* });
|
|
62
|
-
*
|
|
63
|
-
* // Later: cleanup
|
|
64
|
-
* unsubscribe();
|
|
65
|
-
* ```
|
|
66
|
-
*/
|
|
67
|
-
export declare function subscribeToWalletChanges(callback: (result: WalletDetectionResult) => void): () => void;
|
|
68
|
-
/**
|
|
69
|
-
* Gets a specific wallet by its RDNS identifier
|
|
70
|
-
*
|
|
71
|
-
* @param rdns - The wallet RDNS (e.g., 'io.metamask')
|
|
72
|
-
* @param timeout - Detection timeout in ms
|
|
73
|
-
* @returns The detected wallet or null if not found
|
|
74
|
-
*
|
|
75
|
-
* @example
|
|
76
|
-
* ```typescript
|
|
77
|
-
* const metamask = await getWalletByRdns('io.metamask');
|
|
78
|
-
* if (metamask) {
|
|
79
|
-
* const provider = new ExternalWalletProvider(metamask.provider);
|
|
80
|
-
* await provider.connect();
|
|
81
|
-
* }
|
|
82
|
-
* ```
|
|
83
|
-
*/
|
|
84
|
-
export declare function getWalletByRdns(rdns: string, timeout?: number): Promise<DetectedWallet | null>;
|
|
85
|
-
/**
|
|
86
|
-
* Checks if a specific wallet is available
|
|
87
|
-
*
|
|
88
|
-
* @param rdns - The wallet RDNS identifier
|
|
89
|
-
* @param timeout - Detection timeout in ms
|
|
90
|
-
* @returns true if the wallet is available
|
|
91
|
-
*
|
|
92
|
-
* @example
|
|
93
|
-
* ```typescript
|
|
94
|
-
* if (await isWalletAvailable(KNOWN_WALLET_RDNS.METAMASK)) {
|
|
95
|
-
* console.log('MetaMask is installed!');
|
|
96
|
-
* }
|
|
97
|
-
* ```
|
|
98
|
-
*/
|
|
99
|
-
export declare function isWalletAvailable(rdns: string, timeout?: number): Promise<boolean>;
|
|
100
|
-
/**
|
|
101
|
-
* Quick check for any available wallet (no waiting)
|
|
102
|
-
*
|
|
103
|
-
* Useful for showing/hiding wallet-related UI immediately.
|
|
104
|
-
* Returns true if window.ethereum exists.
|
|
105
|
-
*/
|
|
106
|
-
export declare function hasAnyWallet(): boolean;
|
|
107
|
-
//# sourceMappingURL=detection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../src/wallet/detection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,cAAc,EAGd,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;CAcpB,CAAC;AAiEX;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,MAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAsHzF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,GAChD,MAAM,IAAI,CAyDZ;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAGpG;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGxF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
export interface WalletEventProvider {
|
|
2
|
-
on?(event: string, callback: (...args: unknown[]) => void): void;
|
|
3
|
-
removeListener?(event: string, callback: (...args: unknown[]) => void): void;
|
|
4
|
-
}
|
|
5
|
-
export interface WalletEventHandlers {
|
|
6
|
-
accountsChanged: ((accounts: string[]) => void) | null;
|
|
7
|
-
disconnect: (() => void) | null;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Base lifecycle implementation for browser wallet account and disconnect events.
|
|
11
|
-
*
|
|
12
|
-
* @typeParam T - Provider type exposing browser wallet events.
|
|
13
|
-
* @internal
|
|
14
|
-
*/
|
|
15
|
-
export declare class WalletEventProviderBase<T extends WalletEventProvider> {
|
|
16
|
-
protected readonly provider: T;
|
|
17
|
-
protected connectedAddress: string | null;
|
|
18
|
-
private readonly eventHandlers;
|
|
19
|
-
constructor(provider: T);
|
|
20
|
-
protected removeEventListeners(): void;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Register the shared account and disconnect listeners used by browser wallets.
|
|
24
|
-
*
|
|
25
|
-
* @param provider - Browser wallet event provider.
|
|
26
|
-
* @param onAddressChanged - Callback receiving a checksummed address or null.
|
|
27
|
-
* @param onDisconnected - Callback invoked when the provider disconnects.
|
|
28
|
-
* @returns Registered listener functions for later cleanup.
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* ```typescript
|
|
32
|
-
* const handlers = registerWalletEventHandlers(provider, address => {
|
|
33
|
-
* console.log(address);
|
|
34
|
-
* }, () => console.log('disconnected'));
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
export declare function registerWalletEventHandlers(provider: WalletEventProvider, onAddressChanged: (address: string | null) => void, onDisconnected: () => void): WalletEventHandlers;
|
|
38
|
-
/**
|
|
39
|
-
* Remove browser wallet listeners returned by `registerWalletEventHandlers`.
|
|
40
|
-
*
|
|
41
|
-
* @param provider - Browser wallet event provider.
|
|
42
|
-
* @param handlers - Listener functions to remove.
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
* ```typescript
|
|
46
|
-
* removeWalletEventHandlers(provider, handlers);
|
|
47
|
-
* ```
|
|
48
|
-
*/
|
|
49
|
-
export declare function removeWalletEventHandlers(provider: WalletEventProvider, handlers: WalletEventHandlers): void;
|
|
50
|
-
//# sourceMappingURL=event-handlers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-handlers.d.ts","sourceRoot":"","sources":["../../src/wallet/event-handlers.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IACjE,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;CAC9E;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvD,UAAU,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;CACjC;AAED;;;;;GAKG;AACH,qBAAa,uBAAuB,CAAC,CAAC,SAAS,mBAAmB;IAChE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/B,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;gBAExC,QAAQ,EAAE,CAAC;IASvB,SAAS,CAAC,oBAAoB,IAAI,IAAI;CAGvC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,mBAAmB,EAC7B,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,EAClD,cAAc,EAAE,MAAM,IAAI,GACzB,mBAAmB,CAarB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,EAAE,mBAAmB,GAC5B,IAAI,CAWN"}
|
package/dist/wallet/index.d.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wallet Provider Module
|
|
3
|
-
*
|
|
4
|
-
* Provides a unified interface for working with different wallet types:
|
|
5
|
-
* - Private key wallets (ethers.js)
|
|
6
|
-
* - Browser extension wallets (MetaMask, Coinbase, Trust, etc.)
|
|
7
|
-
* - Gala Wallet (window.gala)
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```typescript
|
|
11
|
-
* // Import wallet providers
|
|
12
|
-
* import {
|
|
13
|
-
* PrivateKeyProvider,
|
|
14
|
-
* ExternalWalletProvider,
|
|
15
|
-
* GalaWalletProvider,
|
|
16
|
-
* detectWallets,
|
|
17
|
-
* createWalletProvider,
|
|
18
|
-
* } from '@gala-chain/launchpad-sdk/wallet';
|
|
19
|
-
*
|
|
20
|
-
* // Option 1: Private key (CLI/Node.js)
|
|
21
|
-
* const provider = new PrivateKeyProvider('0x...');
|
|
22
|
-
*
|
|
23
|
-
* // Option 2: Browser wallet (MetaMask, Coinbase, etc.)
|
|
24
|
-
* const { wallets } = await detectWallets();
|
|
25
|
-
* const provider = new ExternalWalletProvider(wallets[0].provider);
|
|
26
|
-
* await provider.connect();
|
|
27
|
-
*
|
|
28
|
-
* // Option 3: Gala Wallet (custom browser extension)
|
|
29
|
-
* const galaProvider = new GalaWalletProvider(window.gala);
|
|
30
|
-
* const address = await galaProvider.connect();
|
|
31
|
-
*
|
|
32
|
-
* // Option 4: Config-based factory
|
|
33
|
-
* const provider = createWalletProvider({ eip1193Provider: window.ethereum });
|
|
34
|
-
*
|
|
35
|
-
* // Use with SDK
|
|
36
|
-
* const sdk = new LaunchpadSDK({
|
|
37
|
-
* walletProvider: provider,
|
|
38
|
-
* env: 'prod'
|
|
39
|
-
* });
|
|
40
|
-
* ```
|
|
41
|
-
*
|
|
42
|
-
* @packageDocumentation
|
|
43
|
-
*/
|
|
44
|
-
export type { DetectedWallet, Eip1193Provider, Eip6963AnnounceProviderEvent, Eip6963ProviderDetail, Eip6963ProviderInfo, TypedDataDomain, TypedDataField, WalletConnectionState, WalletDetectionResult, WalletProvider, WalletProviderConfig, WalletProviderType, } from './types';
|
|
45
|
-
export { WalletProviderError, WalletProviderErrorCode, } from './types';
|
|
46
|
-
export { ExternalWalletProvider } from './ExternalWalletProvider';
|
|
47
|
-
export { GalaWalletProvider } from './GalaWalletProvider';
|
|
48
|
-
export { PrivateKeyProvider } from './PrivateKeyProvider';
|
|
49
|
-
export { detectWallets, getWalletByRdns, hasAnyWallet, isWalletAvailable, KNOWN_WALLET_RDNS, subscribeToWalletChanges, } from './detection';
|
|
50
|
-
export { createProviderFromEip1193, createProviderFromWallet, createWalletProvider, ensureConnected, getInjectedEip1193Provider, getPrivateKeyIfAvailable, isEip1193Provider, isExternalProvider, isPrivateKeyProvider, providerToWallet, walletToProvider, } from './utils';
|
|
51
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAGH,YAAY,EACV,cAAc,EACd,eAAe,EACf,4BAA4B,EAC5B,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EACL,aAAa,EACb,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Execute a wallet signature request and normalize provider failures.
|
|
3
|
-
*
|
|
4
|
-
* @param request - Signature request, including any wallet-specific setup.
|
|
5
|
-
* @param handleError - Provider-specific error normalization callback.
|
|
6
|
-
* @param operation - Human-readable operation name for error messages.
|
|
7
|
-
* @returns The wallet signature.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```typescript
|
|
11
|
-
* const signature = await executeWalletSigning(
|
|
12
|
-
* () => provider.request({ method: 'personal_sign', params: ['hello', address] }),
|
|
13
|
-
* (error, name) => { throw new Error(`${name} failed`, { cause: error }); },
|
|
14
|
-
* 'sign message'
|
|
15
|
-
* );
|
|
16
|
-
* ```
|
|
17
|
-
*/
|
|
18
|
-
export declare function executeWalletSigning(request: () => Promise<string>, handleError: (error: unknown, operation: string) => never, operation: string): Promise<string>;
|
|
19
|
-
//# sourceMappingURL=signing-operation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signing-operation.d.ts","sourceRoot":"","sources":["../../src/wallet/signing-operation.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC9B,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,KAAK,EACzD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAOjB"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import type { TypedDataDomain, TypedDataField } from './types';
|
|
2
|
-
interface WalletRequestProvider {
|
|
3
|
-
request<T = unknown>(args: {
|
|
4
|
-
method: string;
|
|
5
|
-
params?: unknown[];
|
|
6
|
-
}): Promise<T>;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Build the JSON-RPC EIP-712 payload used by browser wallet providers.
|
|
10
|
-
*
|
|
11
|
-
* @param domain - EIP-712 domain fields.
|
|
12
|
-
* @param types - Message type definitions excluding `EIP712Domain`.
|
|
13
|
-
* @param message - Message values.
|
|
14
|
-
* @returns A JSON-RPC-compatible typed-data object.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* const payload = buildTypedDataPayload({ name: 'Launchpad' }, {
|
|
19
|
-
* Message: [{ name: 'value', type: 'string' }]
|
|
20
|
-
* }, { value: 'hello' });
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export declare function buildTypedDataPayload(domain: TypedDataDomain, types: Record<string, TypedDataField[]>, message: Record<string, unknown>): Record<string, unknown>;
|
|
24
|
-
/**
|
|
25
|
-
* Encode a message for the EIP-1193 `personal_sign` method.
|
|
26
|
-
*
|
|
27
|
-
* @param message - UTF-8 message to encode.
|
|
28
|
-
* @returns A hexadecimal JSON-RPC message.
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* ```typescript
|
|
32
|
-
* const encoded = encodePersonalSignMessage('hello');
|
|
33
|
-
* console.log(encoded.startsWith('0x')); // true
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export declare function encodePersonalSignMessage(message: string): string;
|
|
37
|
-
/**
|
|
38
|
-
* Request a personal-sign signature from a browser wallet provider.
|
|
39
|
-
*
|
|
40
|
-
* @param provider - JSON-RPC wallet provider.
|
|
41
|
-
* @param address - Connected wallet address.
|
|
42
|
-
* @param message - UTF-8 message to sign.
|
|
43
|
-
* @returns The wallet signature.
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```typescript
|
|
47
|
-
* const signature = await requestPersonalSignature(provider, address, 'hello');
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
|
-
export declare function requestPersonalSignature(provider: WalletRequestProvider, address: string, message: string): Promise<string>;
|
|
51
|
-
/**
|
|
52
|
-
* Request an EIP-712 signature from a browser wallet provider.
|
|
53
|
-
*
|
|
54
|
-
* @param provider - JSON-RPC wallet provider.
|
|
55
|
-
* @param address - Connected wallet address.
|
|
56
|
-
* @param domain - EIP-712 domain fields.
|
|
57
|
-
* @param types - Message type definitions excluding `EIP712Domain`.
|
|
58
|
-
* @param message - Message values.
|
|
59
|
-
* @returns The wallet signature.
|
|
60
|
-
*
|
|
61
|
-
* @example
|
|
62
|
-
* ```typescript
|
|
63
|
-
* const signature = await requestTypedDataSignature(provider, address, domain, types, message);
|
|
64
|
-
* ```
|
|
65
|
-
*/
|
|
66
|
-
export declare function requestTypedDataSignature(provider: WalletRequestProvider, address: string, domain: TypedDataDomain, types: Record<string, TypedDataField[]>, message: Record<string, unknown>): Promise<string>;
|
|
67
|
-
export {};
|
|
68
|
-
//# sourceMappingURL=typed-data-helpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typed-data-helpers.d.ts","sourceRoot":"","sources":["../../src/wallet/typed-data-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE/D,UAAU,qBAAqB;IAC7B,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAChF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AA4BD;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,CAKjB"}
|
package/dist/wallet/types.d.ts
DELETED
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wallet Provider Types
|
|
3
|
-
*
|
|
4
|
-
* Defines the WalletProvider interface for abstracting wallet operations
|
|
5
|
-
* across different wallet implementations (private key, browser extension, WalletConnect, etc.)
|
|
6
|
-
*
|
|
7
|
-
* @packageDocumentation
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* EIP-712 typed data domain parameters
|
|
11
|
-
*/
|
|
12
|
-
export interface TypedDataDomain {
|
|
13
|
-
name?: string;
|
|
14
|
-
version?: string;
|
|
15
|
-
chainId?: number | bigint | string;
|
|
16
|
-
verifyingContract?: string;
|
|
17
|
-
salt?: string;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* EIP-712 typed data field definition
|
|
21
|
-
*/
|
|
22
|
-
export interface TypedDataField {
|
|
23
|
-
name: string;
|
|
24
|
-
type: string;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Wallet provider type identifier
|
|
28
|
-
*/
|
|
29
|
-
export type WalletProviderType = 'privateKey' | 'external';
|
|
30
|
-
/**
|
|
31
|
-
* Core wallet provider interface
|
|
32
|
-
*
|
|
33
|
-
* This interface abstracts wallet operations to support multiple wallet backends:
|
|
34
|
-
* - Private key wallets (ethers.js Wallet)
|
|
35
|
-
* - Browser extension wallets (MetaMask, Coinbase, Trust, etc. via EIP-1193)
|
|
36
|
-
* - Gala Wallet (window.gala)
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* // Using with private key
|
|
41
|
-
* const provider = new PrivateKeyProvider('0x...');
|
|
42
|
-
*
|
|
43
|
-
* // Using with MetaMask
|
|
44
|
-
* const provider = new ExternalWalletProvider(window.ethereum);
|
|
45
|
-
* await provider.connect();
|
|
46
|
-
*
|
|
47
|
-
* // Common interface for SDK
|
|
48
|
-
* const address = await provider.getAddress();
|
|
49
|
-
* const signature = await provider.signMessage('Hello');
|
|
50
|
-
* ```
|
|
51
|
-
*/
|
|
52
|
-
export interface WalletProvider {
|
|
53
|
-
/**
|
|
54
|
-
* Provider type identifier
|
|
55
|
-
* - 'privateKey': Provider wraps a private key (can access raw key)
|
|
56
|
-
* - 'external': Provider wraps an external signing device (cannot access raw key)
|
|
57
|
-
*/
|
|
58
|
-
readonly providerType: WalletProviderType;
|
|
59
|
-
/**
|
|
60
|
-
* Signs a message using personal_sign or equivalent
|
|
61
|
-
*
|
|
62
|
-
* @param message - The message to sign (will be prefixed with EIP-191)
|
|
63
|
-
* @returns Promise resolving to the signature
|
|
64
|
-
* @throws Error if signing fails or user rejects
|
|
65
|
-
*/
|
|
66
|
-
signMessage(message: string): Promise<string>;
|
|
67
|
-
/**
|
|
68
|
-
* Signs typed data using EIP-712
|
|
69
|
-
*
|
|
70
|
-
* @param domain - The EIP-712 domain parameters
|
|
71
|
-
* @param types - The type definitions (excluding EIP712Domain)
|
|
72
|
-
* @param value - The message data to sign
|
|
73
|
-
* @returns Promise resolving to the signature
|
|
74
|
-
* @throws Error if signing fails or user rejects
|
|
75
|
-
*/
|
|
76
|
-
signTypedData(domain: TypedDataDomain, types: Record<string, TypedDataField[]>, value: Record<string, unknown>): Promise<string>;
|
|
77
|
-
/**
|
|
78
|
-
* Gets the wallet's Ethereum address (0x prefixed, checksummed)
|
|
79
|
-
*
|
|
80
|
-
* @returns Promise resolving to the address
|
|
81
|
-
* @throws Error if not connected
|
|
82
|
-
*/
|
|
83
|
-
getAddress(): Promise<string>;
|
|
84
|
-
/**
|
|
85
|
-
* Gets the wallet address in Gala backend format (eth|{40-hex-chars})
|
|
86
|
-
*
|
|
87
|
-
* @returns Promise resolving to the Gala-formatted address
|
|
88
|
-
* @throws Error if not connected
|
|
89
|
-
*/
|
|
90
|
-
getGalaAddress(): Promise<string>;
|
|
91
|
-
/**
|
|
92
|
-
* Connects to the wallet (requests account access)
|
|
93
|
-
*
|
|
94
|
-
* For PrivateKeyProvider, this is a no-op that resolves immediately.
|
|
95
|
-
* For external providers, this triggers the wallet connection UI.
|
|
96
|
-
*
|
|
97
|
-
* @returns Promise resolving to the connected address
|
|
98
|
-
* @throws Error if connection fails or user rejects
|
|
99
|
-
*/
|
|
100
|
-
connect(): Promise<string>;
|
|
101
|
-
/**
|
|
102
|
-
* Disconnects from the wallet
|
|
103
|
-
*
|
|
104
|
-
* For PrivateKeyProvider, this is a no-op.
|
|
105
|
-
* For external providers, this clears the connection state.
|
|
106
|
-
*/
|
|
107
|
-
disconnect(): Promise<void>;
|
|
108
|
-
/**
|
|
109
|
-
* Checks if the wallet is connected
|
|
110
|
-
*
|
|
111
|
-
* @returns true if connected and ready for signing operations
|
|
112
|
-
*/
|
|
113
|
-
isConnected(): boolean;
|
|
114
|
-
/**
|
|
115
|
-
* Gets the private key if available
|
|
116
|
-
*
|
|
117
|
-
* Only available for PrivateKeyProvider. External providers will throw.
|
|
118
|
-
*
|
|
119
|
-
* @returns Promise resolving to the private key (0x prefixed)
|
|
120
|
-
* @throws Error if private key is not accessible (external provider)
|
|
121
|
-
*/
|
|
122
|
-
getPrivateKey?(): Promise<string>;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* EIP-1193 Provider interface (minimal subset for wallet interaction)
|
|
126
|
-
*
|
|
127
|
-
* This is the standard interface exposed by browser extension wallets
|
|
128
|
-
* like MetaMask, Coinbase Wallet, etc.
|
|
129
|
-
*
|
|
130
|
-
* @see https://eips.ethereum.org/EIPS/eip-1193
|
|
131
|
-
*/
|
|
132
|
-
export interface Eip1193Provider {
|
|
133
|
-
/**
|
|
134
|
-
* Makes a JSON-RPC request to the provider
|
|
135
|
-
*/
|
|
136
|
-
request<T = unknown>(args: {
|
|
137
|
-
method: string;
|
|
138
|
-
params?: unknown[];
|
|
139
|
-
}): Promise<T>;
|
|
140
|
-
/**
|
|
141
|
-
* Registers an event listener
|
|
142
|
-
*/
|
|
143
|
-
on?(event: string, listener: (...args: unknown[]) => void): void;
|
|
144
|
-
/**
|
|
145
|
-
* Removes an event listener
|
|
146
|
-
*/
|
|
147
|
-
removeListener?(event: string, listener: (...args: unknown[]) => void): void;
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* EIP-6963 Provider Info (wallet metadata)
|
|
151
|
-
*
|
|
152
|
-
* @see https://eips.ethereum.org/EIPS/eip-6963
|
|
153
|
-
*/
|
|
154
|
-
export interface Eip6963ProviderInfo {
|
|
155
|
-
/** Unique wallet identifier (e.g., 'io.metamask') */
|
|
156
|
-
uuid: string;
|
|
157
|
-
/** Human-readable wallet name */
|
|
158
|
-
name: string;
|
|
159
|
-
/** Base64-encoded wallet icon */
|
|
160
|
-
icon: string;
|
|
161
|
-
/** Reverse DNS wallet identifier */
|
|
162
|
-
rdns: string;
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* EIP-6963 Provider Detail (provider + metadata)
|
|
166
|
-
*/
|
|
167
|
-
export interface Eip6963ProviderDetail {
|
|
168
|
-
info: Eip6963ProviderInfo;
|
|
169
|
-
provider: Eip1193Provider;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* EIP-6963 Announce Provider Event
|
|
173
|
-
*/
|
|
174
|
-
export interface Eip6963AnnounceProviderEvent extends Event {
|
|
175
|
-
type: 'eip6963:announceProvider';
|
|
176
|
-
detail: Eip6963ProviderDetail;
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Detected wallet with provider and metadata
|
|
180
|
-
*/
|
|
181
|
-
export interface DetectedWallet {
|
|
182
|
-
/** Unique wallet identifier (RDNS format, e.g., "io.metamask") */
|
|
183
|
-
id: string;
|
|
184
|
-
/** Human-readable wallet name */
|
|
185
|
-
name: string;
|
|
186
|
-
/** Reverse domain name identifier (e.g., "io.metamask") */
|
|
187
|
-
rdns: string;
|
|
188
|
-
/** Base64-encoded wallet icon (data URI) */
|
|
189
|
-
icon: string;
|
|
190
|
-
/** The EIP-1193 provider interface */
|
|
191
|
-
provider: Eip1193Provider;
|
|
192
|
-
/** Whether this is the injected window.ethereum provider */
|
|
193
|
-
isInjected: boolean;
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Wallet detection result
|
|
197
|
-
*/
|
|
198
|
-
export interface WalletDetectionResult {
|
|
199
|
-
/** All detected wallets */
|
|
200
|
-
wallets: DetectedWallet[];
|
|
201
|
-
/** Map of wallet ID to wallet for quick lookup */
|
|
202
|
-
byId: Map<string, DetectedWallet>;
|
|
203
|
-
/** Whether any wallets were detected */
|
|
204
|
-
hasWallets: boolean;
|
|
205
|
-
/** The primary/preferred wallet (first detected or window.ethereum) */
|
|
206
|
-
primary?: DetectedWallet;
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Error thrown when wallet operations fail
|
|
210
|
-
*/
|
|
211
|
-
export declare class WalletProviderError extends Error {
|
|
212
|
-
readonly code: WalletProviderErrorCode;
|
|
213
|
-
readonly originalError?: Error | undefined;
|
|
214
|
-
constructor(message: string, code: WalletProviderErrorCode, originalError?: Error | undefined);
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Wallet provider error codes
|
|
218
|
-
*/
|
|
219
|
-
export declare enum WalletProviderErrorCode {
|
|
220
|
-
/** User rejected the operation */
|
|
221
|
-
USER_REJECTED = "USER_REJECTED",
|
|
222
|
-
/** Wallet is not connected */
|
|
223
|
-
NOT_CONNECTED = "NOT_CONNECTED",
|
|
224
|
-
/** Wallet connection failed */
|
|
225
|
-
CONNECTION_FAILED = "CONNECTION_FAILED",
|
|
226
|
-
/** Signing operation failed */
|
|
227
|
-
SIGNING_FAILED = "SIGNING_FAILED",
|
|
228
|
-
/** Provider not available (e.g., MetaMask not installed) */
|
|
229
|
-
PROVIDER_NOT_AVAILABLE = "PROVIDER_NOT_AVAILABLE",
|
|
230
|
-
/** Operation requires private key access (not available with external providers) */
|
|
231
|
-
PRIVATE_KEY_NOT_ACCESSIBLE = "PRIVATE_KEY_NOT_ACCESSIBLE",
|
|
232
|
-
/** Invalid configuration or parameters */
|
|
233
|
-
INVALID_CONFIG = "INVALID_CONFIG",
|
|
234
|
-
/** Chain/network mismatch */
|
|
235
|
-
CHAIN_MISMATCH = "CHAIN_MISMATCH",
|
|
236
|
-
/** Unknown error */
|
|
237
|
-
UNKNOWN = "UNKNOWN"
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Configuration for creating a wallet provider
|
|
241
|
-
*/
|
|
242
|
-
export interface WalletProviderConfig {
|
|
243
|
-
/** Private key (0x prefixed) - for PrivateKeyProvider */
|
|
244
|
-
privateKey?: string;
|
|
245
|
-
/** EIP-1193 provider instance - for ExternalWalletProvider */
|
|
246
|
-
eip1193Provider?: Eip1193Provider;
|
|
247
|
-
/** Whether to auto-connect on creation (default: false) */
|
|
248
|
-
autoConnect?: boolean;
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Wallet connection state
|
|
252
|
-
*/
|
|
253
|
-
export interface WalletConnectionState {
|
|
254
|
-
/** Whether the wallet is connected */
|
|
255
|
-
isConnected: boolean;
|
|
256
|
-
/** The connected address (if connected) */
|
|
257
|
-
address?: string;
|
|
258
|
-
/** The Gala-formatted address (if connected) */
|
|
259
|
-
galaAddress?: string;
|
|
260
|
-
/** The provider type */
|
|
261
|
-
providerType?: WalletProviderType;
|
|
262
|
-
/** Error if connection failed */
|
|
263
|
-
error?: Error;
|
|
264
|
-
/** Whether connection is in progress */
|
|
265
|
-
isConnecting: boolean;
|
|
266
|
-
}
|
|
267
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/wallet/types.ts"],"names":[],"mappings":"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"}
|