@reown/appkit-wagmi-react-native 0.0.0-fix-cover-screen-20250328152136 → 0.0.0-fix-cover-screen-20250502142441

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/lib/commonjs/client.js +516 -0
  2. package/lib/commonjs/client.js.map +1 -0
  3. package/lib/commonjs/connectors/WalletConnectConnector.js +353 -0
  4. package/lib/commonjs/connectors/WalletConnectConnector.js.map +1 -0
  5. package/lib/commonjs/index.js +139 -0
  6. package/lib/commonjs/index.js.map +1 -0
  7. package/lib/commonjs/utils/defaultWagmiConfig.js +46 -0
  8. package/lib/commonjs/utils/defaultWagmiConfig.js.map +1 -0
  9. package/lib/commonjs/utils/helpers.js +63 -0
  10. package/lib/commonjs/utils/helpers.js.map +1 -0
  11. package/lib/module/client.js +510 -0
  12. package/lib/module/client.js.map +1 -0
  13. package/lib/module/connectors/WalletConnectConnector.js +348 -0
  14. package/lib/module/connectors/WalletConnectConnector.js.map +1 -0
  15. package/lib/module/index.js +93 -0
  16. package/lib/module/index.js.map +1 -0
  17. package/lib/module/utils/defaultWagmiConfig.js +40 -0
  18. package/lib/module/utils/defaultWagmiConfig.js.map +1 -0
  19. package/lib/module/utils/helpers.js +53 -0
  20. package/lib/module/utils/helpers.js.map +1 -0
  21. package/lib/typescript/client.d.ts +40 -0
  22. package/lib/typescript/client.d.ts.map +1 -0
  23. package/lib/typescript/connectors/WalletConnectConnector.d.ts +74 -0
  24. package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +1 -0
  25. package/lib/typescript/index.d.ts +26 -0
  26. package/lib/typescript/index.d.ts.map +1 -0
  27. package/lib/typescript/utils/defaultWagmiConfig.d.ts +11 -0
  28. package/lib/typescript/utils/defaultWagmiConfig.d.ts.map +1 -0
  29. package/lib/typescript/utils/helpers.d.ts +18 -0
  30. package/lib/typescript/utils/helpers.d.ts.map +1 -0
  31. package/package.json +5 -5
