@reown/appkit-wagmi-react-native 0.0.0-fix-wallet-list-20250327180303 → 0.0.0-fix-cover-screen-20250328152136

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.
Files changed (31) hide show
  1. package/package.json +5 -5
  2. package/lib/commonjs/client.js +0 -516
  3. package/lib/commonjs/client.js.map +0 -1
  4. package/lib/commonjs/connectors/WalletConnectConnector.js +0 -353
  5. package/lib/commonjs/connectors/WalletConnectConnector.js.map +0 -1
  6. package/lib/commonjs/index.js +0 -139
  7. package/lib/commonjs/index.js.map +0 -1
  8. package/lib/commonjs/utils/defaultWagmiConfig.js +0 -46
  9. package/lib/commonjs/utils/defaultWagmiConfig.js.map +0 -1
  10. package/lib/commonjs/utils/helpers.js +0 -63
  11. package/lib/commonjs/utils/helpers.js.map +0 -1
  12. package/lib/module/client.js +0 -510
  13. package/lib/module/client.js.map +0 -1
  14. package/lib/module/connectors/WalletConnectConnector.js +0 -348
  15. package/lib/module/connectors/WalletConnectConnector.js.map +0 -1
  16. package/lib/module/index.js +0 -93
  17. package/lib/module/index.js.map +0 -1
  18. package/lib/module/utils/defaultWagmiConfig.js +0 -40
  19. package/lib/module/utils/defaultWagmiConfig.js.map +0 -1
  20. package/lib/module/utils/helpers.js +0 -53
  21. package/lib/module/utils/helpers.js.map +0 -1
  22. package/lib/typescript/client.d.ts +0 -40
  23. package/lib/typescript/client.d.ts.map +0 -1
  24. package/lib/typescript/connectors/WalletConnectConnector.d.ts +0 -74
  25. package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +0 -1
  26. package/lib/typescript/index.d.ts +0 -26
  27. package/lib/typescript/index.d.ts.map +0 -1
  28. package/lib/typescript/utils/defaultWagmiConfig.d.ts +0 -11
  29. package/lib/typescript/utils/defaultWagmiConfig.d.ts.map +0 -1
  30. package/lib/typescript/utils/helpers.d.ts +0 -18
  31. package/lib/typescript/utils/helpers.d.ts.map +0 -1
