@tomo-inc/wallet-connect-protocol 0.0.7 → 0.0.9
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/MIGRATION.md +101 -0
- package/README.md +605 -290
- package/dist/index.cjs +111 -528
- package/dist/index.d.cts +668 -148
- package/dist/index.d.ts +668 -148
- package/dist/index.js +746 -315
- package/package.json +5 -18
- package/VANILLA_JS.md +0 -491
- package/dist/chunk-32KOSJUW.js +0 -839
- package/dist/vanilla-2_OWCFEZ.d.cts +0 -705
- package/dist/vanilla-2_OWCFEZ.d.ts +0 -705
- package/dist/vanilla.cjs +0 -828
- package/dist/vanilla.d.cts +0 -1
- package/dist/vanilla.d.ts +0 -1
- package/dist/vanilla.js +0 -1
|
@@ -1,705 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WalletConnect configuration type definition
|
|
3
|
-
*/
|
|
4
|
-
interface WalletConnectConfig {
|
|
5
|
-
/** WalletConnect Project ID (get from https://cloud.walletconnect.com) */
|
|
6
|
-
projectId: string;
|
|
7
|
-
/** application metadata */
|
|
8
|
-
metadata: {
|
|
9
|
-
/** application name */
|
|
10
|
-
name: string;
|
|
11
|
-
/** application description */
|
|
12
|
-
description: string;
|
|
13
|
-
/** application website address */
|
|
14
|
-
url: string;
|
|
15
|
-
/** application icon URL */
|
|
16
|
-
icons: string[];
|
|
17
|
-
};
|
|
18
|
-
/** optional configuration */
|
|
19
|
-
relayUrl?: string;
|
|
20
|
-
/** authentication options */
|
|
21
|
-
auth?: AuthOptions;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* session information
|
|
25
|
-
*/
|
|
26
|
-
interface SessionInfo {
|
|
27
|
-
/** session topic/ID */
|
|
28
|
-
topic: string;
|
|
29
|
-
/** peer information */
|
|
30
|
-
peer: {
|
|
31
|
-
metadata: {
|
|
32
|
-
name: string;
|
|
33
|
-
description: string;
|
|
34
|
-
url: string;
|
|
35
|
-
icons: string[];
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
/** namespace configuration */
|
|
39
|
-
namespaces: Record<string, any>;
|
|
40
|
-
/** expiry timestamp */
|
|
41
|
-
expiry: number;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* connection request parameters
|
|
45
|
-
*/
|
|
46
|
-
interface ConnectParams {
|
|
47
|
-
/** optional pairing topic */
|
|
48
|
-
pairingTopic?: string;
|
|
49
|
-
/** required namespaces */
|
|
50
|
-
requiredNamespaces?: Record<string, NamespaceConfig>;
|
|
51
|
-
/** optional namespaces */
|
|
52
|
-
optionalNamespaces?: Record<string, NamespaceConfig>;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* namespace configuration
|
|
56
|
-
*/
|
|
57
|
-
interface NamespaceConfig {
|
|
58
|
-
/** chain ID list */
|
|
59
|
-
chains: string[];
|
|
60
|
-
/** supported methods */
|
|
61
|
-
methods: string[];
|
|
62
|
-
/** subscribed events */
|
|
63
|
-
events: string[];
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* supported blockchain types
|
|
67
|
-
*/
|
|
68
|
-
declare enum ChainType {
|
|
69
|
-
/** Ethereum and EVM compatible chains */
|
|
70
|
-
EIP155 = "eip155",
|
|
71
|
-
/** Solana */
|
|
72
|
-
SOLANA = "solana",
|
|
73
|
-
/** Aptos */
|
|
74
|
-
APTOS = "aptos",
|
|
75
|
-
/** Cosmos */
|
|
76
|
-
COSMOS = "cosmos",
|
|
77
|
-
/** Polkadot */
|
|
78
|
-
POLKADOT = "polkadot",
|
|
79
|
-
/** Near */
|
|
80
|
-
NEAR = "near"
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* QR code options
|
|
84
|
-
*/
|
|
85
|
-
interface QRCodeOptions {
|
|
86
|
-
/** QR code width (pixels) */
|
|
87
|
-
width?: number;
|
|
88
|
-
/** QR code height (pixels) */
|
|
89
|
-
height?: number;
|
|
90
|
-
/** error correction level */
|
|
91
|
-
errorCorrectionLevel?: "L" | "M" | "Q" | "H";
|
|
92
|
-
/** margin */
|
|
93
|
-
margin?: number;
|
|
94
|
-
/** color configuration */
|
|
95
|
-
color?: {
|
|
96
|
-
dark?: string;
|
|
97
|
-
light?: string;
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* event types
|
|
102
|
-
*/
|
|
103
|
-
type WalletConnectEvent = "session_proposal" | "session_update" | "session_delete" | "session_request" | "display_uri";
|
|
104
|
-
/**
|
|
105
|
-
* event handler type
|
|
106
|
-
*/
|
|
107
|
-
type EventHandler<T = any> = (data: T) => void | Promise<void>;
|
|
108
|
-
/**
|
|
109
|
-
* Authentication method
|
|
110
|
-
*/
|
|
111
|
-
declare enum AuthMethod {
|
|
112
|
-
/** Standard WalletConnect connection */
|
|
113
|
-
STANDARD = "standard",
|
|
114
|
-
/** Sign-In with Ethereum (SIWE) */
|
|
115
|
-
SIWE = "siwe"
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Authentication options
|
|
119
|
-
*/
|
|
120
|
-
interface AuthOptions {
|
|
121
|
-
/** Authentication method */
|
|
122
|
-
method?: AuthMethod;
|
|
123
|
-
/** SIWE specific options */
|
|
124
|
-
siwe?: {
|
|
125
|
-
/** Domain requesting the signing */
|
|
126
|
-
domain: string;
|
|
127
|
-
/** Statement to present to user */
|
|
128
|
-
statement?: string;
|
|
129
|
-
/** URI of the application */
|
|
130
|
-
uri: string;
|
|
131
|
-
/** Resources the user wishes to access */
|
|
132
|
-
resources?: string[];
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* WalletConnect client class
|
|
138
|
-
* wraps the core functionality of WalletConnect
|
|
139
|
-
*/
|
|
140
|
-
declare class WalletConnectClient {
|
|
141
|
-
private signClient;
|
|
142
|
-
private config;
|
|
143
|
-
private eventHandlers;
|
|
144
|
-
private initialized;
|
|
145
|
-
constructor(config: WalletConnectConfig);
|
|
146
|
-
/**
|
|
147
|
-
* initialize WalletConnect client
|
|
148
|
-
*/
|
|
149
|
-
initialize(): Promise<void>;
|
|
150
|
-
/**
|
|
151
|
-
* set event listeners
|
|
152
|
-
*/
|
|
153
|
-
private setupEventListeners;
|
|
154
|
-
/**
|
|
155
|
-
* create pairing connection and generate URI
|
|
156
|
-
* @param params connection parameters
|
|
157
|
-
* @returns WalletConnect URI
|
|
158
|
-
*/
|
|
159
|
-
connect(params?: ConnectParams): Promise<string>;
|
|
160
|
-
/**
|
|
161
|
-
* generate QR code (Base64 format)
|
|
162
|
-
* @param uri WalletConnect URI
|
|
163
|
-
* @param options QR code options
|
|
164
|
-
* @returns Base64 formatted QR code image
|
|
165
|
-
*/
|
|
166
|
-
generateQRCode(uri: string, options?: QRCodeOptions): Promise<string>;
|
|
167
|
-
/**
|
|
168
|
-
* generate QR code (Canvas format)
|
|
169
|
-
* @param canvas Canvas element
|
|
170
|
-
* @param uri WalletConnect URI
|
|
171
|
-
* @param options QR code options
|
|
172
|
-
*/
|
|
173
|
-
generateQRCodeToCanvas(canvas: HTMLCanvasElement, uri: string, options?: QRCodeOptions): Promise<void>;
|
|
174
|
-
/**
|
|
175
|
-
* get all active sessions
|
|
176
|
-
* @returns session information array
|
|
177
|
-
*/
|
|
178
|
-
getActiveSessions(): SessionInfo[];
|
|
179
|
-
/**
|
|
180
|
-
* disconnect specified session
|
|
181
|
-
* @param topic session topic/ID
|
|
182
|
-
*/
|
|
183
|
-
disconnectSession(topic: string): Promise<void>;
|
|
184
|
-
/**
|
|
185
|
-
* listen to events
|
|
186
|
-
* @param event event name
|
|
187
|
-
* @param handler event handler
|
|
188
|
-
*/
|
|
189
|
-
on<T = any>(event: WalletConnectEvent, handler: EventHandler<T>): void;
|
|
190
|
-
/**
|
|
191
|
-
* remove event listener
|
|
192
|
-
* @param event event name
|
|
193
|
-
* @param handler event handler
|
|
194
|
-
*/
|
|
195
|
-
off<T = any>(event: WalletConnectEvent, handler: EventHandler<T>): void;
|
|
196
|
-
/**
|
|
197
|
-
* trigger event
|
|
198
|
-
* @param event event name
|
|
199
|
-
* @param data event data
|
|
200
|
-
*/
|
|
201
|
-
private emit;
|
|
202
|
-
/**
|
|
203
|
-
* send JSON-RPC request to wallet
|
|
204
|
-
* @param params request parameters
|
|
205
|
-
* @returns request result
|
|
206
|
-
*/
|
|
207
|
-
sendRequest(params: {
|
|
208
|
-
topic: string;
|
|
209
|
-
chainId: string;
|
|
210
|
-
request: {
|
|
211
|
-
method: string;
|
|
212
|
-
params: any[];
|
|
213
|
-
};
|
|
214
|
-
}): Promise<any>;
|
|
215
|
-
/**
|
|
216
|
-
* destroy client
|
|
217
|
-
*/
|
|
218
|
-
destroy(): Promise<void>;
|
|
219
|
-
/**
|
|
220
|
-
* get if client is initialized
|
|
221
|
-
*/
|
|
222
|
-
isInitialized(): boolean;
|
|
223
|
-
/**
|
|
224
|
-
* get configuration information
|
|
225
|
-
*/
|
|
226
|
-
getConfig(): WalletConnectConfig;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
/**
|
|
230
|
-
* Sign-In with Ethereum (SIWE) Support
|
|
231
|
-
* Implementation of EIP-4361: Sign-In with Ethereum
|
|
232
|
-
*/
|
|
233
|
-
/**
|
|
234
|
-
* SIWE configuration options
|
|
235
|
-
*/
|
|
236
|
-
interface SiweConfig {
|
|
237
|
-
/** Domain requesting the signing */
|
|
238
|
-
domain: string;
|
|
239
|
-
/** Statement to present to user (optional) */
|
|
240
|
-
statement?: string;
|
|
241
|
-
/** URI of the application */
|
|
242
|
-
uri: string;
|
|
243
|
-
/** Version of the SIWE message (default: "1") */
|
|
244
|
-
version?: string;
|
|
245
|
-
/** Chain ID */
|
|
246
|
-
chainId: number;
|
|
247
|
-
/** Nonce for preventing replay attacks */
|
|
248
|
-
nonce?: string;
|
|
249
|
-
/** ISO 8601 datetime string of current time */
|
|
250
|
-
issuedAt?: string;
|
|
251
|
-
/** ISO 8601 datetime string when message expires */
|
|
252
|
-
expirationTime?: string;
|
|
253
|
-
/** ISO 8601 datetime string when message becomes valid */
|
|
254
|
-
notBefore?: string;
|
|
255
|
-
/** Request ID */
|
|
256
|
-
requestId?: string;
|
|
257
|
-
/** Resources the user wishes to access */
|
|
258
|
-
resources?: string[];
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* SIWE message and signature result
|
|
262
|
-
*/
|
|
263
|
-
interface SiweResult {
|
|
264
|
-
/** The SIWE message that was signed */
|
|
265
|
-
message: string;
|
|
266
|
-
/** The signature */
|
|
267
|
-
signature: string;
|
|
268
|
-
/** The address that signed */
|
|
269
|
-
address: string;
|
|
270
|
-
/** Parsed SIWE message object */
|
|
271
|
-
siweMessage: any;
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Create a SIWE message
|
|
275
|
-
*/
|
|
276
|
-
declare function createSiweMessage(config: SiweConfig, address: string): Promise<string>;
|
|
277
|
-
/**
|
|
278
|
-
* Parse a SIWE message
|
|
279
|
-
*/
|
|
280
|
-
declare function parseSiweMessage(message: string): Promise<any>;
|
|
281
|
-
/**
|
|
282
|
-
* Verify a SIWE signature
|
|
283
|
-
*/
|
|
284
|
-
declare function verifySiweSignature(params: {
|
|
285
|
-
message: string;
|
|
286
|
-
signature: string;
|
|
287
|
-
nonce?: string;
|
|
288
|
-
domain?: string;
|
|
289
|
-
time?: string;
|
|
290
|
-
}): Promise<{
|
|
291
|
-
success: boolean;
|
|
292
|
-
data?: any;
|
|
293
|
-
error?: string;
|
|
294
|
-
}>;
|
|
295
|
-
/**
|
|
296
|
-
* Generate a random nonce for SIWE
|
|
297
|
-
*/
|
|
298
|
-
declare function generateNonce(length?: number): string;
|
|
299
|
-
/**
|
|
300
|
-
* Extract chain ID from account string
|
|
301
|
-
*/
|
|
302
|
-
declare function extractChainIdNumber(account: string): number;
|
|
303
|
-
/**
|
|
304
|
-
* Create SIWE configuration from session
|
|
305
|
-
*/
|
|
306
|
-
declare function createSiweConfigFromSession(params: {
|
|
307
|
-
domain: string;
|
|
308
|
-
uri: string;
|
|
309
|
-
chainId: number;
|
|
310
|
-
statement?: string;
|
|
311
|
-
resources?: string[];
|
|
312
|
-
}): SiweConfig;
|
|
313
|
-
/**
|
|
314
|
-
* SIWE authentication flow helper
|
|
315
|
-
*/
|
|
316
|
-
declare class SiweAuth {
|
|
317
|
-
private config;
|
|
318
|
-
constructor(config: Omit<SiweConfig, "nonce" | "issuedAt">);
|
|
319
|
-
/**
|
|
320
|
-
* Create the message to sign
|
|
321
|
-
*/
|
|
322
|
-
createMessage(address: string): Promise<string>;
|
|
323
|
-
/**
|
|
324
|
-
* Verify the signature
|
|
325
|
-
*/
|
|
326
|
-
verify(message: string, signature: string): Promise<{
|
|
327
|
-
success: boolean;
|
|
328
|
-
data?: any;
|
|
329
|
-
error?: string;
|
|
330
|
-
}>;
|
|
331
|
-
/**
|
|
332
|
-
* Get the nonce
|
|
333
|
-
*/
|
|
334
|
-
getNonce(): string;
|
|
335
|
-
/**
|
|
336
|
-
* Refresh nonce (for new sign-in attempts)
|
|
337
|
-
*/
|
|
338
|
-
refreshNonce(): void;
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
/**
|
|
342
|
-
* utility functions
|
|
343
|
-
*/
|
|
344
|
-
/**
|
|
345
|
-
* validate WalletConnect URI format
|
|
346
|
-
* @param uri WalletConnect URI
|
|
347
|
-
* @returns whether valid
|
|
348
|
-
*/
|
|
349
|
-
declare function isValidWalletConnectUri(uri: string): boolean;
|
|
350
|
-
/**
|
|
351
|
-
* parse WalletConnect URI
|
|
352
|
-
* @param uri WalletConnect URI
|
|
353
|
-
* @returns parsed object
|
|
354
|
-
*/
|
|
355
|
-
declare function parseWalletConnectUri(uri: string): {
|
|
356
|
-
topic: string;
|
|
357
|
-
version: string;
|
|
358
|
-
symKey?: string;
|
|
359
|
-
relay?: {
|
|
360
|
-
protocol: string;
|
|
361
|
-
data?: string;
|
|
362
|
-
};
|
|
363
|
-
} | null;
|
|
364
|
-
/**
|
|
365
|
-
* format address (shorten display)
|
|
366
|
-
* @param address full address
|
|
367
|
-
* @param startLength start length
|
|
368
|
-
* @param endLength end length
|
|
369
|
-
* @returns formatted address
|
|
370
|
-
*/
|
|
371
|
-
declare function formatAddress(address: string, startLength?: number, endLength?: number): string;
|
|
372
|
-
/**
|
|
373
|
-
* extract address from account string
|
|
374
|
-
* @param account account string (format: chainId:address)
|
|
375
|
-
* @returns address
|
|
376
|
-
*/
|
|
377
|
-
declare function extractAddressFromAccount(account: string): string;
|
|
378
|
-
/**
|
|
379
|
-
* extract chain ID from account string
|
|
380
|
-
* @param account account string (format: namespace:chainId:address)
|
|
381
|
-
* @returns chain ID
|
|
382
|
-
*/
|
|
383
|
-
declare function extractChainIdFromAccount(account: string): string;
|
|
384
|
-
/**
|
|
385
|
-
* check if session is expired
|
|
386
|
-
* @param expiry expiry timestamp (seconds)
|
|
387
|
-
* @returns whether expired
|
|
388
|
-
*/
|
|
389
|
-
declare function isSessionExpired(expiry: number): boolean;
|
|
390
|
-
/**
|
|
391
|
-
* get session remaining time
|
|
392
|
-
* @param expiry expiry timestamp (seconds)
|
|
393
|
-
* @returns remaining seconds
|
|
394
|
-
*/
|
|
395
|
-
declare function getSessionTimeRemaining(expiry: number): number;
|
|
396
|
-
/**
|
|
397
|
-
* format timestamp to readable format
|
|
398
|
-
* @param timestamp timestamp (seconds)
|
|
399
|
-
* @returns formatted timestamp string
|
|
400
|
-
*/
|
|
401
|
-
declare function formatTimestamp(timestamp: number): string;
|
|
402
|
-
/**
|
|
403
|
-
* check if is mobile device
|
|
404
|
-
* @returns whether is mobile device
|
|
405
|
-
*/
|
|
406
|
-
declare function isMobile(): boolean;
|
|
407
|
-
/**
|
|
408
|
-
* generate deep link
|
|
409
|
-
* @param uri WalletConnect URI
|
|
410
|
-
* @param walletName wallet name (optional)
|
|
411
|
-
* @returns deep link
|
|
412
|
-
*/
|
|
413
|
-
declare function generateDeepLink(uri: string, walletName?: string): string;
|
|
414
|
-
/**
|
|
415
|
-
* copy text to clipboard
|
|
416
|
-
* @param text text to copy
|
|
417
|
-
* @returns whether successful
|
|
418
|
-
*/
|
|
419
|
-
declare function copyToClipboard(text: string): Promise<boolean>;
|
|
420
|
-
/**
|
|
421
|
-
* format error message
|
|
422
|
-
* @param error error object
|
|
423
|
-
* @returns formatted error message
|
|
424
|
-
*/
|
|
425
|
-
declare function formatError(error: any): string;
|
|
426
|
-
/**
|
|
427
|
-
* validate chain ID format
|
|
428
|
-
* @param chainId chain ID
|
|
429
|
-
* @returns whether valid
|
|
430
|
-
*/
|
|
431
|
-
declare function isValidChainId(chainId: string): boolean;
|
|
432
|
-
/**
|
|
433
|
-
* parse chain ID
|
|
434
|
-
* @param chainId chain ID (format: namespace:reference)
|
|
435
|
-
* @returns parsed result
|
|
436
|
-
*/
|
|
437
|
-
declare function parseChainId(chainId: string): {
|
|
438
|
-
namespace: string;
|
|
439
|
-
reference: string;
|
|
440
|
-
} | null;
|
|
441
|
-
|
|
442
|
-
/**
|
|
443
|
-
* multi-chain support configuration
|
|
444
|
-
*/
|
|
445
|
-
|
|
446
|
-
/**
|
|
447
|
-
* Ethereum (EVM compatible chains) namespace configuration
|
|
448
|
-
*/
|
|
449
|
-
declare const EIP155_NAMESPACE: NamespaceConfig;
|
|
450
|
-
/**
|
|
451
|
-
* Solana namespace configuration
|
|
452
|
-
*/
|
|
453
|
-
declare const SOLANA_NAMESPACE: NamespaceConfig;
|
|
454
|
-
/**
|
|
455
|
-
* Aptos namespace configuration
|
|
456
|
-
*/
|
|
457
|
-
declare const APTOS_NAMESPACE: NamespaceConfig;
|
|
458
|
-
/**
|
|
459
|
-
* Cosmos namespace configuration
|
|
460
|
-
*/
|
|
461
|
-
declare const COSMOS_NAMESPACE: NamespaceConfig;
|
|
462
|
-
/**
|
|
463
|
-
* Polkadot namespace configuration
|
|
464
|
-
*/
|
|
465
|
-
declare const POLKADOT_NAMESPACE: NamespaceConfig;
|
|
466
|
-
/**
|
|
467
|
-
* Near namespace configuration
|
|
468
|
-
*/
|
|
469
|
-
declare const NEAR_NAMESPACE: NamespaceConfig;
|
|
470
|
-
/**
|
|
471
|
-
* commonly used EVM chains configuration
|
|
472
|
-
*/
|
|
473
|
-
declare const EVM_CHAINS: {
|
|
474
|
-
ETHEREUM_MAINNET: string;
|
|
475
|
-
ETHEREUM_GOERLI: string;
|
|
476
|
-
ETHEREUM_SEPOLIA: string;
|
|
477
|
-
POLYGON: string;
|
|
478
|
-
POLYGON_MUMBAI: string;
|
|
479
|
-
ARBITRUM: string;
|
|
480
|
-
ARBITRUM_GOERLI: string;
|
|
481
|
-
OPTIMISM: string;
|
|
482
|
-
OPTIMISM_GOERLI: string;
|
|
483
|
-
BSC: string;
|
|
484
|
-
BSC_TESTNET: string;
|
|
485
|
-
AVALANCHE: string;
|
|
486
|
-
AVALANCHE_FUJI: string;
|
|
487
|
-
FANTOM: string;
|
|
488
|
-
CRONOS: string;
|
|
489
|
-
GNOSIS: string;
|
|
490
|
-
BASE: string;
|
|
491
|
-
ZKSYNC: string;
|
|
492
|
-
LINEA: string;
|
|
493
|
-
SCROLL: string;
|
|
494
|
-
};
|
|
495
|
-
/**
|
|
496
|
-
* Solana chains configuration
|
|
497
|
-
*/
|
|
498
|
-
declare const SOLANA_CHAINS: {
|
|
499
|
-
MAINNET: string;
|
|
500
|
-
DEVNET: string;
|
|
501
|
-
TESTNET: string;
|
|
502
|
-
};
|
|
503
|
-
/**
|
|
504
|
-
* Aptos chains configuration
|
|
505
|
-
*/
|
|
506
|
-
declare const APTOS_CHAINS: {
|
|
507
|
-
MAINNET: string;
|
|
508
|
-
TESTNET: string;
|
|
509
|
-
DEVNET: string;
|
|
510
|
-
};
|
|
511
|
-
/**
|
|
512
|
-
* get chain name
|
|
513
|
-
*/
|
|
514
|
-
declare function getChainName(chainId: string): string;
|
|
515
|
-
/**
|
|
516
|
-
* create multi-chain namespaces configuration
|
|
517
|
-
*/
|
|
518
|
-
declare function createMultiChainNamespaces(chains: string[]): Record<string, NamespaceConfig>;
|
|
519
|
-
/**
|
|
520
|
-
* check chain type
|
|
521
|
-
*/
|
|
522
|
-
declare function getChainType(chainId: string): string;
|
|
523
|
-
|
|
524
|
-
/**
|
|
525
|
-
* WalletConnect Wallet List API
|
|
526
|
-
*
|
|
527
|
-
* Fetch all supported wallets using WalletConnect Cloud Explorer API
|
|
528
|
-
* API Documentation: https://explorer-api.walletconnect.com/docs
|
|
529
|
-
*/
|
|
530
|
-
interface WalletImage {
|
|
531
|
-
id: string;
|
|
532
|
-
image_id: string;
|
|
533
|
-
image_url: string;
|
|
534
|
-
}
|
|
535
|
-
interface WalletMetadata {
|
|
536
|
-
shortName: string;
|
|
537
|
-
colors: {
|
|
538
|
-
primary?: string;
|
|
539
|
-
secondary?: string;
|
|
540
|
-
};
|
|
541
|
-
}
|
|
542
|
-
interface WalletPlatform {
|
|
543
|
-
native?: string;
|
|
544
|
-
universal?: string;
|
|
545
|
-
}
|
|
546
|
-
interface WalletApp {
|
|
547
|
-
browser?: string;
|
|
548
|
-
ios?: string;
|
|
549
|
-
android?: string;
|
|
550
|
-
mac?: string;
|
|
551
|
-
windows?: string;
|
|
552
|
-
linux?: string;
|
|
553
|
-
chrome?: string;
|
|
554
|
-
firefox?: string;
|
|
555
|
-
safari?: string;
|
|
556
|
-
edge?: string;
|
|
557
|
-
opera?: string;
|
|
558
|
-
}
|
|
559
|
-
interface Wallet {
|
|
560
|
-
id: string;
|
|
561
|
-
name: string;
|
|
562
|
-
homepage: string;
|
|
563
|
-
image_id: string;
|
|
564
|
-
image_url?: WalletImage;
|
|
565
|
-
order?: number;
|
|
566
|
-
mobile_link?: string;
|
|
567
|
-
desktop_link?: string;
|
|
568
|
-
webapp_link?: string;
|
|
569
|
-
app_type?: string;
|
|
570
|
-
rdns?: string;
|
|
571
|
-
metadata?: WalletMetadata;
|
|
572
|
-
app?: WalletApp;
|
|
573
|
-
injected?: Array<{
|
|
574
|
-
namespace: string;
|
|
575
|
-
injected_id: string;
|
|
576
|
-
}>;
|
|
577
|
-
mobile?: WalletPlatform;
|
|
578
|
-
desktop?: WalletPlatform;
|
|
579
|
-
}
|
|
580
|
-
interface WalletListResponse {
|
|
581
|
-
count: number;
|
|
582
|
-
data: Wallet[];
|
|
583
|
-
}
|
|
584
|
-
interface WalletListOptions {
|
|
585
|
-
/** Project ID (obtain from WalletConnect Cloud) */
|
|
586
|
-
projectId?: string;
|
|
587
|
-
/** Number of entries per page (default 100) */
|
|
588
|
-
entries?: number;
|
|
589
|
-
/** Page number (default 1) */
|
|
590
|
-
page?: number;
|
|
591
|
-
/** Search keyword */
|
|
592
|
-
search?: string;
|
|
593
|
-
/** Filter by chain */
|
|
594
|
-
chains?: string;
|
|
595
|
-
/** Include image URLs */
|
|
596
|
-
include?: string;
|
|
597
|
-
/** Exclude specific wallets */
|
|
598
|
-
exclude?: string;
|
|
599
|
-
/** Recommended wallet IDs */
|
|
600
|
-
recommendedIds?: string;
|
|
601
|
-
}
|
|
602
|
-
/**
|
|
603
|
-
* Get all WalletConnect supported wallets
|
|
604
|
-
*
|
|
605
|
-
* @param options Query options
|
|
606
|
-
* @returns Wallet list
|
|
607
|
-
*
|
|
608
|
-
* @example
|
|
609
|
-
* ```typescript
|
|
610
|
-
* // Get all wallets
|
|
611
|
-
* const wallets = await getWalletConnectWallets({ projectId: 'your-project-id' });
|
|
612
|
-
*
|
|
613
|
-
* // Search wallets
|
|
614
|
-
* const results = await getWalletConnectWallets({
|
|
615
|
-
* projectId: 'your-project-id',
|
|
616
|
-
* search: 'metamask'
|
|
617
|
-
* });
|
|
618
|
-
*
|
|
619
|
-
* // Filter by chain
|
|
620
|
-
* const ethWallets = await getWalletConnectWallets({
|
|
621
|
-
* projectId: 'your-project-id',
|
|
622
|
-
* chains: 'eip155:1'
|
|
623
|
-
* });
|
|
624
|
-
* ```
|
|
625
|
-
*/
|
|
626
|
-
declare function getWalletConnectWallets(options?: WalletListOptions): Promise<WalletListResponse>;
|
|
627
|
-
/**
|
|
628
|
-
* Get all wallets (automatically handles pagination)
|
|
629
|
-
*
|
|
630
|
-
* @param options Query options
|
|
631
|
-
* @returns Complete list of all wallets
|
|
632
|
-
*/
|
|
633
|
-
declare function getAllWallets(options?: WalletListOptions): Promise<Wallet[]>;
|
|
634
|
-
/**
|
|
635
|
-
* Get specific wallet by ID
|
|
636
|
-
*
|
|
637
|
-
* @param walletId Wallet ID
|
|
638
|
-
* @param projectId Project ID
|
|
639
|
-
* @returns Wallet information
|
|
640
|
-
*/
|
|
641
|
-
declare function getWalletById(walletId: string, projectId?: string): Promise<Wallet | null>;
|
|
642
|
-
/**
|
|
643
|
-
* Search wallets
|
|
644
|
-
*
|
|
645
|
-
* @param query Search keyword
|
|
646
|
-
* @param options Additional options
|
|
647
|
-
* @returns Matching wallet list
|
|
648
|
-
*/
|
|
649
|
-
declare function searchWallets(query: string, options?: Omit<WalletListOptions, "search">): Promise<Wallet[]>;
|
|
650
|
-
/**
|
|
651
|
-
* Get wallets that support a specific chain
|
|
652
|
-
*
|
|
653
|
-
* @param chainId Chain ID (CAIP-2 format, e.g. 'eip155:1')
|
|
654
|
-
* @param options Additional options
|
|
655
|
-
* @returns Wallets that support the chain
|
|
656
|
-
*/
|
|
657
|
-
declare function getWalletsByChain(chainId: string, options?: Omit<WalletListOptions, "chains">): Promise<Wallet[]>;
|
|
658
|
-
/**
|
|
659
|
-
* Get recommended wallet list
|
|
660
|
-
*
|
|
661
|
-
* @param walletIds List of recommended wallet IDs
|
|
662
|
-
* @param options Additional options
|
|
663
|
-
* @returns Recommended wallet list
|
|
664
|
-
*/
|
|
665
|
-
declare function getRecommendedWallets(walletIds: string[], options?: Omit<WalletListOptions, "recommendedIds">): Promise<Wallet[]>;
|
|
666
|
-
/**
|
|
667
|
-
* Get mobile wallet list
|
|
668
|
-
*
|
|
669
|
-
* @param options Query options
|
|
670
|
-
* @returns Mobile wallet list
|
|
671
|
-
*/
|
|
672
|
-
declare function getMobileWallets(options?: WalletListOptions): Promise<Wallet[]>;
|
|
673
|
-
/**
|
|
674
|
-
* Get desktop wallet list
|
|
675
|
-
*
|
|
676
|
-
* @param options Query options
|
|
677
|
-
* @returns Desktop wallet list
|
|
678
|
-
*/
|
|
679
|
-
declare function getDesktopWallets(options?: WalletListOptions): Promise<Wallet[]>;
|
|
680
|
-
/**
|
|
681
|
-
* Get browser extension wallet list
|
|
682
|
-
*
|
|
683
|
-
* @param options Query options
|
|
684
|
-
* @returns Browser extension wallet list
|
|
685
|
-
*/
|
|
686
|
-
declare function getBrowserWallets(options?: WalletListOptions): Promise<Wallet[]>;
|
|
687
|
-
/**
|
|
688
|
-
* Popular wallet ID list
|
|
689
|
-
*/
|
|
690
|
-
declare const POPULAR_WALLET_IDS: {
|
|
691
|
-
readonly METAMASK: "c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96";
|
|
692
|
-
readonly TRUST: "4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0";
|
|
693
|
-
readonly RAINBOW: "1ae92b26df02f0abca6304df07debccd18262fdf5fe82daa81593582dac9a369";
|
|
694
|
-
readonly COINBASE: "fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa";
|
|
695
|
-
readonly SAFE: "225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f";
|
|
696
|
-
readonly ARGENT: "bc949c5d968ae81310268bf9193f9c9fb7bb4e1283e1284af8f2bd4992535fd6";
|
|
697
|
-
readonly ZERION: "ecc4036f814562b41a5268adc86270fba1365471402006302e70169465b7ac18";
|
|
698
|
-
readonly IMTOKEN: "ef333840daf915aafdc4a004525502d6d49d77bd9c65e0642dbaefb3c2893bef";
|
|
699
|
-
readonly OKX: "971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709";
|
|
700
|
-
readonly PHANTOM: "a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393";
|
|
701
|
-
readonly TOKENPOCKET: "20459438007b75f4f4acb98bf29aa3b800550309646d375da5fd4aac6c2a2c66";
|
|
702
|
-
readonly BITGET: "7674bb4e353bf52886768a3ddc2a4562ce2f4191c80831291218ebd90f5f5e26";
|
|
703
|
-
};
|
|
704
|
-
|
|
705
|
-
export { createMultiChainNamespaces as $, type AuthOptions as A, isSessionExpired as B, type ConnectParams as C, getSessionTimeRemaining as D, type EventHandler as E, formatTimestamp as F, isMobile as G, generateDeepLink as H, copyToClipboard as I, formatError as J, isValidChainId as K, parseChainId as L, EIP155_NAMESPACE as M, type NamespaceConfig as N, SOLANA_NAMESPACE as O, POPULAR_WALLET_IDS as P, type QRCodeOptions as Q, APTOS_NAMESPACE as R, type SessionInfo as S, COSMOS_NAMESPACE as T, POLKADOT_NAMESPACE as U, NEAR_NAMESPACE as V, WalletConnectClient as W, EVM_CHAINS as X, SOLANA_CHAINS as Y, APTOS_CHAINS as Z, getChainName as _, type WalletConnectConfig as a, getChainType as a0, type SiweResult as a1, createSiweMessage as a2, parseSiweMessage as a3, verifySiweSignature as a4, generateNonce as a5, extractChainIdNumber as a6, createSiweConfigFromSession as a7, SiweAuth as a8, type SiweConfig as b, getBrowserWallets as c, getDesktopWallets as d, getMobileWallets as e, getRecommendedWallets as f, getAllWallets as g, getWalletById as h, getWalletConnectWallets as i, getWalletsByChain as j, type Wallet as k, type WalletApp as l, type WalletImage as m, type WalletListOptions as n, type WalletListResponse as o, type WalletMetadata as p, type WalletPlatform as q, type WalletConnectEvent as r, searchWallets as s, AuthMethod as t, ChainType as u, isValidWalletConnectUri as v, parseWalletConnectUri as w, formatAddress as x, extractAddressFromAccount as y, extractChainIdFromAccount as z };
|