@@ -0,0 +1,348 @@
1
+ import { SwitchChainError, UserRejectedRequestError, getAddress, numberToHex } from 'viem';
2
+ import { ChainNotConfiguredError, ProviderNotFoundError, createConnector } from '@wagmi/core';
3
+ import { EthereumProvider } from '@walletconnect/ethereum-provider';
4
+
5
+ /**** Types ****/
6
+
7
+ walletConnect.type = 'walletConnect';
8
+ export function walletConnect(parameters) {
9
+ const isNewChainsStale = parameters.isNewChainsStale ?? true;
10
+ let provider_;
11
+ let providerPromise;
12
+ const NAMESPACE = 'eip155';
13
+ let accountsChanged;
14
+ let chainChanged;
15
+ let connect;
16
+ let displayUri;
17
+ let sessionDelete;
18
+ let disconnect;
19
+ return createConnector(config => ({
20
+ id: 'walletConnect',
21
+ name: 'WalletConnect',
22
+ type: walletConnect.type,
23
+ async setup() {
24
+ const provider = await this.getProvider().catch(() => null);
25
+ if (!provider) return;
26
+ if (!connect) {
27
+ connect = this.onConnect.bind(this);
28
+ provider.on('connect', connect);
29
+ }
30
+ if (!sessionDelete) {
31
+ sessionDelete = this.onSessionDelete.bind(this);
32
+ provider.on('session_delete', sessionDelete);
33
+ }
34
+ },
35
+ async connect({
36
+ chainId,
37
+ ...rest
38
+ } = {}) {
39
+ try {
40
+ const provider = await this.getProvider();
41
+ if (!provider) throw new ProviderNotFoundError();
42
+ if (!displayUri) {
43
+ displayUri = this.onDisplayUri;
44
+ provider.on('display_uri', displayUri);
45
+ }
46
+ let targetChainId = chainId;
47
+ if (!targetChainId) {
48
+ const state = (await config.storage?.getItem('state')) ?? {};
49
+ const isChainSupported = config.chains.some(x => x.id === state.chainId);
50
+ if (isChainSupported) targetChainId = state.chainId;else targetChainId = config.chains[0]?.id;
51
+ }
52
+ if (!targetChainId) throw new Error('No chains found on connector.');
53
+ const isChainsStale = await this.isChainsStale();
54
+ // If there is an active session with stale chains, disconnect current session.
55
+ if (provider.session && isChainsStale) await provider.disconnect();
56
+
57
+ // If there isn't an active session or chains are stale, connect.
58
+ if (!provider.session || isChainsStale) {
59
+ const optionalChains = config.chains.filter(chain => chain.id !== targetChainId).map(optionalChain => optionalChain.id);
60
+ await provider.connect({
61
+ optionalChains: [targetChainId, ...optionalChains],
62
+ ...('pairingTopic' in rest ? {
63
+ pairingTopic: rest.pairingTopic
64
+ } : {})
65
+ });
66
+ this.setRequestedChainsIds(config.chains.map(x => x.id));
67
+ }
68
+
69
+ // If session exists and chains are authorized, enable provider for required chain
70
+ const accounts = (await provider.enable()).map(getAddress);
71
+ const currentChainId = await this.getChainId();
72
+ if (displayUri) {
73
+ provider.removeListener('display_uri', displayUri);
74
+ displayUri = undefined;
75
+ }
76
+ if (connect) {
77
+ provider.removeListener('connect', connect);
78
+ connect = undefined;
79
+ }
80
+ if (!accountsChanged) {
81
+ accountsChanged = this.onAccountsChanged.bind(this);
82
+ provider.on('accountsChanged', accountsChanged);
83
+ }
84
+ if (!chainChanged) {
85
+ chainChanged = this.onChainChanged.bind(this);
86
+ provider.on('chainChanged', chainChanged);
87
+ }
88
+ if (!disconnect) {
89
+ disconnect = this.onDisconnect.bind(this);
90
+ provider.on('disconnect', disconnect);
91
+ }
92
+ if (!sessionDelete) {
93
+ sessionDelete = this.onSessionDelete.bind(this);
94
+ provider.on('session_delete', sessionDelete);
95
+ }
96
+ return {
97
+ accounts,
98
+ chainId: currentChainId
99
+ };
100
+ } catch (error) {
101
+ if (/(user rejected|connection request reset)/i.test(error?.message)) {
102
+ throw new UserRejectedRequestError(error);
103
+ }
104
+ throw error;
105
+ }
106
+ },
107
+ async disconnect() {
108
+ const provider = await this.getProvider();
109
+ try {
110
+ await provider?.disconnect();
111
+ } catch (error) {
112
+ if (!/No matching key/i.test(error.message)) throw error;
113
+ } finally {
114
+ if (chainChanged) {
115
+ provider?.removeListener('chainChanged', chainChanged);
116
+ chainChanged = undefined;
117
+ }
118
+ if (disconnect) {
119
+ provider?.removeListener('disconnect', disconnect);
120
+ disconnect = undefined;
121
+ }
122
+ if (!connect) {
123
+ connect = this.onConnect.bind(this);
124
+ provider?.on('connect', connect);
125
+ }
126
+ if (accountsChanged) {
127
+ provider?.removeListener('accountsChanged', accountsChanged);
128
+ accountsChanged = undefined;
129
+ }
130
+ if (sessionDelete) {
131
+ provider?.removeListener('session_delete', sessionDelete);
132
+ sessionDelete = undefined;
133
+ }
134
+ this.setRequestedChainsIds([]);
135
+ }
136
+ },
137
+ async getAccounts() {
138
+ const provider = await this.getProvider();
139
+ return provider.accounts.map(getAddress);
140
+ },
141
+ async getProvider({
142
+ chainId
143
+ } = {}) {
144
+ async function initProvider() {
145
+ const optionalChains = config.chains.map(x => x.id);
146
+ if (!optionalChains.length) return Promise.resolve(undefined);
147
+ const {
148
+ projectId,
149
+ metadata,
150
+ ...params
151
+ } = parameters;
152
+ return await EthereumProvider.init({
153
+ optionalChains,
154
+ projectId,
155
+ rpcMap: Object.fromEntries(config.chains.map(chain => [chain.id, chain.rpcUrls.default.http[0]])),
156
+ showQrModal: false,
157
+ qrModalOptions: undefined,
158
+ disableProviderPing: true,
159
+ metadata,
160
+ ...params
161
+ });
162
+ }
163
+ if (!provider_) {
164
+ if (!providerPromise) providerPromise = initProvider();
165
+ provider_ = await providerPromise;
166
+ provider_?.events.setMaxListeners(Number.POSITIVE_INFINITY);
167
+ }
168
+ if (chainId) await this.switchChain?.({
169
+ chainId
170
+ });
171
+ return provider_;
172
+ },
173
+ async getChainId() {
174
+ const provider = await this.getProvider();
175
+ return provider.chainId;
176
+ },
177
+ async isAuthorized() {
178
+ try {
179
+ const [accounts, provider] = await Promise.all([this.getAccounts(), this.getProvider()]);
180
+
181
+ // If an account does not exist on the session, then the connector is unauthorized.
182
+ if (!accounts.length) return false;
183
+
184
+ // If the chains are stale on the session, then the connector is unauthorized.
185
+ const isChainsStale = await this.isChainsStale();
186
+ if (isChainsStale && provider.session) {
187
+ await provider.disconnect().catch(() => {});
188
+ return false;
189
+ }
190
+ return true;
191
+ } catch {
192
+ return false;
193
+ }
194
+ },
195
+ async switchChain({
196
+ addEthereumChainParameter,
197
+ chainId
198
+ }) {
199
+ const provider = await this.getProvider();
200
+ if (!provider) throw new ProviderNotFoundError();
201
+ const chain = config.chains.find(c => c.id === chainId);
202
+ if (!chain) throw new SwitchChainError(new ChainNotConfiguredError());
203
+ try {
204
+ await Promise.all([new Promise(resolve => {
205
+ const listener = ({
206
+ chainId: currentChainId
207
+ }) => {
208
+ if (currentChainId === chainId) {
209
+ config.emitter.off('change', listener);
210
+ resolve();
211
+ }
212
+ };
213
+ config.emitter.on('change', listener);
214
+ }), provider.request({
215
+ method: 'wallet_switchEthereumChain',
216
+ params: [{
217
+ chainId: numberToHex(chainId)
218
+ }]
219
+ })]);
220
+ const requestedChains = await this.getRequestedChainsIds();
221
+ if (!requestedChains.includes(chainId)) {
222
+ this.setRequestedChainsIds([...requestedChains, chainId]);
223
+ }
224
+ return chain;
225
+ } catch (err) {
226
+ const error = err;
227
+ if (/(user rejected)/i.test(error.message)) throw new UserRejectedRequestError(error);
228
+
229
+ // Indicates chain is not added to provider
230
+ try {
231
+ let blockExplorerUrls;
232
+ if (addEthereumChainParameter?.blockExplorerUrls) blockExplorerUrls = addEthereumChainParameter.blockExplorerUrls;else blockExplorerUrls = chain.blockExplorers?.default.url ? [chain.blockExplorers?.default.url] : [];
233
+ let rpcUrls;
234
+ if (addEthereumChainParameter?.rpcUrls?.length) rpcUrls = addEthereumChainParameter.rpcUrls;else rpcUrls = [...chain.rpcUrls.default.http];
235
+ const addEthereumChain = {
236
+ blockExplorerUrls,
237
+ chainId: numberToHex(chainId),
238
+ chainName: addEthereumChainParameter?.chainName ?? chain.name,
239
+ iconUrls: addEthereumChainParameter?.iconUrls,
240
+ nativeCurrency: addEthereumChainParameter?.nativeCurrency ?? chain.nativeCurrency,
241
+ rpcUrls
242
+ };
243
+ await provider.request({
244
+ method: 'wallet_addEthereumChain',
245
+ params: [addEthereumChain]
246
+ });
247
+ const requestedChains = await this.getRequestedChainsIds();
248
+ this.setRequestedChainsIds([...requestedChains, chainId]);
249
+ return chain;
250
+ } catch (e) {
251
+ throw new UserRejectedRequestError(e);
252
+ }
253
+ }
254
+ },
255
+ onAccountsChanged(accounts) {
256
+ if (accounts.length === 0) this.onDisconnect();else config.emitter.emit('change', {
257
+ accounts: accounts.map(x => getAddress(x))
258
+ });
259
+ },
260
+ onChainChanged(chain) {
261
+ const chainId = Number(chain);
262
+ config.emitter.emit('change', {
263
+ chainId
264
+ });
265
+ },
266
+ async onConnect(connectInfo) {
267
+ const chainId = Number(connectInfo.chainId);
268
+ const accounts = await this.getAccounts();
269
+ config.emitter.emit('connect', {
270
+ accounts,
271
+ chainId
272
+ });
273
+ },
274
+ async onDisconnect(_error) {
275
+ this.setRequestedChainsIds([]);
276
+ config.emitter.emit('disconnect');
277
+ const provider = await this.getProvider();
278
+ if (accountsChanged) {
279
+ provider.removeListener('accountsChanged', accountsChanged);
280
+ accountsChanged = undefined;
281
+ }
282
+ if (chainChanged) {
283
+ provider.removeListener('chainChanged', chainChanged);
284
+ chainChanged = undefined;
285
+ }
286
+ if (disconnect) {
287
+ provider.removeListener('disconnect', disconnect);
288
+ disconnect = undefined;
289
+ }
290
+ if (sessionDelete) {
291
+ provider.removeListener('session_delete', sessionDelete);
292
+ sessionDelete = undefined;
293
+ }
294
+ if (!connect) {
295
+ connect = this.onConnect.bind(this);
296
+ provider.on('connect', connect);
297
+ }
298
+ },
299
+ onDisplayUri(uri) {
300
+ config.emitter.emit('message', {
301
+ type: 'display_uri',
302
+ data: uri
303
+ });
304
+ },
305
+ onSessionDelete() {
306
+ this.onDisconnect();
307
+ },
308
+ getNamespaceChainsIds() {
309
+ if (!provider_) return [];
310
+ const chainIds = provider_.session?.namespaces[NAMESPACE]?.accounts?.map(account => parseInt(account.split(':')[1] || ''));
311
+ return chainIds ?? [];
312
+ },
313
+ getNamespaceMethods() {
314
+ if (!provider_) return [];
315
+ const methods = provider_.session?.namespaces[NAMESPACE]?.methods;
316
+ return methods ?? [];
317
+ },
318
+ async getRequestedChainsIds() {
319
+ return (await config.storage?.getItem(this.requestedChainsStorageKey)) ?? [];
320
+ },
321
+ /**
322
+ * Checks if the target chains match the chains that were
323
+ * initially requested by the connector for the WalletConnect session.
324
+ * If there is a mismatch, this means that the chains on the connector
325
+ * are considered stale, and need to be revalidated at a later point (via
326
+ * connection).
327
+ *
328
+ * There may be a scenario where a dapp adds a chain to the
329
+ * connector later on, however, this chain will not have been approved or rejected
330
+ * by the wallet. In this case, the chain is considered stale.
331
+ */
332
+ async isChainsStale() {
333
+ if (!isNewChainsStale) return false;
334
+ const connectorChains = config.chains.map(x => x.id);
335
+ const namespaceChains = this.getNamespaceChainsIds();
336
+ if (namespaceChains.length && !namespaceChains.some(id => connectorChains.includes(id))) return false;
337
+ const requestedChains = await this.getRequestedChainsIds();
338
+ return !connectorChains.every(id => requestedChains.includes(id));
339
+ },
340
+ async setRequestedChainsIds(chains) {
341
+ await config.storage?.setItem(this.requestedChainsStorageKey, chains);
342
+ },
343
+ get requestedChainsStorageKey() {
344
+ return `${this.id}.requestedChains`;
345
+ }
346
+ }));
347
+ }
348
+ //# sourceMappingURL=WalletConnectConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SwitchChainError","UserRejectedRequestError","getAddress","numberToHex","ChainNotConfiguredError","ProviderNotFoundError","createConnector","EthereumProvider","walletConnect","type","parameters","isNewChainsStale","provider_","providerPromise","NAMESPACE","accountsChanged","chainChanged","connect","displayUri","sessionDelete","disconnect","config","id","name","setup","provider","getProvider","catch","onConnect","bind","on","onSessionDelete","chainId","rest","onDisplayUri","targetChainId","state","storage","getItem","isChainSupported","chains","some","x","Error","isChainsStale","session","optionalChains","filter","chain","map","optionalChain","pairingTopic","setRequestedChainsIds","accounts","enable","currentChainId","getChainId","removeListener","undefined","onAccountsChanged","onChainChanged","onDisconnect","error","test","message","getAccounts","initProvider","length","Promise","resolve","projectId","metadata","params","init","rpcMap","Object","fromEntries","rpcUrls","default","http","showQrModal","qrModalOptions","disableProviderPing","events","setMaxListeners","Number","POSITIVE_INFINITY","switchChain","isAuthorized","all","addEthereumChainParameter","find","c","listener","emitter","off","request","method","requestedChains","getRequestedChainsIds","includes","err","blockExplorerUrls","blockExplorers","url","addEthereumChain","chainName","iconUrls","nativeCurrency","e","emit","connectInfo","_error","uri","data","getNamespaceChainsIds","chainIds","namespaces","account","parseInt","split","getNamespaceMethods","methods","requestedChainsStorageKey","connectorChains","namespaceChains","every","setItem"],"sourceRoot":"../../../src","sources":["connectors/WalletConnectConnector.ts"],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ import '@walletconnect/react-native-compat';
2
+ import { useEffect, useState, useSyncExternalStore } from 'react';
3
+ export { AccountButton, AppKitButton, ConnectButton, NetworkButton, AppKit } from '@reown/appkit-scaffold-react-native';
4
+ import { ConstantsUtil } from '@reown/appkit-common-react-native';
5
+ export { defaultWagmiConfig } from './utils/defaultWagmiConfig';
6
+ import { AppKit } from './client';
7
+
8
+ // -- Types -------------------------------------------------------------------
9
+
10
+ // -- Setup -------------------------------------------------------------------
11
+ let modal;
12
+ export function createAppKit(options) {
13
+ if (!modal) {
14
+ modal = new AppKit({
15
+ ...options,
16
+ _sdkVersion: `react-native-wagmi-${ConstantsUtil.VERSION}`
17
+ });
18
+ }
19
+ return modal;
20
+ }
21
+
22
+ // -- Hooks -------------------------------------------------------------------
23
+ export function useAppKit() {
24
+ if (!modal) {
25
+ throw new Error('Please call "createAppKit" before using "useAppKit" hook');
26
+ }
27
+ async function open(options) {
28
+ await modal?.open(options);
29
+ }
30
+ async function close() {
31
+ await modal?.close();
32
+ }
33
+ return {
34
+ open,
35
+ close
36
+ };
37
+ }
38
+ export function useAppKitState() {
39
+ if (!modal) {
40
+ throw new Error('Please call "createAppKit" before using "useAppKitState" hook');
41
+ }
42
+ const [state, setState] = useState(modal.getState());
43
+ useEffect(() => {
44
+ const unsubscribe = modal?.subscribeState(newState => {
45
+ if (newState) setState({
46
+ ...newState
47
+ });
48
+ });
49
+ return () => {
50
+ unsubscribe?.();
51
+ };
52
+ }, []);
53
+ return state;
54
+ }
55
+ export function useWalletInfo() {
56
+ if (!modal) {
57
+ throw new Error('Please call "createAppKit" before using "useWalletInfo" hook');
58
+ }
59
+ const walletInfo = useSyncExternalStore(modal.subscribeWalletInfo, modal.getWalletInfo, modal.getWalletInfo);
60
+ return {
61
+ walletInfo
62
+ };
63
+ }
64
+ export function useAppKitEvents(callback) {
65
+ if (!modal) {
66
+ throw new Error('Please call "createAppKit" before using "useAppKitEvents" hook');
67
+ }
68
+ const [event, setEvents] = useState(modal.getEvent());
69
+ useEffect(() => {
70
+ const unsubscribe = modal?.subscribeEvents(newEvent => {
71
+ setEvents({
72
+ ...newEvent
73
+ });
74
+ callback?.(newEvent);
75
+ });
76
+ return () => {
77
+ unsubscribe?.();
78
+ };
79
+ }, [callback]);
80
+ return event;
81
+ }
82
+ export function useAppKitEventSubscription(event, callback) {
83
+ if (!modal) {
84
+ throw new Error('Please call "createAppKit" before using "useAppKitEventSubscription" hook');
85
+ }
86
+ useEffect(() => {
87
+ const unsubscribe = modal?.subscribeEvent(event, callback);
88
+ return () => {
89
+ unsubscribe?.();
90
+ };
91
+ }, [callback, event]);
92
+ }
93
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useState","useSyncExternalStore","AccountButton","AppKitButton","ConnectButton","NetworkButton","AppKit","ConstantsUtil","defaultWagmiConfig","modal","createAppKit","options","_sdkVersion","VERSION","useAppKit","Error","open","close","useAppKitState","state","setState","getState","unsubscribe","subscribeState","newState","useWalletInfo","walletInfo","subscribeWalletInfo","getWalletInfo","useAppKitEvents","callback","event","setEvents","getEvent","subscribeEvents","newEvent","useAppKitEventSubscription","subscribeEvent"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { createConfig, createStorage } from 'wagmi';
2
+ import { StorageUtil } from '@reown/appkit-scaffold-utils-react-native';
3
+ import { walletConnect } from '../connectors/WalletConnectConnector';
4
+ import { getTransport } from './helpers';
5
+ export function defaultWagmiConfig({
6
+ projectId,
7
+ chains,
8
+ metadata,
9
+ enableWalletConnect = true,
10
+ extraConnectors,
11
+ ...wagmiConfig
12
+ }) {
13
+ const connectors = [];
14
+ const transportsArr = chains.map(chain => [chain.id, getTransport({
15
+ chainId: chain.id,
16
+ projectId
17
+ })]);
18
+ const transports = Object.fromEntries(transportsArr);
19
+ const storage = createStorage({
20
+ storage: StorageUtil
21
+ });
22
+ if (enableWalletConnect) {
23
+ connectors.push(walletConnect({
24
+ projectId,
25
+ metadata
26
+ }));
27
+ }
28
+ if (extraConnectors) {
29
+ connectors.push(...extraConnectors);
30
+ }
31
+ return createConfig({
32
+ chains,
33
+ connectors,
34
+ transports,
35
+ storage,
36
+ multiInjectedProviderDiscovery: false,
37
+ ...wagmiConfig
38
+ });
39
+ }
40
+ //# sourceMappingURL=defaultWagmiConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createConfig","createStorage","StorageUtil","walletConnect","getTransport","defaultWagmiConfig","projectId","chains","metadata","enableWalletConnect","extraConnectors","wagmiConfig","connectors","transportsArr","map","chain","id","chainId","transports","Object","fromEntries","storage","push","multiInjectedProviderDiscovery"],"sourceRoot":"../../../src","sources":["utils/defaultWagmiConfig.ts"],"mappings":"AAAA,SACEA,YAAY,EACZC,aAAa,QAGR,OAAO;AAEd,SAASC,WAAW,QAAQ,2CAA2C;AAEvE,SAASC,aAAa,QAAQ,sCAAsC;AACpE,SAASC,YAAY,QAAQ,WAAW;AAUxC,OAAO,SAASC,kBAAkBA,CAAC;EACjCC,SAAS;EACTC,MAAM;EACNC,QAAQ;EACRC,mBAAmB,GAAG,IAAI;EAC1BC,eAAe;EACf,GAAGC;AACU,CAAC,EAAE;EAChB,MAAMC,UAA+B,GAAG,EAAE;EAC1C,MAAMC,aAAa,GAAGN,MAAM,CAACO,GAAG,CAACC,KAAK,IAAI,CACxCA,KAAK,CAACC,EAAE,EACRZ,YAAY,CAAC;IAAEa,OAAO,EAAEF,KAAK,CAACC,EAAE;IAAEV;EAAU,CAAC,CAAC,CAC/C,CAAC;EACF,MAAMY,UAAU,GAAGC,MAAM,CAACC,WAAW,CAACP,aAAa,CAAC;EACpD,MAAMQ,OAAO,GAAGpB,aAAa,CAAC;IAAEoB,OAAO,EAAEnB;EAAY,CAAC,CAAC;EAEvD,IAAIO,mBAAmB,EAAE;IACvBG,UAAU,CAACU,IAAI,CAACnB,aAAa,CAAC;MAAEG,SAAS;MAAEE;IAAS,CAAC,CAAC,CAAC;EACzD;EAEA,IAAIE,eAAe,EAAE;IACnBE,UAAU,CAACU,IAAI,CAAC,GAAGZ,eAAe,CAAC;EACrC;EAEA,OAAOV,YAAY,CAAC;IAClBO,MAAM;IACNK,UAAU;IACVM,UAAU;IACVG,OAAO;IACPE,8BAA8B,EAAE,KAAK;IACrC,GAAGZ;EACL,CAAC,CAAC;AACJ"}
@@ -0,0 +1,53 @@
1
+ import { CoreHelperUtil } from '@reown/appkit-scaffold-react-native';
2
+ import { PresetsUtil, ConstantsUtil } from '@reown/appkit-common-react-native';
3
+ import { http } from 'viem';
4
+ export function getCaipDefaultChain(chain) {
5
+ if (!chain) {
6
+ return undefined;
7
+ }
8
+ return {
9
+ id: `${ConstantsUtil.EIP155}:${chain.id}`,
10
+ name: chain.name,
11
+ imageId: PresetsUtil.EIP155NetworkImageIds[chain.id]
12
+ };
13
+ }
14
+ export async function getWalletConnectCaipNetworks(connector) {
15
+ if (!connector) {
16
+ throw new Error('networkControllerClient:getApprovedCaipNetworks - connector is undefined');
17
+ }
18
+ const provider = await connector?.getProvider();
19
+ const ns = provider?.signer?.session?.namespaces;
20
+ const nsMethods = ns?.[ConstantsUtil.EIP155]?.methods;
21
+ const nsChains = ns?.[ConstantsUtil.EIP155]?.chains;
22
+ return {
23
+ supportsAllNetworks: Boolean(nsMethods?.includes(ConstantsUtil.ADD_CHAIN_METHOD)),
24
+ approvedCaipNetworkIds: nsChains
25
+ };
26
+ }
27
+ export function getAuthCaipNetworks() {
28
+ return {
29
+ supportsAllNetworks: false,
30
+ approvedCaipNetworkIds: PresetsUtil.RpcChainIds.map(id => `${ConstantsUtil.EIP155}:${id}`)
31
+ };
32
+ }
33
+ export function getTransport({
34
+ chainId,
35
+ projectId
36
+ }) {
37
+ const RPC_URL = CoreHelperUtil.getBlockchainApiUrl();
38
+ if (!PresetsUtil.RpcChainIds.includes(chainId)) {
39
+ return http();
40
+ }
41
+ return http(`${RPC_URL}/v1/?chainId=${ConstantsUtil.EIP155}:${chainId}&projectId=${projectId}`);
42
+ }
43
+ export function requireCaipAddress(caipAddress) {
44
+ if (!caipAddress) {
45
+ throw new Error('No CAIP address provided');
46
+ }
47
+ const account = caipAddress.split(':')[2];
48
+ if (!account) {
49
+ throw new Error('Invalid CAIP address');
50
+ }
51
+ return account;
52
+ }
53
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CoreHelperUtil","PresetsUtil","ConstantsUtil","http","getCaipDefaultChain","chain","undefined","id","EIP155","name","imageId","EIP155NetworkImageIds","getWalletConnectCaipNetworks","connector","Error","provider","getProvider","ns","signer","session","namespaces","nsMethods","methods","nsChains","chains","supportsAllNetworks","Boolean","includes","ADD_CHAIN_METHOD","approvedCaipNetworkIds","getAuthCaipNetworks","RpcChainIds","map","getTransport","chainId","projectId","RPC_URL","getBlockchainApiUrl","requireCaipAddress","caipAddress","account","split"],"sourceRoot":"../../../src","sources":["utils/helpers.ts"],"mappings":"AAAA,SACEA,cAAc,QAGT,qCAAqC;AAC5C,SAASC,WAAW,EAAEC,aAAa,QAAQ,mCAAmC;AAI9E,SAASC,IAAI,QAAkB,MAAM;AAErC,OAAO,SAASC,mBAAmBA,CAACC,KAA2C,EAAE;EAC/E,IAAI,CAACA,KAAK,EAAE;IACV,OAAOC,SAAS;EAClB;EAEA,OAAO;IACLC,EAAE,EAAG,GAAEL,aAAa,CAACM,MAAO,IAAGH,KAAK,CAACE,EAAG,EAAC;IACzCE,IAAI,EAAEJ,KAAK,CAACI,IAAI;IAChBC,OAAO,EAAET,WAAW,CAACU,qBAAqB,CAACN,KAAK,CAACE,EAAE;EACrD,CAAC;AACH;AAEA,OAAO,eAAeK,4BAA4BA,CAACC,SAAqB,EAAE;EACxE,IAAI,CAACA,SAAS,EAAE;IACd,MAAM,IAAIC,KAAK,CAAC,0EAA0E,CAAC;EAC7F;EACA,MAAMC,QAAQ,GAAI,MAAMF,SAAS,EAAEG,WAAW,CAAC,CAE9C;EACD,MAAMC,EAAE,GAAGF,QAAQ,EAAEG,MAAM,EAAEC,OAAO,EAAEC,UAAU;EAChD,MAAMC,SAAS,GAAGJ,EAAE,GAAGf,aAAa,CAACM,MAAM,CAAC,EAAEc,OAAO;EACrD,MAAMC,QAAQ,GAAGN,EAAE,GAAGf,aAAa,CAACM,MAAM,CAAC,EAAEgB,MAAyB;EAEtE,OAAO;IACLC,mBAAmB,EAAEC,OAAO,CAACL,SAAS,EAAEM,QAAQ,CAACzB,aAAa,CAAC0B,gBAAgB,CAAC,CAAC;IACjFC,sBAAsB,EAAEN;EAC1B,CAAC;AACH;AAEA,OAAO,SAASO,mBAAmBA,CAAA,EAAG;EACpC,OAAO;IACLL,mBAAmB,EAAE,KAAK;IAC1BI,sBAAsB,EAAE5B,WAAW,CAAC8B,WAAW,CAACC,GAAG,CACjDzB,EAAE,IAAK,GAAEL,aAAa,CAACM,MAAO,IAAGD,EAAG,EACtC;EACF,CAAC;AACH;AAEA,OAAO,SAAS0B,YAAYA,CAAC;EAAEC,OAAO;EAAEC;AAAkD,CAAC,EAAE;EAC3F,MAAMC,OAAO,GAAGpC,cAAc,CAACqC,mBAAmB,CAAC,CAAC;EAEpD,IAAI,CAACpC,WAAW,CAAC8B,WAAW,CAACJ,QAAQ,CAACO,OAAO,CAAC,EAAE;IAC9C,OAAO/B,IAAI,CAAC,CAAC;EACf;EAEA,OAAOA,IAAI,CAAE,GAAEiC,OAAQ,gBAAelC,aAAa,CAACM,MAAO,IAAG0B,OAAQ,cAAaC,SAAU,EAAC,CAAC;AACjG;AAEA,OAAO,SAASG,kBAAkBA,CAACC,WAAmB,EAAE;EACtD,IAAI,CAACA,WAAW,EAAE;IAChB,MAAM,IAAIzB,KAAK,CAAC,0BAA0B,CAAC;EAC7C;EACA,MAAM0B,OAAO,GAAGD,WAAW,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAQ;EAChD,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAI1B,KAAK,CAAC,sBAAsB,CAAC;EACzC;EAEA,OAAO0B,OAAO;AAChB"}
@@ -0,0 +1,40 @@
1
+ import { type Chain } from '@wagmi/core/chains';
2
+ import { type LibraryOptions, type PublicStateControllerState, type Token, AppKitScaffold } from '@reown/appkit-scaffold-react-native';
3
+ import { type AppKitSIWEClient } from '@reown/appkit-siwe-react-native';
4
+ import { defaultWagmiConfig } from './utils/defaultWagmiConfig';
5
+ type WagmiConfig = ReturnType<typeof defaultWagmiConfig>;
6
+ export interface AppKitClientOptions extends Omit<LibraryOptions, 'defaultChain' | 'tokens'> {
7
+ wagmiConfig: WagmiConfig;
8
+ siweConfig?: AppKitSIWEClient;
9
+ defaultChain?: Chain;
10
+ chainImages?: Record<number, string>;
11
+ connectorImages?: Record<string, string>;
12
+ tokens?: Record<number, Token>;
13
+ }
14
+ export type AppKitOptions = Omit<AppKitClientOptions, '_sdkVersion'>;
15
+ interface AppKitState extends PublicStateControllerState {
16
+ selectedNetworkId: number | undefined;
17
+ }
18
+ export declare class AppKit extends AppKitScaffold {
19
+ private hasSyncedConnectedAccount;
20
+ private options;
21
+ private wagmiConfig;
22
+ constructor(options: AppKitClientOptions);
23
+ getState(): {
24
+ selectedNetworkId: number | undefined;
25
+ open: boolean;
26
+ };
27
+ subscribeState(callback: (state: AppKitState) => void): () => void;
28
+ private syncRequestedNetworks;
29
+ private syncAccount;
30
+ private syncNetwork;
31
+ private syncProfile;
32
+ private syncBalance;
33
+ private syncConnectedWalletInfo;
34
+ private syncConnectors;
35
+ private syncWalletConnectListeners;
36
+ private syncAuthConnector;
37
+ private addAuthListeners;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAW,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EAML,KAAK,cAAc,EAEnB,KAAK,0BAA0B,EAE/B,KAAK,KAAK,EACV,cAAc,EAIf,MAAM,qCAAqC,CAAC;AAU7C,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEzD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,QAAQ,CAAC;IAC1F,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAGrE,UAAU,WAAY,SAAQ,0BAA0B;IACtD,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAGD,qBAAa,MAAO,SAAQ,cAAc;IACxC,OAAO,CAAC,yBAAyB,CAAS;IAE1C,OAAO,CAAC,OAAO,CAA8C;IAE7D,OAAO,CAAC,WAAW,CAAc;gBAEd,OAAO,EAAE,mBAAmB;IA6S/B,QAAQ;;;;IAUR,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI;IAUrE,OAAO,CAAC,qBAAqB;YAaf,WAAW;YAgCX,WAAW;YA8BX,WAAW;YA8BX,WAAW;YAoBX,uBAAuB;IAyBrC,OAAO,CAAC,cAAc;YA2BR,0BAA0B;YAiB1B,iBAAiB;YAcjB,gBAAgB;CAqB/B"}