@@ -1,510 +0,0 @@
1
- import { formatUnits, parseUnits } from 'viem';
2
- import { connect, reconnect, disconnect, signMessage, getAccount, switchChain, watchAccount, watchConnectors, getEnsName, getEnsAvatar as wagmiGetEnsAvatar, getEnsAddress as wagmiGetEnsAddress, getBalance, prepareTransactionRequest, estimateGas as wagmiEstimateGas, sendTransaction as wagmiSendTransaction, waitForTransactionReceipt, writeContract as wagmiWriteContract } from '@wagmi/core';
3
- import { normalize } from 'viem/ens';
4
- import { mainnet } from '@wagmi/core/chains';
5
- import { OPTIONAL_METHODS } from '@walletconnect/ethereum-provider';
6
- import { AppKitScaffold } from '@reown/appkit-scaffold-react-native';
7
- import { HelpersUtil, StorageUtil } from '@reown/appkit-scaffold-utils-react-native';
8
- import { NetworkUtil, NamesUtil, ErrorUtil, ConstantsUtil, PresetsUtil } from '@reown/appkit-common-react-native';
9
- import { SIWEController, getDidChainId, getDidAddress } from '@reown/appkit-siwe-react-native';
10
- import { getCaipDefaultChain, getAuthCaipNetworks, getWalletConnectCaipNetworks, requireCaipAddress } from './utils/helpers';
11
-
12
- // -- Types ---------------------------------------------------------------------
13
-
14
- // @ts-expect-error: Overriden state type is correct
15
-
16
- // -- Client --------------------------------------------------------------------
17
- export class AppKit extends AppKitScaffold {
18
- hasSyncedConnectedAccount = false;
19
- options = undefined;
20
- constructor(options) {
21
- const {
22
- wagmiConfig,
23
- siweConfig,
24
- defaultChain,
25
- tokens,
26
- _sdkVersion,
27
- ...appKitOptions
28
- } = options;
29
- if (!wagmiConfig) {
30
- throw new Error('appkit:constructor - wagmiConfig is undefined');
31
- }
32
- if (!appKitOptions.projectId) {
33
- throw new Error(ErrorUtil.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED.shortMessage);
34
- }
35
- const networkControllerClient = {
36
- switchCaipNetwork: async caipNetwork => {
37
- const chainId = NetworkUtil.caipNetworkIdToNumber(caipNetwork?.id);
38
- if (chainId) {
39
- await switchChain(wagmiConfig, {
40
- chainId
41
- });
42
- }
43
- },
44
- async getApprovedCaipNetworksData() {
45
- const walletChoice = await StorageUtil.getConnectedConnector();
46
- const walletConnectType = PresetsUtil.ConnectorTypesMap[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID];
47
- const authType = PresetsUtil.ConnectorTypesMap[ConstantsUtil.AUTH_CONNECTOR_ID];
48
- if (walletChoice?.includes(walletConnectType)) {
49
- const connector = wagmiConfig.connectors.find(c => c.id === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID);
50
- return getWalletConnectCaipNetworks(connector);
51
- } else if (authType) {
52
- return getAuthCaipNetworks();
53
- }
54
- return {
55
- approvedCaipNetworkIds: undefined,
56
- supportsAllNetworks: true
57
- };
58
- }
59
- };
60
- const connectionControllerClient = {
61
- connectWalletConnect: async (onUri, walletUniversalLink) => {
62
- const connector = wagmiConfig.connectors.find(c => c.id === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID);
63
- if (!connector) {
64
- throw new Error('connectionControllerClient:getWalletConnectUri - connector is undefined');
65
- }
66
- const provider = await connector.getProvider();
67
- provider.on('display_uri', data => {
68
- onUri(data);
69
- });
70
-
71
- // When connecting through walletconnect, we need to set the clientId in the store
72
- const clientId = await provider.signer?.client?.core?.crypto?.getClientId();
73
- if (clientId) {
74
- this.setClientId(clientId);
75
- }
76
- const chainId = NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id);
77
-
78
- // SIWE
79
- const siweParams = await siweConfig?.getMessageParams?.();
80
- // Make sure client uses ethereum provider version that supports `authenticate`
81
- if (siweConfig?.options?.enabled && typeof provider?.authenticate === 'function' && siweParams && Object.keys(siweParams || {}).length > 0) {
82
- // @ts-expect-error - setting requested chains beforehand avoids wagmi auto disconnecting the session when `connect` is called because it things chains are stale
83
- await connector.setRequestedChainsIds(siweParams.chains);
84
- const result = await provider.authenticate({
85
- nonce: await siweConfig.getNonce(),
86
- methods: [...OPTIONAL_METHODS],
87
- ...siweParams
88
- }, walletUniversalLink);
89
-
90
- // Auths is an array of signed CACAO objects https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-74.md
91
- const signedCacao = result?.auths?.[0];
92
- if (signedCacao) {
93
- const {
94
- p,
95
- s
96
- } = signedCacao;
97
- const cacaoChainId = getDidChainId(p.iss) || '';
98
- const address = getDidAddress(p.iss);
99
- try {
100
- // Kicks off verifyMessage and populates external states
101
- const message = provider.signer.client.formatAuthMessage({
102
- request: p,
103
- iss: p.iss
104
- });
105
- await SIWEController.verifyMessage({
106
- message,
107
- signature: s.s,
108
- cacao: signedCacao
109
- });
110
- if (address && chainId) {
111
- const session = {
112
- address,
113
- chainId: parseInt(cacaoChainId, 10)
114
- };
115
- SIWEController.setSession(session);
116
- SIWEController.onSignIn?.(session);
117
- }
118
- } catch (error) {
119
- // eslint-disable-next-line no-console
120
- console.error('Error verifying message', error);
121
- // eslint-disable-next-line no-console
122
- await provider.disconnect().catch(console.error);
123
- // eslint-disable-next-line no-console
124
- await SIWEController.signOut().catch(console.error);
125
- throw error;
126
- }
127
- /*
128
- * Unassign the connector from the wagmiConfig and allow connect() to reassign it in the next step
129
- * this avoids case where wagmi throws because the connector is already connected
130
- * what we need connect() to do is to only setup internal event listeners
131
- */
132
- this.wagmiConfig.state.current = '';
133
- }
134
- }
135
- await connect(this.wagmiConfig, {
136
- connector,
137
- chainId
138
- });
139
- },
140
- connectExternal: async ({
141
- id
142
- }) => {
143
- const connector = wagmiConfig.connectors.find(c => c.id === id);
144
- if (!connector) {
145
- throw new Error('connectionControllerClient:connectExternal - connector is undefined');
146
- }
147
-
148
- // If connecting with something else than walletconnect, we need to clear the clientId in the store
149
- this.setClientId(null);
150
- const chainId = NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id);
151
- await connect(this.wagmiConfig, {
152
- connector,
153
- chainId
154
- });
155
- },
156
- signMessage: async message => signMessage(this.wagmiConfig, {
157
- message
158
- }),
159
- disconnect: async () => {
160
- await disconnect(this.wagmiConfig);
161
- this.setClientId(null);
162
- if (siweConfig?.options?.signOutOnDisconnect) {
163
- await SIWEController.signOut();
164
- }
165
- },
166
- sendTransaction: async data => {
167
- const {
168
- chainId
169
- } = getAccount(this.wagmiConfig);
170
- const txParams = {
171
- account: data.address,
172
- to: data.to,
173
- value: data.value,
174
- gas: data.gas,
175
- gasPrice: data.gasPrice,
176
- data: data.data,
177
- chainId,
178
- type: 'legacy'
179
- };
180
- await prepareTransactionRequest(this.wagmiConfig, txParams);
181
- const tx = await wagmiSendTransaction(this.wagmiConfig, txParams);
182
- await waitForTransactionReceipt(this.wagmiConfig, {
183
- hash: tx,
184
- timeout: 25000
185
- });
186
- return tx;
187
- },
188
- writeContract: async data => {
189
- const caipAddress = this.getCaipAddress() || '';
190
- const account = requireCaipAddress(caipAddress);
191
- const chainId = NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id);
192
- const tx = await wagmiWriteContract(wagmiConfig, {
193
- chainId,
194
- address: data.tokenAddress,
195
- account,
196
- abi: data.abi,
197
- functionName: data.method,
198
- args: [data.receiverAddress, data.tokenAmount]
199
- });
200
- return tx;
201
- },
202
- estimateGas: async ({
203
- address,
204
- to,
205
- data,
206
- chainNamespace
207
- }) => {
208
- if (chainNamespace && chainNamespace !== 'eip155') {
209
- throw new Error('estimateGas - chainNamespace is not eip155');
210
- }
211
- try {
212
- const result = await wagmiEstimateGas(this.wagmiConfig, {
213
- account: address,
214
- to: to,
215
- data: data,
216
- type: 'legacy'
217
- });
218
- return result;
219
- } catch (error) {
220
- throw new Error('WagmiAdapter:estimateGas - error estimating gas');
221
- }
222
- },
223
- parseUnits,
224
- formatUnits,
225
- getEnsAddress: async value => {
226
- try {
227
- if (!this.wagmiConfig) {
228
- throw new Error('networkControllerClient:getApprovedCaipNetworksData - wagmiConfig is undefined');
229
- }
230
- const chainId = Number(NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id));
231
- let ensName = false;
232
- let wcName = false;
233
- if (NamesUtil.isReownName(value)) {
234
- wcName = (await this.resolveReownName(value)) || false;
235
- }
236
- if (chainId === 1) {
237
- ensName = await wagmiGetEnsAddress(this.wagmiConfig, {
238
- name: normalize(value),
239
- chainId
240
- });
241
- }
242
- return ensName || wcName || false;
243
- } catch {
244
- return false;
245
- }
246
- },
247
- getEnsAvatar: async value => {
248
- const chainId = Number(NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id));
249
- if (chainId !== mainnet.id) {
250
- return false;
251
- }
252
- const avatar = await wagmiGetEnsAvatar(this.wagmiConfig, {
253
- name: normalize(value),
254
- chainId
255
- });
256
- return avatar || false;
257
- }
258
- };
259
- super({
260
- networkControllerClient,
261
- connectionControllerClient,
262
- siweControllerClient: siweConfig,
263
- defaultChain: getCaipDefaultChain(defaultChain),
264
- tokens: HelpersUtil.getCaipTokens(tokens),
265
- _sdkVersion: _sdkVersion ?? `react-native-wagmi-${ConstantsUtil.VERSION}`,
266
- ...appKitOptions
267
- });
268
- this.options = options;
269
- this.wagmiConfig = wagmiConfig;
270
- this.syncRequestedNetworks([...wagmiConfig.chains]);
271
- this.syncConnectors([...wagmiConfig.connectors]);
272
- watchConnectors(wagmiConfig, {
273
- onChange: connectors => this.syncConnectors([...connectors])
274
- });
275
- watchAccount(wagmiConfig, {
276
- onChange: (accountData, prevAccountData) => {
277
- this.syncAccount({
278
- ...accountData
279
- });
280
- if (accountData.status === 'disconnected' && prevAccountData.status === 'connected') {
281
- this.close();
282
- }
283
- }
284
- });
285
- }
286
-
287
- // -- Public ------------------------------------------------------------------
288
-
289
- // @ts-expect-error: Overriden state type is correct
290
- getState() {
291
- const state = super.getState();
292
- return {
293
- ...state,
294
- selectedNetworkId: NetworkUtil.caipNetworkIdToNumber(state.selectedNetworkId)
295
- };
296
- }
297
-
298
- // @ts-expect-error: Overriden state type is correct
299
- subscribeState(callback) {
300
- return super.subscribeState(state => callback({
301
- ...state,
302
- selectedNetworkId: NetworkUtil.caipNetworkIdToNumber(state.selectedNetworkId)
303
- }));
304
- }
305
-
306
- // -- Private -----------------------------------------------------------------
307
- syncRequestedNetworks(chains) {
308
- const requestedCaipNetworks = chains?.map(chain => ({
309
- id: `${ConstantsUtil.EIP155}:${chain.id}`,
310
- name: chain.name,
311
- imageId: PresetsUtil.EIP155NetworkImageIds[chain.id],
312
- imageUrl: this.options?.chainImages?.[chain.id]
313
- }));
314
- this.setRequestedCaipNetworks(requestedCaipNetworks ?? []);
315
- }
316
- async syncAccount({
317
- address,
318
- isConnected,
319
- chainId,
320
- connector,
321
- isConnecting,
322
- isReconnecting
323
- }) {
324
- this.syncNetwork(address, chainId, isConnected);
325
- this.setLoading(!!connector && (isConnecting || isReconnecting));
326
- if (isConnected && address && chainId) {
327
- const caipAddress = `${ConstantsUtil.EIP155}:${chainId}:${address}`;
328
- this.setIsConnected(isConnected);
329
- this.setCaipAddress(caipAddress);
330
- await Promise.all([this.syncProfile(address, chainId), this.syncBalance(address, chainId), this.syncConnectedWalletInfo(connector), this.getApprovedCaipNetworksData()]);
331
- this.hasSyncedConnectedAccount = true;
332
- } else if (!isConnected && !isConnecting && !isReconnecting && this.hasSyncedConnectedAccount) {
333
- this.resetAccount();
334
- this.resetWcConnection();
335
- this.resetNetwork();
336
- }
337
- }
338
- async syncNetwork(address, chainId, isConnected) {
339
- const chain = this.wagmiConfig.chains.find(c => c.id === chainId);
340
- if (chain || chainId) {
341
- const name = chain?.name ?? chainId?.toString();
342
- const id = Number(chain?.id ?? chainId);
343
- const caipChainId = `${ConstantsUtil.EIP155}:${id}`;
344
- this.setCaipNetwork({
345
- id: caipChainId,
346
- name,
347
- imageId: PresetsUtil.EIP155NetworkImageIds[id],
348
- imageUrl: this.options?.chainImages?.[id]
349
- });
350
- if (isConnected && address && chainId) {
351
- const caipAddress = `${ConstantsUtil.EIP155}:${id}:${address}`;
352
- this.setCaipAddress(caipAddress);
353
- if (chain?.blockExplorers?.default?.url) {
354
- const url = `${chain.blockExplorers.default.url}/address/${address}`;
355
- this.setAddressExplorerUrl(url);
356
- } else {
357
- this.setAddressExplorerUrl(undefined);
358
- }
359
- if (this.hasSyncedConnectedAccount) {
360
- await this.syncProfile(address, chainId);
361
- await this.syncBalance(address, chainId);
362
- }
363
- }
364
- }
365
- }
366
- async syncProfile(address, chainId) {
367
- try {
368
- const response = await this.fetchIdentity({
369
- address
370
- });
371
- if (!response) {
372
- throw new Error('Couldnt fetch idendity');
373
- }
374
- this.setProfileName(response.name);
375
- this.setProfileImage(response.avatar);
376
- } catch {
377
- if (chainId === mainnet.id) {
378
- const profileName = await getEnsName(this.wagmiConfig, {
379
- address,
380
- chainId
381
- });
382
- if (profileName) {
383
- this.setProfileName(profileName);
384
- const profileImage = await wagmiGetEnsAvatar(this.wagmiConfig, {
385
- name: profileName,
386
- chainId
387
- });
388
- if (profileImage) {
389
- this.setProfileImage(profileImage);
390
- }
391
- }
392
- } else {
393
- this.setProfileName(undefined);
394
- this.setProfileImage(undefined);
395
- }
396
- }
397
- }
398
- async syncBalance(address, chainId) {
399
- const chain = this.wagmiConfig.chains.find(c => c.id === chainId);
400
- try {
401
- if (chain) {
402
- const balance = await getBalance(this.wagmiConfig, {
403
- address,
404
- chainId: chain.id,
405
- token: this.options?.tokens?.[chainId]?.address
406
- });
407
- const formattedBalance = formatUnits(balance.value, balance.decimals);
408
- this.setBalance(formattedBalance, balance.symbol);
409
- return;
410
- }
411
- this.setBalance(undefined, undefined);
412
- } catch {
413
- this.setBalance(undefined, undefined);
414
- }
415
- }
416
- async syncConnectedWalletInfo(connector) {
417
- if (!connector) {
418
- throw Error('syncConnectedWalletInfo - connector is undefined');
419
- }
420
- if (connector.id === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID && connector.getProvider) {
421
- const walletConnectProvider = await connector.getProvider();
422
- if (walletConnectProvider.session) {
423
- this.setConnectedWalletInfo({
424
- ...walletConnectProvider.session.peer.metadata,
425
- name: walletConnectProvider.session.peer.metadata.name,
426
- icon: walletConnectProvider.session.peer.metadata.icons?.[0]
427
- });
428
- }
429
- } else {
430
- this.setConnectedWalletInfo({
431
- id: connector.id,
432
- name: connector.name,
433
- icon: this.options?.connectorImages?.[connector.id] ?? connector.icon
434
- });
435
- }
436
- }
437
- syncConnectors(connectors) {
438
- const uniqueIds = new Set();
439
- const filteredConnectors = connectors.filter(item => !uniqueIds.has(item.id) && uniqueIds.add(item.id));
440
- const excludedConnectors = [ConstantsUtil.AUTH_CONNECTOR_ID];
441
- const _connectors = [];
442
- filteredConnectors.forEach(({
443
- id,
444
- name,
445
- icon
446
- }) => {
447
- if (!excludedConnectors.includes(id)) {
448
- _connectors.push({
449
- id,
450
- explorerId: PresetsUtil.ConnectorExplorerIds[id],
451
- imageId: PresetsUtil.ConnectorImageIds[id] ?? icon,
452
- imageUrl: this.options?.connectorImages?.[id],
453
- name: PresetsUtil.ConnectorNamesMap[id] ?? name,
454
- type: PresetsUtil.ConnectorTypesMap[id] ?? 'EXTERNAL'
455
- });
456
- }
457
- });
458
- this.setConnectors(_connectors);
459
- this.syncWalletConnectListeners(filteredConnectors);
460
- this.syncAuthConnector(filteredConnectors);
461
- }
462
- async syncWalletConnectListeners(connectors) {
463
- const connector = connectors.find(({
464
- id
465
- }) => id === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID);
466
- if (connector) {
467
- const provider = await connector.getProvider();
468
- provider.signer.client.core.relayer.on('relayer_connect', () => {
469
- provider.signer.client.core.relayer?.provider?.on('payload', payload => {
470
- if (payload?.error) {
471
- this.handleAlertError(payload?.error.message);
472
- }
473
- });
474
- });
475
- }
476
- }
477
- async syncAuthConnector(connectors) {
478
- const authConnector = connectors.find(({
479
- id
480
- }) => id === ConstantsUtil.AUTH_CONNECTOR_ID);
481
- if (authConnector) {
482
- const provider = await authConnector.getProvider();
483
- this.addConnector({
484
- id: ConstantsUtil.AUTH_CONNECTOR_ID,
485
- type: PresetsUtil.ConnectorTypesMap[ConstantsUtil.AUTH_CONNECTOR_ID],
486
- name: PresetsUtil.ConnectorNamesMap[ConstantsUtil.AUTH_CONNECTOR_ID],
487
- provider
488
- });
489
- this.addAuthListeners(authConnector);
490
- }
491
- }
492
- async addAuthListeners(connector) {
493
- const connectedConnector = await StorageUtil.getItem('@w3m/connected_connector');
494
- if (connectedConnector === 'AUTH') {
495
- // Set loader until it reconnects
496
- super.setLoading(true);
497
- }
498
- const provider = await connector.getProvider();
499
- provider.onSetPreferredAccount(async () => {
500
- await reconnect(this.wagmiConfig, {
501
- connectors: [connector]
502
- });
503
- });
504
- provider.setOnTimeout(async () => {
505
- this.handleAlertError(ErrorUtil.ALERT_ERRORS.SOCIALS_TIMEOUT);
506
- this.setLoading(false);
507
- });
508
- }
509
- }
510
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["formatUnits","parseUnits","connect","reconnect","disconnect","signMessage","getAccount","switchChain","watchAccount","watchConnectors","getEnsName","getEnsAvatar","wagmiGetEnsAvatar","getEnsAddress","wagmiGetEnsAddress","getBalance","prepareTransactionRequest","estimateGas","wagmiEstimateGas","sendTransaction","wagmiSendTransaction","waitForTransactionReceipt","writeContract","wagmiWriteContract","normalize","mainnet","OPTIONAL_METHODS","AppKitScaffold","HelpersUtil","StorageUtil","NetworkUtil","NamesUtil","ErrorUtil","ConstantsUtil","PresetsUtil","SIWEController","getDidChainId","getDidAddress","getCaipDefaultChain","getAuthCaipNetworks","getWalletConnectCaipNetworks","requireCaipAddress","AppKit","hasSyncedConnectedAccount","options","undefined","constructor","wagmiConfig","siweConfig","defaultChain","tokens","_sdkVersion","appKitOptions","Error","projectId","ALERT_ERRORS","PROJECT_ID_NOT_CONFIGURED","shortMessage","networkControllerClient","switchCaipNetwork","caipNetwork","chainId","caipNetworkIdToNumber","id","getApprovedCaipNetworksData","walletChoice","getConnectedConnector","walletConnectType","ConnectorTypesMap","WALLET_CONNECT_CONNECTOR_ID","authType","AUTH_CONNECTOR_ID","includes","connector","connectors","find","c","approvedCaipNetworkIds","supportsAllNetworks","connectionControllerClient","connectWalletConnect","onUri","walletUniversalLink","provider","getProvider","on","data","clientId","signer","client","core","crypto","getClientId","setClientId","getCaipNetwork","siweParams","getMessageParams","enabled","authenticate","Object","keys","length","setRequestedChainsIds","chains","result","nonce","getNonce","methods","signedCacao","auths","p","s","cacaoChainId","iss","address","message","formatAuthMessage","request","verifyMessage","signature","cacao","session","parseInt","setSession","onSignIn","error","console","catch","signOut","state","current","connectExternal","signOutOnDisconnect","txParams","account","to","value","gas","gasPrice","type","tx","hash","timeout","caipAddress","getCaipAddress","tokenAddress","abi","functionName","method","args","receiverAddress","tokenAmount","chainNamespace","Number","ensName","wcName","isReownName","resolveReownName","name","avatar","siweControllerClient","getCaipTokens","VERSION","syncRequestedNetworks","syncConnectors","onChange","accountData","prevAccountData","syncAccount","status","close","getState","selectedNetworkId","subscribeState","callback","requestedCaipNetworks","map","chain","EIP155","imageId","EIP155NetworkImageIds","imageUrl","chainImages","setRequestedCaipNetworks","isConnected","isConnecting","isReconnecting","syncNetwork","setLoading","setIsConnected","setCaipAddress","Promise","all","syncProfile","syncBalance","syncConnectedWalletInfo","resetAccount","resetWcConnection","resetNetwork","toString","caipChainId","setCaipNetwork","blockExplorers","default","url","setAddressExplorerUrl","response","fetchIdentity","setProfileName","setProfileImage","profileName","profileImage","balance","token","formattedBalance","decimals","setBalance","symbol","walletConnectProvider","setConnectedWalletInfo","peer","metadata","icon","icons","connectorImages","uniqueIds","Set","filteredConnectors","filter","item","has","add","excludedConnectors","_connectors","forEach","push","explorerId","ConnectorExplorerIds","ConnectorImageIds","ConnectorNamesMap","setConnectors","syncWalletConnectListeners","syncAuthConnector","relayer","payload","handleAlertError","authConnector","addConnector","addAuthListeners","connectedConnector","getItem","onSetPreferredAccount","setOnTimeout","SOCIALS_TIMEOUT"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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"}