@tomo-inc/wallet-connect-protocol 0.0.4 → 0.0.6

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.
@@ -0,0 +1,705 @@
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 };