@reown/appkit-wagmi-react-native 0.0.0-chore-canary-20250722145858 → 0.0.0-chore-bump-builder-20250728195048

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 +144 -0
  2. package/lib/commonjs/adapter.js.map +1 -0
  3. package/lib/commonjs/connectors/UniversalConnector.js +213 -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 +139 -0
  11. package/lib/module/adapter.js.map +1 -0
  12. package/lib/module/connectors/UniversalConnector.js +209 -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 +24 -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 +181 -0
  28. package/src/connectors/UniversalConnector.ts +228 -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,54 +1,13 @@
1
+ import { http } from 'viem';
1
2
  import {
2
- CoreHelperUtil,
3
- type CaipNetwork,
4
- type CaipNetworkId
5
- } from '@reown/appkit-scaffold-react-native';
6
- import { PresetsUtil, ConstantsUtil } from '@reown/appkit-common-react-native';
7
- import type { Connector } from '@wagmi/core';
8
- import { EthereumProvider } from '@walletconnect/ethereum-provider';
9
- import type { AppKitClientOptions } from '../client';
10
- import { http, type Hex } from 'viem';
11
-
12
- export function getCaipDefaultChain(chain?: AppKitClientOptions['defaultChain']) {
13
- if (!chain) {
14
- return undefined;
15
- }
16
-
17
- return {
18
- id: `${ConstantsUtil.EIP155}:${chain.id}`,
19
- name: chain.name,
20
- imageId: PresetsUtil.EIP155NetworkImageIds[chain.id]
21
- } as CaipNetwork;
22
- }
23
-
24
- export async function getWalletConnectCaipNetworks(connector?: Connector) {
25
- if (!connector) {
26
- throw new Error('networkControllerClient:getApprovedCaipNetworks - connector is undefined');
27
- }
28
- const provider = (await connector?.getProvider()) as Awaited<
29
- ReturnType<(typeof EthereumProvider)['init']>
30
- >;
31
- const ns = provider?.signer?.session?.namespaces;
32
- const nsMethods = ns?.[ConstantsUtil.EIP155]?.methods;
33
- const nsChains = ns?.[ConstantsUtil.EIP155]?.chains as CaipNetworkId[];
34
-
35
- return {
36
- supportsAllNetworks: Boolean(nsMethods?.includes(ConstantsUtil.ADD_CHAIN_METHOD)),
37
- approvedCaipNetworkIds: nsChains
38
- };
39
- }
40
-
41
- export function getAuthCaipNetworks() {
42
- return {
43
- supportsAllNetworks: false,
44
- approvedCaipNetworkIds: PresetsUtil.RpcChainIds.map(
45
- id => `${ConstantsUtil.EIP155}:${id}`
46
- ) as CaipNetworkId[]
47
- };
48
- }
3
+ PresetsUtil,
4
+ ConstantsUtil,
5
+ type AppKitNetwork,
6
+ type Network
7
+ } from '@reown/appkit-common-react-native';
49
8
 
