@reown/appkit-wagmi-react-native 0.0.0-fix-approved-networks-20250822000414 → 0.0.0-fix-improvements-20250827190629

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 (51) hide show
  1. package/lib/commonjs/adapter.js +160 -0
  2. package/lib/commonjs/adapter.js.map +1 -0
  3. package/lib/commonjs/connectors/UniversalConnector.js +204 -0
  4. package/lib/commonjs/connectors/UniversalConnector.js.map +1 -0
  5. package/lib/commonjs/index.js +8 -121
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/package.json +1 -0
  8. package/lib/commonjs/utils/helpers.js +16 -45
  9. package/lib/commonjs/utils/helpers.js.map +1 -1
  10. package/lib/module/adapter.js +155 -0
  11. package/lib/module/adapter.js.map +1 -0
  12. package/lib/module/connectors/UniversalConnector.js +200 -0
  13. package/lib/module/connectors/UniversalConnector.js.map +1 -0
  14. package/lib/module/index.js +4 -91
  15. package/lib/module/index.js.map +1 -1
  16. package/lib/module/utils/helpers.js +16 -41
  17. package/lib/module/utils/helpers.js.map +1 -1
  18. package/lib/typescript/adapter.d.ts +25 -0
  19. package/lib/typescript/adapter.d.ts.map +1 -0
  20. package/lib/typescript/connectors/UniversalConnector.d.ts +5 -0
  21. package/lib/typescript/connectors/UniversalConnector.d.ts.map +1 -0
  22. package/lib/typescript/index.d.ts +3 -24
  23. package/lib/typescript/index.d.ts.map +1 -1
  24. package/lib/typescript/utils/helpers.d.ts +3 -13
  25. package/lib/typescript/utils/helpers.d.ts.map +1 -1
  26. package/package.json +8 -24
  27. package/src/adapter.ts +197 -0
  28. package/src/connectors/UniversalConnector.ts +214 -0
  29. package/src/index.tsx +3 -121
  30. package/src/utils/helpers.ts +17 -57
  31. package/lib/commonjs/client.js +0 -516
  32. package/lib/commonjs/client.js.map +0 -1
  33. package/lib/commonjs/connectors/WalletConnectConnector.js +0 -355
  34. package/lib/commonjs/connectors/WalletConnectConnector.js.map +0 -1
  35. package/lib/commonjs/utils/defaultWagmiConfig.js +0 -46
  36. package/lib/commonjs/utils/defaultWagmiConfig.js.map +0 -1
  37. package/lib/module/client.js +0 -510
  38. package/lib/module/client.js.map +0 -1
  39. package/lib/module/connectors/WalletConnectConnector.js +0 -350
  40. package/lib/module/connectors/WalletConnectConnector.js.map +0 -1
  41. package/lib/module/utils/defaultWagmiConfig.js +0 -40
  42. package/lib/module/utils/defaultWagmiConfig.js.map +0 -1
  43. package/lib/typescript/client.d.ts +0 -40
  44. package/lib/typescript/client.d.ts.map +0 -1
  45. package/lib/typescript/connectors/WalletConnectConnector.d.ts +0 -74
  46. package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +0 -1
  47. package/lib/typescript/utils/defaultWagmiConfig.d.ts +0 -11
  48. package/lib/typescript/utils/defaultWagmiConfig.d.ts.map +0 -1
  49. package/src/client.ts +0 -644
  50. package/src/connectors/WalletConnectConnector.ts +0 -472
  51. package/src/utils/defaultWagmiConfig.ts +0 -53