50
9
  export function getTransport({ chainId, projectId }: { chainId: number; projectId: string }) {
51
- const RPC_URL = CoreHelperUtil.getBlockchainApiUrl();
10
+ const RPC_URL = ConstantsUtil.BLOCKCHAIN_API_RPC_URL;
52
11
 
53
12
  if (!PresetsUtil.RpcChainIds.includes(chainId)) {
54
13
  return http();
@@ -57,14 +16,15 @@ export function getTransport({ chainId, projectId }: { chainId: number; projectI
57
16
  return http(`${RPC_URL}/v1/?chainId=${ConstantsUtil.EIP155}:${chainId}&projectId=${projectId}`);
58
17
  }
59
18
 
60
- export function requireCaipAddress(caipAddress: string) {
61
- if (!caipAddress) {
62
- throw new Error('No CAIP address provided');
63
- }
64
- const account = caipAddress.split(':')[2] as Hex;
65
- if (!account) {
66
- throw new Error('Invalid CAIP address');
67
- }
19
+ export function formatNetwork(network: Network): AppKitNetwork {
20
+ return {
21
+ ...network,
22
+ rpcUrls: { ...network.rpcUrls },
23
+ chainNamespace: 'eip155',
24
+ caipNetworkId: `eip155:${network.id}`
25
+ };
26
+ }
68
27
 
69
- return account;
28
+ export function formatNetworks(networks: Network[]): AppKitNetwork[] {
29
+ return networks.map(formatNetwork);
70
30
  }
@@ -1,516 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.AppKit = void 0;
7
- var _viem = require("viem");
8
- var _core = require("@wagmi/core");
9
- var _ens = require("viem/ens");
10
- var _chains = require("@wagmi/core/chains");
11
- var _ethereumProvider = require("@walletconnect/ethereum-provider");
12
- var _appkitScaffoldReactNative = require("@reown/appkit-scaffold-react-native");
13
- var _appkitScaffoldUtilsReactNative = require("@reown/appkit-scaffold-utils-react-native");
14
- var _appkitCommonReactNative = require("@reown/appkit-common-react-native");
15
- var _appkitSiweReactNative = require("@reown/appkit-siwe-react-native");
16
- var _helpers = require("./utils/helpers");
17
- // -- Types ---------------------------------------------------------------------
18
-
19
- // @ts-expect-error: Overriden state type is correct
20
-
21
- // -- Client --------------------------------------------------------------------
22
- class AppKit extends _appkitScaffoldReactNative.AppKitScaffold {
23
- hasSyncedConnectedAccount = false;
24
- options = undefined;
25
- constructor(options) {
26
- const {
27
- wagmiConfig,
28
- siweConfig,
29
- defaultChain,
30
- tokens,
31
- _sdkVersion,
32
- ...appKitOptions
33
- } = options;
34
- if (!wagmiConfig) {
35
- throw new Error('appkit:constructor - wagmiConfig is undefined');
36
- }
37
- if (!appKitOptions.projectId) {
38
- throw new Error(_appkitCommonReactNative.ErrorUtil.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED.shortMessage);
39
- }
40
- const networkControllerClient = {
41
- switchCaipNetwork: async caipNetwork => {
42
- const chainId = _appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(caipNetwork?.id);
43
- if (chainId) {
44
- await (0, _core.switchChain)(wagmiConfig, {
45
- chainId
46
- });
47
- }
48
- },
49
- async getApprovedCaipNetworksData() {
50
- const walletChoice = await _appkitScaffoldUtilsReactNative.StorageUtil.getConnectedConnector();
51
- const walletConnectType = _appkitCommonReactNative.PresetsUtil.ConnectorTypesMap[_appkitCommonReactNative.ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID];
52
- const authType = _appkitCommonReactNative.PresetsUtil.ConnectorTypesMap[_appkitCommonReactNative.ConstantsUtil.AUTH_CONNECTOR_ID];
53
- if (walletChoice?.includes(walletConnectType)) {
54
- const connector = wagmiConfig.connectors.find(c => c.id === _appkitCommonReactNative.ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID);
55
- return (0, _helpers.getWalletConnectCaipNetworks)(connector);
56
- } else if (authType) {
57
- return (0, _helpers.getAuthCaipNetworks)();
58
- }
59
- return {
60
- approvedCaipNetworkIds: undefined,
61
- supportsAllNetworks: true
62
- };
63
- }
64
- };
65
- const connectionControllerClient = {
66
- connectWalletConnect: async (onUri, walletUniversalLink) => {
67
- const connector = wagmiConfig.connectors.find(c => c.id === _appkitCommonReactNative.ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID);
68
- if (!connector) {
69
- throw new Error('connectionControllerClient:getWalletConnectUri - connector is undefined');
70
- }
71
- const provider = await connector.getProvider();
72
- provider.on('display_uri', data => {
73
- onUri(data);
74
- });
75
-
76
- // When connecting through walletconnect, we need to set the clientId in the store
77
- const clientId = await provider.signer?.client?.core?.crypto?.getClientId();
78
- if (clientId) {
79
- this.setClientId(clientId);
80
- }
81
- const chainId = _appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id);
82
-
83
- // SIWE
84
- const siweParams = await siweConfig?.getMessageParams?.();
85
- // Make sure client uses ethereum provider version that supports `authenticate`
86
- if (siweConfig?.options?.enabled && typeof provider?.authenticate === 'function' && siweParams && Object.keys(siweParams || {}).length > 0) {
87
- // @ts-expect-error - setting requested chains beforehand avoids wagmi auto disconnecting the session when `connect` is called because it things chains are stale
88
- await connector.setRequestedChainsIds(siweParams.chains);
89
- const result = await provider.authenticate({
90
- nonce: await siweConfig.getNonce(),
91
- methods: [..._ethereumProvider.OPTIONAL_METHODS],
92
- ...siweParams
93
- }, walletUniversalLink);
94
-
95
- // Auths is an array of signed CACAO objects https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-74.md
96
- const signedCacao = result?.auths?.[0];
97
- if (signedCacao) {
98
- const {
99
- p,
100
- s
101
- } = signedCacao;
102
- const cacaoChainId = (0, _appkitSiweReactNative.getDidChainId)(p.iss) || '';
103
- const address = (0, _appkitSiweReactNative.getDidAddress)(p.iss);
104
- try {
105
- // Kicks off verifyMessage and populates external states
106
- const message = provider.signer.client.formatAuthMessage({
107
- request: p,
108
- iss: p.iss
109
- });
110
- await _appkitSiweReactNative.SIWEController.verifyMessage({
111
- message,
112
- signature: s.s,
113
- cacao: signedCacao
114
- });
115
- if (address && chainId) {
116
- const session = {
117
- address,
118
- chainId: parseInt(cacaoChainId, 10)
119
- };
120
- _appkitSiweReactNative.SIWEController.setSession(session);
121
- _appkitSiweReactNative.SIWEController.onSignIn?.(session);
122
- }
123
- } catch (error) {
124
- // eslint-disable-next-line no-console
125
- console.error('Error verifying message', error);
126
- // eslint-disable-next-line no-console
127
- await provider.disconnect().catch(console.error);
128
- // eslint-disable-next-line no-console
129
- await _appkitSiweReactNative.SIWEController.signOut().catch(console.error);
130
- throw error;
131
- }
132
- /*
133
- * Unassign the connector from the wagmiConfig and allow connect() to reassign it in the next step
134
- * this avoids case where wagmi throws because the connector is already connected
135
- * what we need connect() to do is to only setup internal event listeners
136
- */
137
- this.wagmiConfig.state.current = '';
138
- }
139
- }
140
- await (0, _core.connect)(this.wagmiConfig, {
141
- connector,
142
- chainId
143
- });
144
- },
145
- connectExternal: async ({
146
- id
147
- }) => {
148
- const connector = wagmiConfig.connectors.find(c => c.id === id);
149
- if (!connector) {
150
- throw new Error('connectionControllerClient:connectExternal - connector is undefined');
151
- }
152
-
153
- // If connecting with something else than walletconnect, we need to clear the clientId in the store
154
- this.setClientId(null);
155
- const chainId = _appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id);
156
- await (0, _core.connect)(this.wagmiConfig, {
157
- connector,
158
- chainId
159
- });
160
- },
161
- signMessage: async message => (0, _core.signMessage)(this.wagmiConfig, {
162
- message
163
- }),
164
- disconnect: async () => {
165
- await (0, _core.disconnect)(this.wagmiConfig);
166
- this.setClientId(null);
167
- if (siweConfig?.options?.signOutOnDisconnect) {
168
- await _appkitSiweReactNative.SIWEController.signOut();
169
- }
170
- },
171
- sendTransaction: async data => {
172
- const {
173
- chainId
174
- } = (0, _core.getAccount)(this.wagmiConfig);
175
- const txParams = {
176
- account: data.address,
177
- to: data.to,
178
- value: data.value,
179
- gas: data.gas,
180
- gasPrice: data.gasPrice,
181
- data: data.data,
182
- chainId,
183
- type: 'legacy'
184
- };
185
- await (0, _core.prepareTransactionRequest)(this.wagmiConfig, txParams);
186
- const tx = await (0, _core.sendTransaction)(this.wagmiConfig, txParams);
187
- await (0, _core.waitForTransactionReceipt)(this.wagmiConfig, {
188
- hash: tx,
189
- timeout: 25000
190
- });
191
- return tx;
192
- },
193
- writeContract: async data => {
194
- const caipAddress = this.getCaipAddress() || '';
195
- const account = (0, _helpers.requireCaipAddress)(caipAddress);
196
- const chainId = _appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id);
197
- const tx = await (0, _core.writeContract)(wagmiConfig, {
198
- chainId,
199
- address: data.tokenAddress,
200
- account,
201
- abi: data.abi,
202
- functionName: data.method,
203
- args: [data.receiverAddress, data.tokenAmount]
204
- });
205
- return tx;
206
- },
207
- estimateGas: async ({
208
- address,
209
- to,
210
- data,
211
- chainNamespace
212
- }) => {
213
- if (chainNamespace && chainNamespace !== 'eip155') {
214
- throw new Error('estimateGas - chainNamespace is not eip155');
215
- }
216
- try {
217
- const result = await (0, _core.estimateGas)(this.wagmiConfig, {
218
- account: address,
219
- to: to,
220
- data: data,
221
- type: 'legacy'
222
- });
223
- return result;
224
- } catch (error) {
225
- throw new Error('WagmiAdapter:estimateGas - error estimating gas');
226
- }
227
- },
228
- parseUnits: _viem.parseUnits,
229
- formatUnits: _viem.formatUnits,
230
- getEnsAddress: async value => {
231
- try {
232
- if (!this.wagmiConfig) {
233
- throw new Error('networkControllerClient:getApprovedCaipNetworksData - wagmiConfig is undefined');
234
- }
235
- const chainId = Number(_appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id));
236
- let ensName = false;
237
- let wcName = false;
238
- if (_appkitCommonReactNative.NamesUtil.isReownName(value)) {
239
- wcName = (await this.resolveReownName(value)) || false;
240
- }
241
- if (chainId === 1) {
242
- ensName = await (0, _core.getEnsAddress)(this.wagmiConfig, {
243
- name: (0, _ens.normalize)(value),
244
- chainId
245
- });
246
- }
247
- return ensName || wcName || false;
248
- } catch {
249
- return false;
250
- }
251
- },
252
- getEnsAvatar: async value => {
253
- const chainId = Number(_appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(this.getCaipNetwork()?.id));
254
- if (chainId !== _chains.mainnet.id) {
255
- return false;
256
- }
257
- const avatar = await (0, _core.getEnsAvatar)(this.wagmiConfig, {
258
- name: (0, _ens.normalize)(value),
259
- chainId
260
- });
261
- return avatar || false;
262
- }
263
- };
264
- super({
265
- networkControllerClient,
266
- connectionControllerClient,
267
- siweControllerClient: siweConfig,
268
- defaultChain: (0, _helpers.getCaipDefaultChain)(defaultChain),
269
- tokens: _appkitScaffoldUtilsReactNative.HelpersUtil.getCaipTokens(tokens),
270
- _sdkVersion: _sdkVersion ?? `react-native-wagmi-${_appkitCommonReactNative.ConstantsUtil.VERSION}`,
271
- ...appKitOptions
272
- });
273
- this.options = options;
274
- this.wagmiConfig = wagmiConfig;
275
- this.syncRequestedNetworks([...wagmiConfig.chains]);
276
- this.syncConnectors([...wagmiConfig.connectors]);
277
- (0, _core.watchConnectors)(wagmiConfig, {
278
- onChange: connectors => this.syncConnectors([...connectors])
279
- });
280
- (0, _core.watchAccount)(wagmiConfig, {
281
- onChange: (accountData, prevAccountData) => {
282
- this.syncAccount({
283
- ...accountData
284
- });
285
- if (accountData.status === 'disconnected' && prevAccountData.status === 'connected') {
286
- this.close();
287
- }
288
- }
289
- });
290
- }
291
-
292
- // -- Public ------------------------------------------------------------------
293
-
294
- // @ts-expect-error: Overriden state type is correct
295
- getState() {
296
- const state = super.getState();
297
- return {
298
- ...state,
299
- selectedNetworkId: _appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(state.selectedNetworkId)
300
- };
301
- }
302
-
303
- // @ts-expect-error: Overriden state type is correct
304
- subscribeState(callback) {
305
- return super.subscribeState(state => callback({
306
- ...state,
307
- selectedNetworkId: _appkitCommonReactNative.NetworkUtil.caipNetworkIdToNumber(state.selectedNetworkId)
308
- }));
309
- }
310
-
311
- // -- Private -----------------------------------------------------------------
312
- syncRequestedNetworks(chains) {
313
- const requestedCaipNetworks = chains?.map(chain => ({
314
- id: `${_appkitCommonReactNative.ConstantsUtil.EIP155}:${chain.id}`,
315
- name: chain.name,
316
- imageId: _appkitCommonReactNative.PresetsUtil.EIP155NetworkImageIds[chain.id],
317
- imageUrl: this.options?.chainImages?.[chain.id]
318
- }));
319
- this.setRequestedCaipNetworks(requestedCaipNetworks ?? []);
320
- }
321
- async syncAccount({
322
- address,
323
- isConnected,
324
- chainId,
325
- connector,
326
- isConnecting,
327
- isReconnecting
328
- }) {
329
- this.syncNetwork(address, chainId, isConnected);
330
- this.setLoading(!!connector && (isConnecting || isReconnecting));
331
- if (isConnected && address && chainId) {
332
- const caipAddress = `${_appkitCommonReactNative.ConstantsUtil.EIP155}:${chainId}:${address}`;
333
- this.setIsConnected(isConnected);
334
- this.setCaipAddress(caipAddress);
335
- await Promise.all([this.syncProfile(address, chainId), this.syncBalance(address, chainId), this.syncConnectedWalletInfo(connector), this.getApprovedCaipNetworksData()]);
336
- this.hasSyncedConnectedAccount = true;
337
- } else if (!isConnected && !isConnecting && !isReconnecting && this.hasSyncedConnectedAccount) {
338
- this.resetAccount();
339
- this.resetWcConnection();
340
- this.resetNetwork();
341
- }
342
- }
343
- async syncNetwork(address, chainId, isConnected) {
344
- const chain = this.wagmiConfig.chains.find(c => c.id === chainId);
345
- if (chain || chainId) {
346
- const name = chain?.name ?? chainId?.toString();
347
- const id = Number(chain?.id ?? chainId);
348
- const caipChainId = `${_appkitCommonReactNative.ConstantsUtil.EIP155}:${id}`;
349
- this.setCaipNetwork({
350
- id: caipChainId,
351
- name,
352
- imageId: _appkitCommonReactNative.PresetsUtil.EIP155NetworkImageIds[id],
353
- imageUrl: this.options?.chainImages?.[id]
354
- });
355
- if (isConnected && address && chainId) {
356
- const caipAddress = `${_appkitCommonReactNative.ConstantsUtil.EIP155}:${id}:${address}`;
357
- this.setCaipAddress(caipAddress);
358
- if (chain?.blockExplorers?.default?.url) {
359
- const url = `${chain.blockExplorers.default.url}/address/${address}`;
360
- this.setAddressExplorerUrl(url);
361
- } else {
362
- this.setAddressExplorerUrl(undefined);
363
- }
364
- if (this.hasSyncedConnectedAccount) {
365
- await this.syncProfile(address, chainId);
366
- await this.syncBalance(address, chainId);
367
- }
368
- }
369
- }
370
- }
371
- async syncProfile(address, chainId) {
372
- try {
373
- const response = await this.fetchIdentity({
374
- address
375
- });
376
- if (!response) {
377
- throw new Error('Couldnt fetch idendity');
378
- }
379
- this.setProfileName(response.name);
380
- this.setProfileImage(response.avatar);
381
- } catch {
382
- if (chainId === _chains.mainnet.id) {
383
- const profileName = await (0, _core.getEnsName)(this.wagmiConfig, {
384
- address,
385
- chainId
386
- });
387
- if (profileName) {
388
- this.setProfileName(profileName);
389
- const profileImage = await (0, _core.getEnsAvatar)(this.wagmiConfig, {
390
- name: profileName,
391
- chainId
392
- });
393
- if (profileImage) {
394
- this.setProfileImage(profileImage);
395
- }
396
- }
397
- } else {
398
- this.setProfileName(undefined);
399
- this.setProfileImage(undefined);
400
- }
401
- }
402
- }
403
- async syncBalance(address, chainId) {
404
- const chain = this.wagmiConfig.chains.find(c => c.id === chainId);
405
- try {
406
- if (chain) {
407
- const balance = await (0, _core.getBalance)(this.wagmiConfig, {
408
- address,
409
- chainId: chain.id,
410
- token: this.options?.tokens?.[chainId]?.address
411
- });
412
- const formattedBalance = (0, _viem.formatUnits)(balance.value, balance.decimals);
413
- this.setBalance(formattedBalance, balance.symbol);
414
- return;
415
- }
416
- this.setBalance(undefined, undefined);
417
- } catch {
418
- this.setBalance(undefined, undefined);
419
- }
420
- }
421
- async syncConnectedWalletInfo(connector) {
422
- if (!connector) {
423
- throw Error('syncConnectedWalletInfo - connector is undefined');
424
- }
425
- if (connector.id === _appkitCommonReactNative.ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID && connector.getProvider) {
426
- const walletConnectProvider = await connector.getProvider();
427
- if (walletConnectProvider.session) {
428
- this.setConnectedWalletInfo({
429
- ...walletConnectProvider.session.peer.metadata,
430
- name: walletConnectProvider.session.peer.metadata.name,
431
- icon: walletConnectProvider.session.peer.metadata.icons?.[0]
432
- });
433
- }
434
- } else {
435
- this.setConnectedWalletInfo({
436
- id: connector.id,
437
- name: connector.name,
438
- icon: this.options?.connectorImages?.[connector.id] ?? connector.icon
439
- });
440
- }
441
- }
442
- syncConnectors(connectors) {
443
- const uniqueIds = new Set();
444
- const filteredConnectors = connectors.filter(item => !uniqueIds.has(item.id) && uniqueIds.add(item.id));
445
- const excludedConnectors = [_appkitCommonReactNative.ConstantsUtil.AUTH_CONNECTOR_ID];
446
- const _connectors = [];
447
- filteredConnectors.forEach(({
448
- id,
449
- name,
450
- icon
451
- }) => {
452
- if (!excludedConnectors.includes(id)) {
453
- _connectors.push({
454
- id,
455
- explorerId: _appkitCommonReactNative.PresetsUtil.ConnectorExplorerIds[id],
456
- imageId: _appkitCommonReactNative.PresetsUtil.ConnectorImageIds[id] ?? icon,
457
- imageUrl: this.options?.connectorImages?.[id],
458
- name: _appkitCommonReactNative.PresetsUtil.ConnectorNamesMap[id] ?? name,
459
- type: _appkitCommonReactNative.PresetsUtil.ConnectorTypesMap[id] ?? 'EXTERNAL'
460
- });
461
- }
462
- });
463
- this.setConnectors(_connectors);
464
- this.syncWalletConnectListeners(filteredConnectors);
465
- this.syncAuthConnector(filteredConnectors);
466
- }
467
- async syncWalletConnectListeners(connectors) {
468
- const connector = connectors.find(({
469
- id
470
- }) => id === _appkitCommonReactNative.ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID);
471
- if (connector) {
472
- const provider = await connector.getProvider();
473
- provider.signer.client.core.relayer.on('relayer_connect', () => {
474
- provider.signer.client.core.relayer?.provider?.on('payload', payload => {
475
- if (payload?.error) {
476
- this.handleAlertError(payload?.error.message);
477
- }
478
- });
479
- });
480
- }
481
- }
482
- async syncAuthConnector(connectors) {
483
- const authConnector = connectors.find(({
484
- id
485
- }) => id === _appkitCommonReactNative.ConstantsUtil.AUTH_CONNECTOR_ID);
486
- if (authConnector) {
487
- const provider = await authConnector.getProvider();
488
- this.addConnector({
489
- id: _appkitCommonReactNative.ConstantsUtil.AUTH_CONNECTOR_ID,
490
- type: _appkitCommonReactNative.PresetsUtil.ConnectorTypesMap[_appkitCommonReactNative.ConstantsUtil.AUTH_CONNECTOR_ID],
491
- name: _appkitCommonReactNative.PresetsUtil.ConnectorNamesMap[_appkitCommonReactNative.ConstantsUtil.AUTH_CONNECTOR_ID],
492
- provider
493
- });
494
- this.addAuthListeners(authConnector);
495
- }
496
- }
497
- async addAuthListeners(connector) {
498
- const connectedConnector = await _appkitScaffoldUtilsReactNative.StorageUtil.getItem('@w3m/connected_connector');
499
- if (connectedConnector === 'AUTH') {
500
- // Set loader until it reconnects
501
- super.setLoading(true);
502
- }
503
- const provider = await connector.getProvider();
504
- provider.onSetPreferredAccount(async () => {
505
- await (0, _core.reconnect)(this.wagmiConfig, {
506
- connectors: [connector]
507
- });
508
- });
509
- provider.setOnTimeout(async () => {
510
- this.handleAlertError(_appkitCommonReactNative.ErrorUtil.ALERT_ERRORS.SOCIALS_TIMEOUT);
511
- this.setLoading(false);
512
- });
513
- }
514
- }
515
- exports.AppKit = AppKit;
516
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_viem","require","_core","_ens","_chains","_ethereumProvider","_appkitScaffoldReactNative","_appkitScaffoldUtilsReactNative","_appkitCommonReactNative","_appkitSiweReactNative","_helpers","AppKit","AppKitScaffold","hasSyncedConnectedAccount","options","undefined","constructor","wagmiConfig","siweConfig","defaultChain","tokens","_sdkVersion","appKitOptions","Error","projectId","ErrorUtil","ALERT_ERRORS","PROJECT_ID_NOT_CONFIGURED","shortMessage","networkControllerClient","switchCaipNetwork","caipNetwork","chainId","NetworkUtil","caipNetworkIdToNumber","id","switchChain","getApprovedCaipNetworksData","walletChoice","StorageUtil","getConnectedConnector","walletConnectType","PresetsUtil","ConnectorTypesMap","ConstantsUtil","WALLET_CONNECT_CONNECTOR_ID","authType","AUTH_CONNECTOR_ID","includes","connector","connectors","find","c","getWalletConnectCaipNetworks","getAuthCaipNetworks","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","OPTIONAL_METHODS","signedCacao","auths","p","s","cacaoChainId","getDidChainId","iss","address","getDidAddress","message","formatAuthMessage","request","SIWEController","verifyMessage","signature","cacao","session","parseInt","setSession","onSignIn","error","console","disconnect","catch","signOut","state","current","connect","connectExternal","signMessage","signOutOnDisconnect","sendTransaction","getAccount","txParams","account","to","value","gas","gasPrice","type","prepareTransactionRequest","tx","wagmiSendTransaction","waitForTransactionReceipt","hash","timeout","writeContract","caipAddress","getCaipAddress","requireCaipAddress","wagmiWriteContract","tokenAddress","abi","functionName","method","args","receiverAddress","tokenAmount","estimateGas","chainNamespace","wagmiEstimateGas","parseUnits","formatUnits","getEnsAddress","Number","ensName","wcName","NamesUtil","isReownName","resolveReownName","wagmiGetEnsAddress","name","normalize","getEnsAvatar","mainnet","avatar","wagmiGetEnsAvatar","siweControllerClient","getCaipDefaultChain","HelpersUtil","getCaipTokens","VERSION","syncRequestedNetworks","syncConnectors","watchConnectors","onChange","watchAccount","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","getEnsName","profileImage","balance","getBalance","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","reconnect","setOnTimeout","SOCIALS_TIMEOUT","exports"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAsBA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AAEA,IAAAK,0BAAA,GAAAL,OAAA;AAgBA,IAAAM,+BAAA,GAAAN,OAAA;AACA,IAAAO,wBAAA,GAAAP,OAAA;AAQA,IAAAQ,sBAAA,GAAAR,OAAA;AAMA,IAAAS,QAAA,GAAAT,OAAA;AAQA;;AAcA;;AAKA;AACO,MAAMU,MAAM,SAASC,yCAAc,CAAC;EACjCC,yBAAyB,GAAG,KAAK;EAEjCC,OAAO,GAAoCC,SAAS;EAIrDC,WAAWA,CAACF,OAA4B,EAAE;IAC/C,MAAM;MAAEG,WAAW;MAAEC,UAAU;MAAEC,YAAY;MAAEC,MAAM;MAAEC,WAAW;MAAE,GAAGC;IAAc,CAAC,GACpFR,OAAO;IAET,IAAI,CAACG,WAAW,EAAE;MAChB,MAAM,IAAIM,KAAK,CAAC,+CAA+C,CAAC;IAClE;IAEA,IAAI,CAACD,aAAa,CAACE,SAAS,EAAE;MAC5B,MAAM,IAAID,KAAK,CAACE,kCAAS,CAACC,YAAY,CAACC,yBAAyB,CAACC,YAAY,CAAC;IAChF;IAEA,MAAMC,uBAAgD,GAAG;MACvDC,iBAAiB,EAAE,MAAMC,WAAW,IAAI;QACtC,MAAMC,OAAO,GAAGC,oCAAW,CAACC,qBAAqB,CAACH,WAAW,EAAEI,EAAE,CAAC;QAClE,IAAIH,OAAO,EAAE;UACX,MAAM,IAAAI,iBAAW,EAACnB,WAAW,EAAE;YAAEe;UAAQ,CAAC,CAAC;QAC7C;MACF,CAAC;MAED,MAAMK,2BAA2BA,CAAA,EAAG;QAClC,MAAMC,YAAY,GAAG,MAAMC,2CAAW,CAACC,qBAAqB,CAAC,CAAC;QAC9D,MAAMC,iBAAiB,GACrBC,oCAAW,CAACC,iBAAiB,CAACC,sCAAa,CAACC,2BAA2B,CAAE;QAE3E,MAAMC,QAAQ,GAAGJ,oCAAW,CAACC,iBAAiB,CAACC,sCAAa,CAACG,iBAAiB,CAAE;QAEhF,IAAIT,YAAY,EAAEU,QAAQ,CAACP,iBAAiB,CAAC,EAAE;UAC7C,MAAMQ,SAAS,GAAGhC,WAAW,CAACiC,UAAU,CAACC,IAAI,CAC3CC,CAAC,IAAIA,CAAC,CAACjB,EAAE,KAAKS,sCAAa,CAACC,2BAC9B,CAAC;UAED,OAAO,IAAAQ,qCAA4B,EAACJ,SAAS,CAAC;QAChD,CAAC,MAAM,IAAIH,QAAQ,EAAE;UACnB,OAAO,IAAAQ,4BAAmB,EAAC,CAAC;QAC9B;QAEA,OAAO;UAAEC,sBAAsB,EAAExC,SAAS;UAAEyC,mBAAmB,EAAE;QAAK,CAAC;MACzE;IACF,CAAC;IAED,MAAMC,0BAAsD,GAAG;MAC7DC,oBAAoB,EAAE,MAAAA,CAAOC,KAAK,EAAEC,mBAAmB,KAAK;QAC1D,MAAMX,SAAS,GAAGhC,WAAW,CAACiC,UAAU,CAACC,IAAI,CAC3CC,CAAC,IAAIA,CAAC,CAACjB,EAAE,KAAKS,sCAAa,CAACC,2BAC9B,CAAC;QACD,IAAI,CAACI,SAAS,EAAE;UACd,MAAM,IAAI1B,KAAK,CACb,yEACF,CAAC;QACH;QAEA,MAAMsC,QAAQ,GAAI,MAAMZ,SAAS,CAACa,WAAW,CAAC,CAE7C;QAEDD,QAAQ,CAACE,EAAE,CAAC,aAAa,EAAEC,IAAI,IAAI;UACjCL,KAAK,CAACK,IAAI,CAAC;QACb,CAAC,CAAC;;QAEF;QACA,MAAMC,QAAQ,GAAG,MAAMJ,QAAQ,CAACK,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEC,WAAW,CAAC,CAAC;QAC3E,IAAIL,QAAQ,EAAE;UACZ,IAAI,CAACM,WAAW,CAACN,QAAQ,CAAC;QAC5B;QAEA,MAAMjC,OAAO,GAAGC,oCAAW,CAACC,qBAAqB,CAAC,IAAI,CAACsC,cAAc,CAAC,CAAC,EAAErC,EAAE,CAAC;;QAE5E;QACA,MAAMsC,UAAU,GAAG,MAAMvD,UAAU,EAAEwD,gBAAgB,GAAG,CAAC;QACzD;QACA,IACExD,UAAU,EAAEJ,OAAO,EAAE6D,OAAO,IAC5B,OAAOd,QAAQ,EAAEe,YAAY,KAAK,UAAU,IAC5CH,UAAU,IACVI,MAAM,CAACC,IAAI,CAACL,UAAU,IAAI,CAAC,CAAC,CAAC,CAACM,MAAM,GAAG,CAAC,EACxC;UACA;UACA,MAAM9B,SAAS,CAAC+B,qBAAqB,CAACP,UAAU,CAACQ,MAAM,CAAC;UACxD,MAAMC,MAAM,GAAG,MAAMrB,QAAQ,CAACe,YAAY,CACxC;YACEO,KAAK,EAAE,MAAMjE,UAAU,CAACkE,QAAQ,CAAC,CAAC;YAClCC,OAAO,EAAE,CAAC,GAAGC,kCAAgB,CAAC;YAC9B,GAAGb;UACL,CAAC,EACDb,mBACF,CAAC;;UAED;UACA,MAAM2B,WAAW,GAAGL,MAAM,EAAEM,KAAK,GAAG,CAAC,CAAC;UACtC,IAAID,WAAW,EAAE;YACf,MAAM;cAAEE,CAAC;cAAEC;YAAE,CAAC,GAAGH,WAAW;YAC5B,MAAMI,YAAY,GAAG,IAAAC,oCAAa,EAACH,CAAC,CAACI,GAAG,CAAC,IAAI,EAAE;YAC/C,MAAMC,OAAO,GAAG,IAAAC,oCAAa,EAACN,CAAC,CAACI,GAAG,CAAC;YACpC,IAAI;cACF;cACA,MAAMG,OAAO,GAAGnC,QAAQ,CAACK,MAAM,CAACC,MAAM,CAAC8B,iBAAiB,CAAC;gBACvDC,OAAO,EAAET,CAAC;gBACVI,GAAG,EAAEJ,CAAC,CAACI;cACT,CAAC,CAAC;cAEF,MAAMM,qCAAc,CAACC,aAAa,CAAC;gBACjCJ,OAAO;gBACPK,SAAS,EAAEX,CAAC,CAACA,CAAC;gBACdY,KAAK,EAAEf;cACT,CAAC,CAAC;cAEF,IAAIO,OAAO,IAAI9D,OAAO,EAAE;gBACtB,MAAMuE,OAAO,GAAG;kBACdT,OAAO;kBACP9D,OAAO,EAAEwE,QAAQ,CAACb,YAAY,EAAE,EAAE;gBACpC,CAAC;gBAEDQ,qCAAc,CAACM,UAAU,CAACF,OAAO,CAAC;gBAClCJ,qCAAc,CAACO,QAAQ,GAAGH,OAAO,CAAC;cACpC;YACF,CAAC,CAAC,OAAOI,KAAK,EAAE;cACd;cACAC,OAAO,CAACD,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAAC;cAC/C;cACA,MAAM9C,QAAQ,CAACgD,UAAU,CAAC,CAAC,CAACC,KAAK,CAACF,OAAO,CAACD,KAAK,CAAC;cAChD;cACA,MAAMR,qCAAc,CAACY,OAAO,CAAC,CAAC,CAACD,KAAK,CAACF,OAAO,CAACD,KAAK,CAAC;cACnD,MAAMA,KAAK;YACb;YACA;AACZ;AACA;AACA;AACA;YACY,IAAI,CAAC1F,WAAW,CAAC+F,KAAK,CAACC,OAAO,GAAG,EAAE;UACrC;QACF;QAEA,MAAM,IAAAC,aAAO,EAAC,IAAI,CAACjG,WAAW,EAAE;UAAEgC,SAAS;UAAEjB;QAAQ,CAAC,CAAC;MACzD,CAAC;MAEDmF,eAAe,EAAE,MAAAA,CAAO;QAAEhF;MAAG,CAAC,KAAK;QACjC,MAAMc,SAAS,GAAGhC,WAAW,CAACiC,UAAU,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACjB,EAAE,KAAKA,EAAE,CAAC;QAC/D,IAAI,CAACc,SAAS,EAAE;UACd,MAAM,IAAI1B,KAAK,CAAC,qEAAqE,CAAC;QACxF;;QAEA;QACA,IAAI,CAACgD,WAAW,CAAC,IAAI,CAAC;QAEtB,MAAMvC,OAAO,GAAGC,oCAAW,CAACC,qBAAqB,CAAC,IAAI,CAACsC,cAAc,CAAC,CAAC,EAAErC,EAAE,CAAC;QAC5E,MAAM,IAAA+E,aAAO,EAAC,IAAI,CAACjG,WAAW,EAAE;UAAEgC,SAAS;UAAEjB;QAAQ,CAAC,CAAC;MACzD,CAAC;MAEDoF,WAAW,EAAE,MAAMpB,OAAO,IAAI,IAAAoB,iBAAW,EAAC,IAAI,CAACnG,WAAW,EAAE;QAAE+E;MAAQ,CAAC,CAAC;MAExEa,UAAU,EAAE,MAAAA,CAAA,KAAY;QACtB,MAAM,IAAAA,gBAAU,EAAC,IAAI,CAAC5F,WAAW,CAAC;QAClC,IAAI,CAACsD,WAAW,CAAC,IAAI,CAAC;QAEtB,IAAIrD,UAAU,EAAEJ,OAAO,EAAEuG,mBAAmB,EAAE;UAC5C,MAAMlB,qCAAc,CAACY,OAAO,CAAC,CAAC;QAChC;MACF,CAAC;MAEDO,eAAe,EAAE,MAAOtD,IAAyB,IAAK;QACpD,MAAM;UAAEhC;QAAQ,CAAC,GAAG,IAAAuF,gBAAU,EAAC,IAAI,CAACtG,WAAW,CAAC;QAEhD,MAAMuG,QAAQ,GAAG;UACfC,OAAO,EAAEzD,IAAI,CAAC8B,OAAO;UACrB4B,EAAE,EAAE1D,IAAI,CAAC0D,EAAE;UACXC,KAAK,EAAE3D,IAAI,CAAC2D,KAAK;UACjBC,GAAG,EAAE5D,IAAI,CAAC4D,GAAG;UACbC,QAAQ,EAAE7D,IAAI,CAAC6D,QAAQ;UACvB7D,IAAI,EAAEA,IAAI,CAACA,IAAI;UACfhC,OAAO;UACP8F,IAAI,EAAE;QACR,CAAC;QAED,MAAM,IAAAC,+BAAyB,EAAC,IAAI,CAAC9G,WAAW,EAAEuG,QAAQ,CAAC;QAC3D,MAAMQ,EAAE,GAAG,MAAM,IAAAC,qBAAoB,EAAC,IAAI,CAAChH,WAAW,EAAEuG,QAAQ,CAAC;QAEjE,MAAM,IAAAU,+BAAyB,EAAC,IAAI,CAACjH,WAAW,EAAE;UAAEkH,IAAI,EAAEH,EAAE;UAAEI,OAAO,EAAE;QAAM,CAAC,CAAC;QAE/E,OAAOJ,EAAE;MACX,CAAC;MAEDK,aAAa,EAAE,MAAOrE,IAAuB,IAAK;QAChD,MAAMsE,WAAW,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC,IAAI,EAAE;QAC/C,MAAMd,OAAO,GAAG,IAAAe,2BAAkB,EAACF,WAAW,CAAC;QAC/C,MAAMtG,OAAO,GAAGC,oCAAW,CAACC,qBAAqB,CAAC,IAAI,CAACsC,cAAc,CAAC,CAAC,EAAErC,EAAE,CAAC;QAE5E,MAAM6F,EAAE,GAAG,MAAM,IAAAS,mBAAkB,EAACxH,WAAW,EAAE;UAC/Ce,OAAO;UACP8D,OAAO,EAAE9B,IAAI,CAAC0E,YAAY;UAC1BjB,OAAO;UACPkB,GAAG,EAAE3E,IAAI,CAAC2E,GAAG;UACbC,YAAY,EAAE5E,IAAI,CAAC6E,MAAM;UACzBC,IAAI,EAAE,CAAC9E,IAAI,CAAC+E,eAAe,EAAE/E,IAAI,CAACgF,WAAW;QAC/C,CAAC,CAAC;QAEF,OAAOhB,EAAE;MACX,CAAC;MAEDiB,WAAW,EAAE,MAAAA,CAAO;QAClBnD,OAAO;QACP4B,EAAE;QACF1D,IAAI;QACJkF;MAC0B,CAAC,KAAsB;QACjD,IAAIA,cAAc,IAAIA,cAAc,KAAK,QAAQ,EAAE;UACjD,MAAM,IAAI3H,KAAK,CAAC,4CAA4C,CAAC;QAC/D;QAEA,IAAI;UACF,MAAM2D,MAAM,GAAG,MAAM,IAAAiE,iBAAgB,EAAC,IAAI,CAAClI,WAAW,EAAE;YACtDwG,OAAO,EAAE3B,OAAc;YACvB4B,EAAE,EAAEA,EAAS;YACb1D,IAAI,EAAEA,IAAW;YACjB8D,IAAI,EAAE;UACR,CAAC,CAAC;UAEF,OAAO5C,MAAM;QACf,CAAC,CAAC,OAAOyB,KAAK,EAAE;UACd,MAAM,IAAIpF,KAAK,CAAC,iDAAiD,CAAC;QACpE;MACF,CAAC;MAED6H,UAAU,EAAVA,gBAAU;MAEVC,WAAW,EAAXA,iBAAW;MAEXC,aAAa,EAAE,MAAO3B,KAAa,IAAK;QACtC,IAAI;UACF,IAAI,CAAC,IAAI,CAAC1G,WAAW,EAAE;YACrB,MAAM,IAAIM,KAAK,CACb,gFACF,CAAC;UACH;UACA,MAAMS,OAAO,GAAGuH,MAAM,CAACtH,oCAAW,CAACC,qBAAqB,CAAC,IAAI,CAACsC,cAAc,CAAC,CAAC,EAAErC,EAAE,CAAC,CAAC;UACpF,IAAIqH,OAA0C,GAAG,KAAK;UACtD,IAAIC,MAAwB,GAAG,KAAK;UACpC,IAAIC,kCAAS,CAACC,WAAW,CAAChC,KAAK,CAAC,EAAE;YAChC8B,MAAM,GAAG,CAAC,MAAM,IAAI,CAACG,gBAAgB,CAACjC,KAAK,CAAC,KAAK,KAAK;UACxD;UACA,IAAI3F,OAAO,KAAK,CAAC,EAAE;YACjBwH,OAAO,GAAG,MAAM,IAAAK,mBAAkB,EAAC,IAAI,CAAC5I,WAAW,EAAE;cACnD6I,IAAI,EAAE,IAAAC,cAAS,EAACpC,KAAK,CAAC;cACtB3F;YACF,CAAC,CAAC;UACJ;UAEA,OAAOwH,OAAO,IAAIC,MAAM,IAAI,KAAK;QACnC,CAAC,CAAC,MAAM;UACN,OAAO,KAAK;QACd;MACF,CAAC;MACDO,YAAY,EAAE,MAAOrC,KAAa,IAAK;QACrC,MAAM3F,OAAO,GAAGuH,MAAM,CAACtH,oCAAW,CAACC,qBAAqB,CAAC,IAAI,CAACsC,cAAc,CAAC,CAAC,EAAErC,EAAE,CAAC,CAAC;QACpF,IAAIH,OAAO,KAAKiI,eAAO,CAAC9H,EAAE,EAAE;UAC1B,OAAO,KAAK;QACd;QACA,MAAM+H,MAAM,GAAG,MAAM,IAAAC,kBAAiB,EAAC,IAAI,CAAClJ,WAAW,EAAE;UACvD6I,IAAI,EAAE,IAAAC,cAAS,EAACpC,KAAK,CAAC;UACtB3F;QACF,CAAC,CAAC;QAEF,OAAOkI,MAAM,IAAI,KAAK;MACxB;IACF,CAAC;IAED,KAAK,CAAC;MACJrI,uBAAuB;MACvB4B,0BAA0B;MAC1B2G,oBAAoB,EAAElJ,UAAU;MAChCC,YAAY,EAAE,IAAAkJ,4BAAmB,EAAClJ,YAAY,CAAC;MAC/CC,MAAM,EAAEkJ,2CAAW,CAACC,aAAa,CAACnJ,MAAM,CAAC;MACzCC,WAAW,EAAEA,WAAW,IAAI,sBAAsBuB,sCAAa,CAAC4H,OAAO,EAAE;MACzE,GAAGlJ;IACL,CAAC,CAAC;IAEF,IAAI,CAACR,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACG,WAAW,GAAGA,WAAW;IAE9B,IAAI,CAACwJ,qBAAqB,CAAC,CAAC,GAAGxJ,WAAW,CAACgE,MAAM,CAAC,CAAC;IACnD,IAAI,CAACyF,cAAc,CAAC,CAAC,GAAGzJ,WAAW,CAACiC,UAAU,CAAC,CAAC;IAEhD,IAAAyH,qBAAe,EAAC1J,WAAW,EAAE;MAC3B2J,QAAQ,EAAE1H,UAAU,IAAI,IAAI,CAACwH,cAAc,CAAC,CAAC,GAAGxH,UAAU,CAAC;IAC7D,CAAC,CAAC;IAEF,IAAA2H,kBAAY,EAAC5J,WAAW,EAAE;MACxB2J,QAAQ,EAAEA,CAACE,WAAW,EAAEC,eAAe,KAAK;QAC1C,IAAI,CAACC,WAAW,CAAC;UAAE,GAAGF;QAAY,CAAC,CAAC;QAEpC,IAAIA,WAAW,CAACG,MAAM,KAAK,cAAc,IAAIF,eAAe,CAACE,MAAM,KAAK,WAAW,EAAE;UACnF,IAAI,CAACC,KAAK,CAAC,CAAC;QACd;MACF;IACF,CAAC,CAAC;EACJ;;EAEA;;EAEA;EACgBC,QAAQA,CAAA,EAAG;IACzB,MAAMnE,KAAK,GAAG,KAAK,CAACmE,QAAQ,CAAC,CAAC;IAE9B,OAAO;MACL,GAAGnE,KAAK;MACRoE,iBAAiB,EAAEnJ,oCAAW,CAACC,qBAAqB,CAAC8E,KAAK,CAACoE,iBAAiB;IAC9E,CAAC;EACH;;EAEA;EACgBC,cAAcA,CAACC,QAAsC,EAAE;IACrE,OAAO,KAAK,CAACD,cAAc,CAACrE,KAAK,IAC/BsE,QAAQ,CAAC;MACP,GAAGtE,KAAK;MACRoE,iBAAiB,EAAEnJ,oCAAW,CAACC,qBAAqB,CAAC8E,KAAK,CAACoE,iBAAiB;IAC9E,CAAC,CACH,CAAC;EACH;;EAEA;EACQX,qBAAqBA,CAACxF,MAAe,EAAE;IAC7C,MAAMsG,qBAAqB,GAAGtG,MAAM,EAAEuG,GAAG,CACvCC,KAAK,KACF;MACCtJ,EAAE,EAAE,GAAGS,sCAAa,CAAC8I,MAAM,IAAID,KAAK,CAACtJ,EAAE,EAAE;MACzC2H,IAAI,EAAE2B,KAAK,CAAC3B,IAAI;MAChB6B,OAAO,EAAEjJ,oCAAW,CAACkJ,qBAAqB,CAACH,KAAK,CAACtJ,EAAE,CAAC;MACpD0J,QAAQ,EAAE,IAAI,CAAC/K,OAAO,EAAEgL,WAAW,GAAGL,KAAK,CAACtJ,EAAE;IAChD,CAAC,CACL,CAAC;IACD,IAAI,CAAC4J,wBAAwB,CAACR,qBAAqB,IAAI,EAAE,CAAC;EAC5D;EAEA,MAAcP,WAAWA,CAAC;IACxBlF,OAAO;IACPkG,WAAW;IACXhK,OAAO;IACPiB,SAAS;IACTgJ,YAAY;IACZC;EAIF,CAAC,EAAE;IACD,IAAI,CAACC,WAAW,CAACrG,OAAO,EAAE9D,OAAO,EAAEgK,WAAW,CAAC;IAC/C,IAAI,CAACI,UAAU,CAAC,CAAC,CAACnJ,SAAS,KAAKgJ,YAAY,IAAIC,cAAc,CAAC,CAAC;IAEhE,IAAIF,WAAW,IAAIlG,OAAO,IAAI9D,OAAO,EAAE;MACrC,MAAMsG,WAAwB,GAAG,GAAG1F,sCAAa,CAAC8I,MAAM,IAAI1J,OAAO,IAAI8D,OAAO,EAAE;MAChF,IAAI,CAACuG,cAAc,CAACL,WAAW,CAAC;MAChC,IAAI,CAACM,cAAc,CAAChE,WAAW,CAAC;MAChC,MAAMiE,OAAO,CAACC,GAAG,CAAC,CAChB,IAAI,CAACC,WAAW,CAAC3G,OAAO,EAAE9D,OAAO,CAAC,EAClC,IAAI,CAAC0K,WAAW,CAAC5G,OAAO,EAAE9D,OAAO,CAAC,EAClC,IAAI,CAAC2K,uBAAuB,CAAC1J,SAAS,CAAC,EACvC,IAAI,CAACZ,2BAA2B,CAAC,CAAC,CACnC,CAAC;MACF,IAAI,CAACxB,yBAAyB,GAAG,IAAI;IACvC,CAAC,MAAM,IAAI,CAACmL,WAAW,IAAI,CAACC,YAAY,IAAI,CAACC,cAAc,IAAI,IAAI,CAACrL,yBAAyB,EAAE;MAC7F,IAAI,CAAC+L,YAAY,CAAC,CAAC;MACnB,IAAI,CAACC,iBAAiB,CAAC,CAAC;MACxB,IAAI,CAACC,YAAY,CAAC,CAAC;IACrB;EACF;EAEA,MAAcX,WAAWA,CAACrG,OAAa,EAAE9D,OAAgB,EAAEgK,WAAqB,EAAE;IAChF,MAAMP,KAAK,GAAG,IAAI,CAACxK,WAAW,CAACgE,MAAM,CAAC9B,IAAI,CAAEC,CAAQ,IAAKA,CAAC,CAACjB,EAAE,KAAKH,OAAO,CAAC;IAE1E,IAAIyJ,KAAK,IAAIzJ,OAAO,EAAE;MACpB,MAAM8H,IAAI,GAAG2B,KAAK,EAAE3B,IAAI,IAAI9H,OAAO,EAAE+K,QAAQ,CAAC,CAAC;MAC/C,MAAM5K,EAAE,GAAGoH,MAAM,CAACkC,KAAK,EAAEtJ,EAAE,IAAIH,OAAO,CAAC;MACvC,MAAMgL,WAA0B,GAAG,GAAGpK,sCAAa,CAAC8I,MAAM,IAAIvJ,EAAE,EAAE;MAClE,IAAI,CAAC8K,cAAc,CAAC;QAClB9K,EAAE,EAAE6K,WAAW;QACflD,IAAI;QACJ6B,OAAO,EAAEjJ,oCAAW,CAACkJ,qBAAqB,CAACzJ,EAAE,CAAC;QAC9C0J,QAAQ,EAAE,IAAI,CAAC/K,OAAO,EAAEgL,WAAW,GAAG3J,EAAE;MAC1C,CAAC,CAAC;MACF,IAAI6J,WAAW,IAAIlG,OAAO,IAAI9D,OAAO,EAAE;QACrC,MAAMsG,WAAwB,GAAG,GAAG1F,sCAAa,CAAC8I,MAAM,IAAIvJ,EAAE,IAAI2D,OAAO,EAAE;QAC3E,IAAI,CAACwG,cAAc,CAAChE,WAAW,CAAC;QAChC,IAAImD,KAAK,EAAEyB,cAAc,EAAEC,OAAO,EAAEC,GAAG,EAAE;UACvC,MAAMA,GAAG,GAAG,GAAG3B,KAAK,CAACyB,cAAc,CAACC,OAAO,CAACC,GAAG,YAAYtH,OAAO,EAAE;UACpE,IAAI,CAACuH,qBAAqB,CAACD,GAAG,CAAC;QACjC,CAAC,MAAM;UACL,IAAI,CAACC,qBAAqB,CAACtM,SAAS,CAAC;QACvC;QACA,IAAI,IAAI,CAACF,yBAAyB,EAAE;UAClC,MAAM,IAAI,CAAC4L,WAAW,CAAC3G,OAAO,EAAE9D,OAAO,CAAC;UACxC,MAAM,IAAI,CAAC0K,WAAW,CAAC5G,OAAO,EAAE9D,OAAO,CAAC;QAC1C;MACF;IACF;EACF;EAEA,MAAcyK,WAAWA,CAAC3G,OAAY,EAAE9D,OAAe,EAAE;IACvD,IAAI;MACF,MAAMsL,QAAQ,GAAG,MAAM,IAAI,CAACC,aAAa,CAAC;QAAEzH;MAAQ,CAAC,CAAC;MAEtD,IAAI,CAACwH,QAAQ,EAAE;QACb,MAAM,IAAI/L,KAAK,CAAC,wBAAwB,CAAC;MAC3C;MAEA,IAAI,CAACiM,cAAc,CAACF,QAAQ,CAACxD,IAAI,CAAC;MAClC,IAAI,CAAC2D,eAAe,CAACH,QAAQ,CAACpD,MAAM,CAAC;IACvC,CAAC,CAAC,MAAM;MACN,IAAIlI,OAAO,KAAKiI,eAAO,CAAC9H,EAAE,EAAE;QAC1B,MAAMuL,WAAW,GAAG,MAAM,IAAAC,gBAAU,EAAC,IAAI,CAAC1M,WAAW,EAAE;UAAE6E,OAAO;UAAE9D;QAAQ,CAAC,CAAC;QAC5E,IAAI0L,WAAW,EAAE;UACf,IAAI,CAACF,cAAc,CAACE,WAAW,CAAC;UAChC,MAAME,YAAY,GAAG,MAAM,IAAAzD,kBAAiB,EAAC,IAAI,CAAClJ,WAAW,EAAE;YAC7D6I,IAAI,EAAE4D,WAAW;YACjB1L;UACF,CAAC,CAAC;UACF,IAAI4L,YAAY,EAAE;YAChB,IAAI,CAACH,eAAe,CAACG,YAAY,CAAC;UACpC;QACF;MACF,CAAC,MAAM;QACL,IAAI,CAACJ,cAAc,CAACzM,SAAS,CAAC;QAC9B,IAAI,CAAC0M,eAAe,CAAC1M,SAAS,CAAC;MACjC;IACF;EACF;EAEA,MAAc2L,WAAWA,CAAC5G,OAAY,EAAE9D,OAAe,EAAE;IACvD,MAAMyJ,KAAK,GAAG,IAAI,CAACxK,WAAW,CAACgE,MAAM,CAAC9B,IAAI,CAAEC,CAAQ,IAAKA,CAAC,CAACjB,EAAE,KAAKH,OAAO,CAAC;IAC1E,IAAI;MACF,IAAIyJ,KAAK,EAAE;QACT,MAAMoC,OAAO,GAAG,MAAM,IAAAC,gBAAU,EAAC,IAAI,CAAC7M,WAAW,EAAE;UACjD6E,OAAO;UACP9D,OAAO,EAAEyJ,KAAK,CAACtJ,EAAE;UACjB4L,KAAK,EAAE,IAAI,CAACjN,OAAO,EAAEM,MAAM,GAAGY,OAAO,CAAC,EAAE8D;QAC1C,CAAC,CAAC;QACF,MAAMkI,gBAAgB,GAAG,IAAA3E,iBAAW,EAACwE,OAAO,CAAClG,KAAK,EAAEkG,OAAO,CAACI,QAAQ,CAAC;QACrE,IAAI,CAACC,UAAU,CAACF,gBAAgB,EAAEH,OAAO,CAACM,MAAM,CAAC;QAEjD;MACF;MACA,IAAI,CAACD,UAAU,CAACnN,SAAS,EAAEA,SAAS,CAAC;IACvC,CAAC,CAAC,MAAM;MACN,IAAI,CAACmN,UAAU,CAACnN,SAAS,EAAEA,SAAS,CAAC;IACvC;EACF;EAEA,MAAc4L,uBAAuBA,CAAC1J,SAA4C,EAAE;IAClF,IAAI,CAACA,SAAS,EAAE;MACd,MAAM1B,KAAK,CAAC,kDAAkD,CAAC;IACjE;IAEA,IAAI0B,SAAS,CAACd,EAAE,KAAKS,sCAAa,CAACC,2BAA2B,IAAII,SAAS,CAACa,WAAW,EAAE;MACvF,MAAMsK,qBAAqB,GAAI,MAAMnL,SAAS,CAACa,WAAW,CAAC,CAE1D;MACD,IAAIsK,qBAAqB,CAAC7H,OAAO,EAAE;QACjC,IAAI,CAAC8H,sBAAsB,CAAC;UAC1B,GAAGD,qBAAqB,CAAC7H,OAAO,CAAC+H,IAAI,CAACC,QAAQ;UAC9CzE,IAAI,EAAEsE,qBAAqB,CAAC7H,OAAO,CAAC+H,IAAI,CAACC,QAAQ,CAACzE,IAAI;UACtD0E,IAAI,EAAEJ,qBAAqB,CAAC7H,OAAO,CAAC+H,IAAI,CAACC,QAAQ,CAACE,KAAK,GAAG,CAAC;QAC7D,CAAC,CAAC;MACJ;IACF,CAAC,MAAM;MACL,IAAI,CAACJ,sBAAsB,CAAC;QAC1BlM,EAAE,EAAEc,SAAS,CAACd,EAAE;QAChB2H,IAAI,EAAE7G,SAAS,CAAC6G,IAAI;QACpB0E,IAAI,EAAE,IAAI,CAAC1N,OAAO,EAAE4N,eAAe,GAAGzL,SAAS,CAACd,EAAE,CAAC,IAAIc,SAAS,CAACuL;MACnE,CAAC,CAAC;IACJ;EACF;EAEQ9D,cAAcA,CAACxH,UAA4D,EAAE;IACnF,MAAMyL,SAAS,GAAG,IAAIC,GAAG,CAAC,CAAC;IAC3B,MAAMC,kBAAkB,GAAG3L,UAAU,CAAC4L,MAAM,CAC1CC,IAAI,IAAI,CAACJ,SAAS,CAACK,GAAG,CAACD,IAAI,CAAC5M,EAAE,CAAC,IAAIwM,SAAS,CAACM,GAAG,CAACF,IAAI,CAAC5M,EAAE,CAC1D,CAAC;IAED,MAAM+M,kBAAkB,GAAG,CAACtM,sCAAa,CAACG,iBAAiB,CAAC;IAE5D,MAAMoM,WAAwB,GAAG,EAAE;IACnCN,kBAAkB,CAACO,OAAO,CAAC,CAAC;MAAEjN,EAAE;MAAE2H,IAAI;MAAE0E;IAAK,CAAC,KAAK;MACjD,IAAI,CAACU,kBAAkB,CAAClM,QAAQ,CAACb,EAAE,CAAC,EAAE;QACpCgN,WAAW,CAACE,IAAI,CAAC;UACflN,EAAE;UACFmN,UAAU,EAAE5M,oCAAW,CAAC6M,oBAAoB,CAACpN,EAAE,CAAC;UAChDwJ,OAAO,EAAEjJ,oCAAW,CAAC8M,iBAAiB,CAACrN,EAAE,CAAC,IAAIqM,IAAI;UAClD3C,QAAQ,EAAE,IAAI,CAAC/K,OAAO,EAAE4N,eAAe,GAAGvM,EAAE,CAAC;UAC7C2H,IAAI,EAAEpH,oCAAW,CAAC+M,iBAAiB,CAACtN,EAAE,CAAC,IAAI2H,IAAI;UAC/ChC,IAAI,EAAEpF,oCAAW,CAACC,iBAAiB,CAACR,EAAE,CAAC,IAAI;QAC7C,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEF,IAAI,CAACuN,aAAa,CAACP,WAAW,CAAC;IAC/B,IAAI,CAACQ,0BAA0B,CAACd,kBAAkB,CAAC;IACnD,IAAI,CAACe,iBAAiB,CAACf,kBAAkB,CAAC;EAC5C;EAEA,MAAcc,0BAA0BA,CACtCzM,UAA4D,EAC5D;IACA,MAAMD,SAAS,GAAGC,UAAU,CAACC,IAAI,CAAC,CAAC;MAAEhB;IAAG,CAAC,KAAKA,EAAE,KAAKS,sCAAa,CAACC,2BAA2B,CAAC;IAC/F,IAAII,SAAS,EAAE;MACb,MAAMY,QAAQ,GAAI,MAAMZ,SAAS,CAACa,WAAW,CAAC,CAAsB;MAEpED,QAAQ,CAACK,MAAM,CAACC,MAAM,CAACC,IAAI,CAACyL,OAAO,CAAC9L,EAAE,CAAC,iBAAiB,EAAE,MAAM;QAC9DF,QAAQ,CAACK,MAAM,CAACC,MAAM,CAACC,IAAI,CAACyL,OAAO,EAAEhM,QAAQ,EAAEE,EAAE,CAAC,SAAS,EAAG+L,OAAqB,IAAK;UACtF,IAAIA,OAAO,EAAEnJ,KAAK,EAAE;YAClB,IAAI,CAACoJ,gBAAgB,CAACD,OAAO,EAAEnJ,KAAK,CAACX,OAAO,CAAC;UAC/C;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF;EAEA,MAAc4J,iBAAiBA,CAAC1M,UAA4D,EAAE;IAC5F,MAAM8M,aAAa,GAAG9M,UAAU,CAACC,IAAI,CAAC,CAAC;MAAEhB;IAAG,CAAC,KAAKA,EAAE,KAAKS,sCAAa,CAACG,iBAAiB,CAAC;IACzF,IAAIiN,aAAa,EAAE;MACjB,MAAMnM,QAAQ,GAAG,MAAMmM,aAAa,CAAClM,WAAW,CAAC,CAAC;MAClD,IAAI,CAACmM,YAAY,CAAC;QAChB9N,EAAE,EAAES,sCAAa,CAACG,iBAAiB;QACnC+E,IAAI,EAAEpF,oCAAW,CAACC,iBAAiB,CAACC,sCAAa,CAACG,iBAAiB,CAAE;QACrE+G,IAAI,EAAEpH,oCAAW,CAAC+M,iBAAiB,CAAC7M,sCAAa,CAACG,iBAAiB,CAAC;QACpEc;MACF,CAAC,CAAC;MACF,IAAI,CAACqM,gBAAgB,CAACF,aAAa,CAAC;IACtC;EACF;EAEA,MAAcE,gBAAgBA,CAACjN,SAAyB,EAAE;IACxD,MAAMkN,kBAA6C,GAAG,MAAM5N,2CAAW,CAAC6N,OAAO,CAC7E,0BACF,CAAC;IAED,IAAID,kBAAkB,KAAK,MAAM,EAAE;MACjC;MACA,KAAK,CAAC/D,UAAU,CAAC,IAAI,CAAC;IACxB;IAEA,MAAMvI,QAAQ,GAAI,MAAMZ,SAAS,CAACa,WAAW,CAAC,CAAyB;IAEvED,QAAQ,CAACwM,qBAAqB,CAAC,YAAY;MACzC,MAAM,IAAAC,eAAS,EAAC,IAAI,CAACrP,WAAW,EAAE;QAAEiC,UAAU,EAAE,CAACD,SAAS;MAAE,CAAC,CAAC;IAChE,CAAC,CAAC;IAEFY,QAAQ,CAAC0M,YAAY,CAAC,YAAY;MAChC,IAAI,CAACR,gBAAgB,CAACtO,kCAAS,CAACC,YAAY,CAAC8O,eAAe,CAAC;MAC7D,IAAI,CAACpE,UAAU,CAAC,KAAK,CAAC;IACxB,CAAC,CAAC;EACJ;AACF;AAACqE,OAAA,CAAA9P,MAAA,GAAAA,MAAA","ignoreList":[]}