@@ -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(connectorType) {
45
- const walletConnectType = PresetsUtil.ConnectorTypesMap[ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID];
46
- const authType = PresetsUtil.ConnectorTypesMap[ConstantsUtil.AUTH_CONNECTOR_ID];
47
- if (connectorType?.includes(walletConnectType)) {
48
- const connector = wagmiConfig.connectors.find(c => c.id === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID);
49
- return getWalletConnectCaipNetworks(connector);
50
- } else if (connectorType?.includes(authType)) {
51
- return getAuthCaipNetworks();
52
- }
53
- return {
54
- approvedCaipNetworkIds: undefined,
55
- supportsAllNetworks: true
56
- };
57
- }
58
- };
59
- const connectionControllerClient = {
60
- connectWalletConnect: async (onUri, walletUniversalLink) => {
61
- const connector = wagmiConfig.connectors.find(c => c.id === ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID);
62
- if (!connector) {
63
- throw new Error('connectionControllerClient:getWalletConnectUri - connector is undefined');
64
- }
65
- const provider = await connector.getProvider();
66
- provider.on('display_uri', data => {
67
- onUri(data);
68
- });
69
-
70
- // When connecting through walletconnect, we need to set the clientId in the store
71
- const clientId = await provider.signer?.client?.core?.crypto?.getClientId();
72
- if (clientId) {
73
- this.setClientId(clientId);
74
- }
75
- const chainId = NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id);
76
-
77
- // SIWE
78
- const siweParams = await siweConfig?.getMessageParams?.();
79
- // Make sure client uses ethereum provider version that supports `authenticate`
80
- if (siweConfig?.options?.enabled && typeof provider?.authenticate === 'function' && siweParams && Object.keys(siweParams || {}).length > 0) {
81
- // @ts-expect-error - setting requested chains beforehand avoids wagmi auto disconnecting the session when `connect` is called because it things chains are stale
82
- await connector.setRequestedChainsIds(siweParams.chains);
83
- const result = await provider.authenticate({
84
- nonce: await siweConfig.getNonce(),
85
- methods: [...OPTIONAL_METHODS],
86
- ...siweParams
87
- }, walletUniversalLink);
88
-
89
- // Auths is an array of signed CACAO objects https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-74.md
90
- const signedCacao = result?.auths?.[0];
91
- if (signedCacao) {
92
- const {
93
- p,
94
- s
95
- } = signedCacao;
96
- const cacaoChainId = getDidChainId(p.iss) || '';
97
- const address = getDidAddress(p.iss);
98
- try {
99
- // Kicks off verifyMessage and populates external states
100
- const message = provider.signer.client.formatAuthMessage({
101
- request: p,
102
- iss: p.iss
103
- });
104
- await SIWEController.verifyMessage({
105
- message,
106
- signature: s.s,
107
- cacao: signedCacao
108
- });
109
- if (address && chainId) {
110
- const session = {
111
- address,
112
- chainId: parseInt(cacaoChainId, 10)
113
- };
114
- SIWEController.setSession(session);
115
- SIWEController.onSignIn?.(session);
116
- }
117
- } catch (error) {
118
- // eslint-disable-next-line no-console
119
- console.error('Error verifying message', error);
120
- // eslint-disable-next-line no-console
121
- await provider.disconnect().catch(console.error);
122
- // eslint-disable-next-line no-console
123
- await SIWEController.signOut().catch(console.error);
124
- throw error;
125
- }
126
- /*
127
- * Unassign the connector from the wagmiConfig and allow connect() to reassign it in the next step
128
- * this avoids case where wagmi throws because the connector is already connected
129
- * what we need connect() to do is to only setup internal event listeners
130
- */
131
- this.wagmiConfig.state.current = '';
132
- }
133
- }
134
- await connect(this.wagmiConfig, {
135
- connector,
136
- chainId
137
- });
138
- },
139
- connectExternal: async ({
140
- id
141
- }) => {
142
- const connector = wagmiConfig.connectors.find(c => c.id === id);
143
- if (!connector) {
144
- throw new Error('connectionControllerClient:connectExternal - connector is undefined');
145
- }
146
-
147
- // If connecting with something else than walletconnect, we need to clear the clientId in the store
148
- this.setClientId(null);
149
- const chainId = NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id);
150
- await connect(this.wagmiConfig, {
151
- connector,
152
- chainId
153
- });
154
- },
155
- signMessage: async message => signMessage(this.wagmiConfig, {
156
- message
157
- }),
158
- disconnect: async () => {
159
- await disconnect(this.wagmiConfig);
160
- this.setClientId(null);
161
- if (siweConfig?.options?.signOutOnDisconnect) {
162
- await SIWEController.signOut();
163
- }
164
- },
165
- sendTransaction: async data => {
166
- const {
167
- chainId
168
- } = getAccount(this.wagmiConfig);
169
- const txParams = {
170
- account: data.address,
171
- to: data.to,
172
- value: data.value,
173
- gas: data.gas,
174
- gasPrice: data.gasPrice,
175
- data: data.data,
176
- chainId,
177
- type: 'legacy'
178
- };
179
- await prepareTransactionRequest(this.wagmiConfig, txParams);
180
- const tx = await wagmiSendTransaction(this.wagmiConfig, txParams);
181
- await waitForTransactionReceipt(this.wagmiConfig, {
182
- hash: tx,
183
- timeout: 25000
184
- });
185
- return tx;
186
- },
187
- writeContract: async data => {
188
- const caipAddress = this.getCaipAddress() || '';
189
- const account = requireCaipAddress(caipAddress);
190
- const chainId = NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id);
191
- const tx = await wagmiWriteContract(wagmiConfig, {
192
- chainId,
193
- address: data.tokenAddress,
194
- account,
195
- abi: data.abi,
196
- functionName: data.method,
197
- args: [data.receiverAddress, data.tokenAmount]
198
- });
199
- return tx;
200
- },
201
- estimateGas: async ({
202
- address,
203
- to,
204
- data,
205
- chainNamespace
206
- }) => {
207
- if (chainNamespace && chainNamespace !== 'eip155') {
208
- throw new Error('estimateGas - chainNamespace is not eip155');
209
- }
210
- try {
211
- const result = await wagmiEstimateGas(this.wagmiConfig, {
212
- account: address,
213
- to: to,
214
- data: data,
215
- type: 'legacy'
216
- });
217
- return result;
218
- } catch (error) {
219
- throw new Error('WagmiAdapter:estimateGas - error estimating gas');
220
- }
221
- },
222
- parseUnits,
223
- formatUnits,
224
- getEnsAddress: async value => {
225
- try {
226
- if (!this.wagmiConfig) {
227
- throw new Error('networkControllerClient:getApprovedCaipNetworksData - wagmiConfig is undefined');
228
- }
229
- const chainId = Number(NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id));
230
- let ensName = false;
231
- let wcName = false;
232
- if (NamesUtil.isReownName(value)) {
233
- wcName = (await this.resolveReownName(value)) || false;
234
- }
235
- if (chainId === 1) {
236
- ensName = await wagmiGetEnsAddress(this.wagmiConfig, {
237
- name: normalize(value),
238
- chainId
239
- });
240
- }
241
- return ensName || wcName || false;
242
- } catch {
243
- return false;
244
- }
245
- },
246
- getEnsAvatar: async value => {
247
- const chainId = Number(NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id));
248
- if (chainId !== mainnet.id) {
249
- return false;
250
- }
251
- const avatar = await wagmiGetEnsAvatar(this.wagmiConfig, {
252
- name: normalize(value),
253
- chainId
254
- });
255
- return avatar || false;
256
- }
257
- };
258
- super({
259
- networkControllerClient,
260
- connectionControllerClient,
261
- siweControllerClient: siweConfig,
262
- defaultChain: getCaipDefaultChain(defaultChain),
263
- tokens: HelpersUtil.getCaipTokens(tokens),
264
- _sdkVersion: _sdkVersion ?? `react-native-wagmi-${ConstantsUtil.VERSION}`,
265
- ...appKitOptions
266
- });
267
- this.options = options;
268
- this.wagmiConfig = wagmiConfig;
269
- this.syncRequestedNetworks([...wagmiConfig.chains]);
270
- this.syncConnectors([...wagmiConfig.connectors]);
271
- watchConnectors(wagmiConfig, {
272
- onChange: connectors => this.syncConnectors([...connectors])
273
- });
274
- watchAccount(wagmiConfig, {
275
- onChange: (accountData, prevAccountData) => {
276
- this.syncAccount({
277
- ...accountData
278
- });
279
- if (accountData.status === 'disconnected' && prevAccountData.status === 'connected') {
280
- this.close();
281
- }
282
- }
283
- });
284
- }
285
-
286
- // -- Public ------------------------------------------------------------------
287
-
288
- // @ts-expect-error: Overriden state type is correct
289
- getState() {
290
- const state = super.getState();
291
- return {
292
- ...state,
293
- selectedNetworkId: NetworkUtil.caipNetworkIdToNumber(state.selectedNetworkId)
294
- };
295
- }
296
-
297
- // @ts-expect-error: Overriden state type is correct
298
- subscribeState(callback) {
299
- return super.subscribeState(state => callback({
300
- ...state,
301
- selectedNetworkId: NetworkUtil.caipNetworkIdToNumber(state.selectedNetworkId)
302
- }));
303
- }
304
-
305
- // -- Private -----------------------------------------------------------------
306
- syncRequestedNetworks(chains) {
307
- const requestedCaipNetworks = chains?.map(chain => ({
308
- id: `${ConstantsUtil.EIP155}:${chain.id}`,
309
- name: chain.name,
310
- imageId: PresetsUtil.EIP155NetworkImageIds[chain.id],
311
- imageUrl: this.options?.chainImages?.[chain.id]
312
- }));
313
- this.setRequestedCaipNetworks(requestedCaipNetworks ?? []);
314
- }
315
- async syncAccount({
316
- address,
317
- isConnected,
318
- chainId,
319
- connector,
320
- isConnecting,
321
- isReconnecting
322
- }) {
323
- this.syncNetwork(address, chainId, isConnected);
324
- this.setLoading(!!connector && (isConnecting || isReconnecting));
325
- if (isConnected && address && chainId) {
326
- const caipAddress = `${ConstantsUtil.EIP155}:${chainId}:${address}`;
327
- this.setIsConnected(isConnected);
328
- this.setCaipAddress(caipAddress);
329
- const connectorType = PresetsUtil.ConnectorTypesMap[connector?.id ?? ''];
330
- await Promise.all([this.syncProfile(address, chainId), this.syncBalance(address, chainId), this.syncConnectedWalletInfo(connector), this.getApprovedCaipNetworksData(connectorType)]);
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","connectorType","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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"}