@reown/appkit-wagmi-react-native 0.0.0-feat-onramp-20250409135734 → 0.0.0-feat-multichain-20250512202036

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 (50) hide show
  1. package/lib/commonjs/adapter.js +151 -0
  2. package/lib/commonjs/adapter.js.map +1 -0
  3. package/lib/commonjs/connectors/UniversalConnector.js +216 -0
  4. package/lib/commonjs/connectors/UniversalConnector.js.map +1 -0
  5. package/lib/commonjs/index.js +3 -129
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/utils/helpers.js +2 -45
  8. package/lib/commonjs/utils/helpers.js.map +1 -1
  9. package/lib/module/adapter.js +144 -0
  10. package/lib/module/adapter.js.map +1 -0
  11. package/lib/module/connectors/UniversalConnector.js +210 -0
  12. package/lib/module/connectors/UniversalConnector.js.map +1 -0
  13. package/lib/module/index.js +2 -92
  14. package/lib/module/index.js.map +1 -1
  15. package/lib/module/utils/helpers.js +1 -40
  16. package/lib/module/utils/helpers.js.map +1 -1
  17. package/lib/typescript/adapter.d.ts +25 -0
  18. package/lib/typescript/adapter.d.ts.map +1 -0
  19. package/lib/typescript/connectors/UniversalConnector.d.ts +5 -0
  20. package/lib/typescript/connectors/UniversalConnector.d.ts.map +1 -0
  21. package/lib/typescript/index.d.ts +2 -25
  22. package/lib/typescript/index.d.ts.map +1 -1
  23. package/lib/typescript/utils/helpers.d.ts +0 -13
  24. package/lib/typescript/utils/helpers.d.ts.map +1 -1
  25. package/package.json +5 -5
  26. package/src/adapter.ts +192 -0
  27. package/src/connectors/UniversalConnector.ts +224 -0
  28. package/src/index.tsx +2 -122
  29. package/src/utils/helpers.ts +2 -59
  30. package/lib/commonjs/client.js +0 -516
  31. package/lib/commonjs/client.js.map +0 -1
  32. package/lib/commonjs/connectors/WalletConnectConnector.js +0 -353
  33. package/lib/commonjs/connectors/WalletConnectConnector.js.map +0 -1
  34. package/lib/commonjs/utils/defaultWagmiConfig.js +0 -46
  35. package/lib/commonjs/utils/defaultWagmiConfig.js.map +0 -1
  36. package/lib/module/client.js +0 -510
  37. package/lib/module/client.js.map +0 -1
  38. package/lib/module/connectors/WalletConnectConnector.js +0 -348
  39. package/lib/module/connectors/WalletConnectConnector.js.map +0 -1
  40. package/lib/module/utils/defaultWagmiConfig.js +0 -40
  41. package/lib/module/utils/defaultWagmiConfig.js.map +0 -1
  42. package/lib/typescript/client.d.ts +0 -40
  43. package/lib/typescript/client.d.ts.map +0 -1
  44. package/lib/typescript/connectors/WalletConnectConnector.d.ts +0 -74
  45. package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +0 -1
  46. package/lib/typescript/utils/defaultWagmiConfig.d.ts +0 -11
  47. package/lib/typescript/utils/defaultWagmiConfig.d.ts.map +0 -1
  48. package/src/client.ts +0 -644
  49. package/src/connectors/WalletConnectConnector.ts +0 -469
  50. package/src/utils/defaultWagmiConfig.ts +0 -53
@@ -0,0 +1,144 @@
1
+ import { EVMAdapter } from '@reown/appkit-common-react-native';
2
+ import { createConfig, getBalance as getBalanceWagmi, switchChain as switchChainWagmi, disconnect as disconnectWagmiCore, connect as connectWagmi } from '@wagmi/core';
3
+ import { getTransport } from './utils/helpers';
4
+ import { formatUnits } from 'viem';
5
+ import { UniversalConnector } from './connectors/UniversalConnector';
6
+ export class WagmiAdapter extends EVMAdapter {
7
+ static supportedNamespace = 'eip155';
8
+ constructor(configParams) {
9
+ super({
10
+ projectId: configParams.projectId,
11
+ supportedNamespace: WagmiAdapter.supportedNamespace
12
+ });
13
+ this.wagmiChains = configParams.networks;
14
+ this.wagmiConfig = this.createWagmiInternalConfig(configParams);
15
+ }
16
+ createWagmiInternalConfig(configParams) {
17
+ // Connectors are typically added via wagmiConfig.connectors, but here AppKit manages the connection.
18
+ // We'll use the `connect` action with our dynamically created connector instance.
19
+ // So, the `connectors` array for createConfig can be empty and is added later.
20
+ const initialConnectors = [];
21
+ const transportsArr = configParams.networks.map(chain => [chain.id, getTransport({
22
+ chainId: chain.id,
23
+ projectId: configParams.projectId
24
+ })]);
25
+ const transports = Object.fromEntries(transportsArr);
26
+ return createConfig({
27
+ chains: configParams.networks,
28
+ connectors: initialConnectors,
29
+ // Empty, as we connect programmatically
30
+ transports,
31
+ multiInjectedProviderDiscovery: false
32
+ });
33
+ }
34
+ async switchNetwork(network) {
35
+ if (!this.wagmiConfigConnector) {
36
+ throw new Error('WagmiAdapter: AppKit connector not set or not connected via Wagmi.');
37
+ }
38
+ await switchChainWagmi(this.wagmiConfig, {
39
+ chainId: network.id,
40
+ connector: this.wagmiConfigConnector
41
+ });
42
+ }
43
+ async getBalance(params) {
44
+ const {
45
+ network,
46
+ address
47
+ } = params;
48
+ if (!this.connector) throw new Error('No active AppKit connector (EVMAdapter.connector)');
49
+ if (!network) throw new Error('No network provided');
50
+ if (!this.wagmiConfigConnector) {
51
+ throw new Error('WagmiAdapter: AppKit connector not properly configured with Wagmi.');
52
+ }
53
+ const balanceAddress = address || this.getAccounts()?.find(acc => acc.includes(network.id.toString()));
54
+ if (!balanceAddress) {
55
+ return Promise.resolve({
56
+ amount: '0.00',
57
+ symbol: network.nativeCurrency.symbol || 'ETH'
58
+ });
59
+ }
60
+ const accountHex = balanceAddress.split(':')[2];
61
+ const token = network?.caipNetworkId && params.tokens?.[network.caipNetworkId]?.address;
62
+ const balance = await getBalanceWagmi(this.wagmiConfig, {
63
+ address: accountHex,
64
+ chainId: network.id,
65
+ token
66
+ });
67
+ const formattedBalance = {
68
+ amount: formatUnits(balance.value, balance.decimals),
69
+ symbol: balance.symbol,
70
+ contractAddress: token ? `${network.caipNetworkId}:${token}` : undefined
71
+ };
72
+ this.emit('balanceChanged', {
73
+ namespace: this.getSupportedNamespace(),
74
+ address: balanceAddress,
75
+ balance: formattedBalance
76
+ });
77
+ return Promise.resolve(formattedBalance);
78
+ }
79
+ getAccounts() {
80
+ if (!this.connector) {
81
+ return undefined;
82
+ }
83
+ const namespaces = this.connector.getNamespaces();
84
+ if (!namespaces) {
85
+ return undefined;
86
+ }
87
+ const supportedNamespaceKey = this.getSupportedNamespace();
88
+ const accountsForNamespace = namespaces[supportedNamespaceKey];
89
+ return accountsForNamespace?.accounts;
90
+ }
91
+ async disconnect() {
92
+ if (this.wagmiConfigConnector) {
93
+ await disconnectWagmiCore(this.wagmiConfig, {
94
+ connector: this.wagmiConfigConnector
95
+ });
96
+ this.wagmiConfigConnector = undefined;
97
+ } else if (this.connector) {
98
+ await this.connector.disconnect();
99
+ this.onDisconnect();
100
+ }
101
+ const evmAdapterInstance = this;
102
+ if ('connector' in evmAdapterInstance) {
103
+ evmAdapterInstance.connector = undefined;
104
+ }
105
+ }
106
+ async request(method, params) {
107
+ if (!this.connector) throw new Error('WagmiAdapter: No active AppKit connector');
108
+ const provider = this.connector.getProvider();
109
+ return provider.request({
110
+ method,
111
+ params
112
+ });
113
+ }
114
+ getSupportedNamespace() {
115
+ return WagmiAdapter.supportedNamespace;
116
+ }
117
+ setConnector(_connector) {
118
+ super.setConnector(_connector);
119
+ if (_connector && this.wagmiChains) {
120
+ if (!this.wagmiConfigConnector) {
121
+ // Manually add the connector to the wagmiConfig
122
+ const connectorInstance = this.wagmiConfig._internal.connectors.setup(UniversalConnector(_connector));
123
+ this.wagmiConfig._internal.connectors.setState(prev => [...prev, connectorInstance]);
124
+ this.wagmiConfigConnector = connectorInstance;
125
+ connectorInstance.emitter.on('message', ({
126
+ type
127
+ }) => {
128
+ if (type === 'externalDisconnect') {
129
+ this.onDisconnect();
130
+ this.wagmiConfigConnector = undefined;
131
+ }
132
+ });
133
+ try {
134
+ connectWagmi(this.wagmiConfig, {
135
+ connector: connectorInstance
136
+ });
137
+ } catch (error) {
138
+ this.wagmiConfigConnector = undefined;
139
+ }
140
+ }
141
+ }
142
+ }
143
+ }
144
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["EVMAdapter","createConfig","getBalance","getBalanceWagmi","switchChain","switchChainWagmi","disconnect","disconnectWagmiCore","connect","connectWagmi","getTransport","formatUnits","UniversalConnector","WagmiAdapter","supportedNamespace","constructor","configParams","projectId","wagmiChains","networks","wagmiConfig","createWagmiInternalConfig","initialConnectors","transportsArr","map","chain","id","chainId","transports","Object","fromEntries","chains","connectors","multiInjectedProviderDiscovery","switchNetwork","network","wagmiConfigConnector","Error","connector","params","address","balanceAddress","getAccounts","find","acc","includes","toString","Promise","resolve","amount","symbol","nativeCurrency","accountHex","split","token","caipNetworkId","tokens","balance","formattedBalance","value","decimals","contractAddress","undefined","emit","namespace","getSupportedNamespace","namespaces","getNamespaces","supportedNamespaceKey","accountsForNamespace","accounts","onDisconnect","evmAdapterInstance","request","method","provider","getProvider","setConnector","_connector","connectorInstance","_internal","setup","setState","prev","emitter","on","type","error"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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"}
@@ -0,0 +1,210 @@
1
+ import { getAddress, numberToHex, SwitchChainError, UserRejectedRequestError } from 'viem';
2
+ import { ChainNotConfiguredError, createConnector, ProviderNotFoundError } from 'wagmi';
3
+ export function UniversalConnector(appKitProvidedConnector) {
4
+ let provider;
5
+ let accountsChangedHandler;
6
+ let chainChangedHandler;
7
+ let disconnectHandler;
8
+ return createConnector(config => ({
9
+ id: 'walletconnect',
10
+ name: 'WalletConnect',
11
+ type: 'walletconnect',
12
+ ready: !!appKitProvidedConnector.getProvider(),
13
+ async setup() {
14
+ provider = appKitProvidedConnector.getProvider();
15
+ // appkitConnector = appKitProvidedConnector;
16
+ if (provider?.on) {
17
+ accountsChangedHandler = accounts => {
18
+ const hexAccounts = accounts.map(acc => getAddress(acc));
19
+ config.emitter.emit('change', {
20
+ accounts: hexAccounts
21
+ });
22
+ if (hexAccounts.length === 0) {
23
+ config.emitter.emit('disconnect');
24
+ }
25
+ };
26
+ chainChangedHandler = chainId => {
27
+ const newChainId = typeof chainId === 'string' ? parseInt(chainId, 10) : chainId;
28
+ config.emitter.emit('change', {
29
+ chainId: newChainId
30
+ });
31
+ };
32
+ disconnectHandler = error => {
33
+ config.emitter.emit('disconnect');
34
+ if (error) config.emitter.emit('error', {
35
+ error
36
+ });
37
+ };
38
+ if (accountsChangedHandler) provider.on('accountsChanged', accountsChangedHandler);
39
+ if (chainChangedHandler) provider.on('chainChanged', chainChangedHandler);
40
+ if (disconnectHandler) provider.on('disconnect', disconnectHandler);
41
+ if (disconnectHandler) provider.on('session_delete', disconnectHandler);
42
+ }
43
+ },
44
+ async connect({
45
+ chainId
46
+ } = {}) {
47
+ try {
48
+ const _provider = await this.getProvider();
49
+ if (!_provider) throw new ProviderNotFoundError();
50
+
51
+ // AppKit connector is already connected or handles its own connection.
52
+ // We just need to sync its state with Wagmi.
53
+ const accountAddresses = await this.getAccounts();
54
+ if (!accountAddresses || accountAddresses.length === 0) {
55
+ throw new UserRejectedRequestError(new Error('No accounts found or user rejected connection via AppKit.'));
56
+ }
57
+ let currentChainId = await this.getChainId();
58
+
59
+ // Handle chain switching if requested and different
60
+ if (chainId && currentChainId !== chainId) {
61
+ await this.switchChain?.({
62
+ chainId
63
+ });
64
+ currentChainId = chainId;
65
+ }
66
+ this.ready = true;
67
+ return {
68
+ accounts: accountAddresses,
69
+ chainId: currentChainId
70
+ };
71
+ } catch (error) {
72
+ if (error instanceof UserRejectedRequestError) throw error;
73
+ throw new UserRejectedRequestError(error); // Generalize other errors as user rejection for simplicity
74
+ }
75
+ },
76
+
77
+ async disconnect() {
78
+ await appKitProvidedConnector.disconnect();
79
+ config.emitter.emit('message', {
80
+ type: 'externalDisconnect'
81
+ });
82
+ if (provider?.off && accountsChangedHandler && chainChangedHandler && disconnectHandler) {
83
+ provider.off('accountsChanged', accountsChangedHandler);
84
+ provider.off('chainChanged', chainChangedHandler);
85
+ provider.off('disconnect', disconnectHandler);
86
+ provider.off('session_delete', disconnectHandler);
87
+ accountsChangedHandler = undefined;
88
+ chainChangedHandler = undefined;
89
+ disconnectHandler = undefined;
90
+ }
91
+ this.ready = false;
92
+ },
93
+ async getAccounts() {
94
+ const namespaces = appKitProvidedConnector.getNamespaces();
95
+ // @ts-ignore
96
+ const eip155Accounts = namespaces?.eip155?.accounts;
97
+ if (!eip155Accounts) return [];
98
+ return eip155Accounts.map(caipAddr => {
99
+ const parts = caipAddr.split(':');
100
+ return parts.length === 3 ? parts[2] : null;
101
+ }).filter(addrPart => !!addrPart).map(addrPart => getAddress(addrPart));
102
+ },
103
+ async getChainId() {
104
+ const _provider = appKitProvidedConnector.getProvider();
105
+ if (_provider) {
106
+ try {
107
+ const chainId = await _provider.request({
108
+ method: 'eth_chainId'
109
+ });
110
+ return parseInt(chainId, 10);
111
+ } catch (e) {
112
+ // console.warn("Could not get chainId from provider", e);
113
+ }
114
+ }
115
+ // Fallback: Try to get from CAIP accounts if available
116
+ const namespaces = appKitProvidedConnector.getNamespaces();
117
+ // @ts-ignore
118
+ const eip155Accounts = namespaces?.eip155?.accounts;
119
+ if (eip155Accounts && eip155Accounts.length > 0) {
120
+ const parts = eip155Accounts[0]?.split(':');
121
+ if (parts && parts.length > 1 && typeof parts[1] === 'string') {
122
+ const chainIdNum = parseInt(parts[1], 10);
123
+ if (!isNaN(chainIdNum)) {
124
+ return chainIdNum;
125
+ }
126
+ }
127
+ }
128
+ if (config.chains && config.chains.length > 0) return config.chains[0].id;
129
+ throw new Error('Unable to determine chainId.');
130
+ },
131
+ async getProvider() {
132
+ if (!provider) {
133
+ provider = appKitProvidedConnector.getProvider();
134
+ }
135
+ return Promise.resolve(provider);
136
+ },
137
+ async isAuthorized() {
138
+ try {
139
+ const accounts = await this.getAccounts();
140
+ return !!(accounts && accounts.length > 0);
141
+ } catch {
142
+ return false;
143
+ }
144
+ },
145
+ async switchChain({
146
+ chainId
147
+ }) {
148
+ const _provider = await this.getProvider();
149
+ if (!_provider) throw new Error('Provider not available for switching chain.');
150
+ const currentChainId = await this.getChainId();
151
+ if (currentChainId === chainId) return config.chains.find(c => c.id === chainId);
152
+ try {
153
+ await _provider.request({
154
+ method: 'wallet_switchEthereumChain',
155
+ params: [{
156
+ chainId: numberToHex(chainId)
157
+ }]
158
+ });
159
+ config.emitter.emit('change', {
160
+ chainId
161
+ });
162
+ return config.chains.find(c => c.id === chainId);
163
+ } catch (error) {
164
+ const chain = config.chains.find(c => c.id === chainId);
165
+ // Check if chain is not configured
166
+ if (!chain) throw new SwitchChainError(new ChainNotConfiguredError());
167
+
168
+ // Try to add chain if switch failed (common pattern)
169
+ //4902 in MetaMask: Unrecognized chain ID
170
+ if (error?.code === 4902 || error?.data?.originalError?.code === 4902) {
171
+ try {
172
+ await _provider.request({
173
+ method: 'wallet_addEthereumChain',
174
+ params: [{
175
+ chainId: numberToHex(chainId),
176
+ chainName: chain.name,
177
+ nativeCurrency: chain.nativeCurrency,
178
+ rpcUrls: [chain.rpcUrls.default?.http[0] ?? ''],
179
+ // Take first default HTTP RPC URL
180
+ blockExplorerUrls: [chain.blockExplorers?.default?.url]
181
+ }]
182
+ });
183
+ config.emitter.emit('change', {
184
+ chainId
185
+ });
186
+ return chain;
187
+ } catch (addError) {
188
+ throw new UserRejectedRequestError(addError);
189
+ }
190
+ }
191
+ throw new SwitchChainError(error);
192
+ }
193
+ },
194
+ onAccountsChanged(accounts) {
195
+ if (accounts.length === 0) this.onDisconnect();else config.emitter.emit('change', {
196
+ accounts: accounts.map(x => getAddress(x))
197
+ });
198
+ },
199
+ onChainChanged(chain) {
200
+ const chainId = Number(chain);
201
+ config.emitter.emit('change', {
202
+ chainId
203
+ });
204
+ },
205
+ onDisconnect: () => {
206
+ config.emitter.emit('disconnect');
207
+ }
208
+ }));
209
+ }
210
+ //# sourceMappingURL=UniversalConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getAddress","numberToHex","SwitchChainError","UserRejectedRequestError","ChainNotConfiguredError","createConnector","ProviderNotFoundError","UniversalConnector","appKitProvidedConnector","provider","accountsChangedHandler","chainChangedHandler","disconnectHandler","config","id","name","type","ready","getProvider","setup","on","accounts","hexAccounts","map","acc","emitter","emit","length","chainId","newChainId","parseInt","error","connect","_provider","accountAddresses","getAccounts","Error","currentChainId","getChainId","switchChain","disconnect","off","undefined","namespaces","getNamespaces","eip155Accounts","eip155","caipAddr","parts","split","filter","addrPart","request","method","e","chainIdNum","isNaN","chains","Promise","resolve","isAuthorized","find","c","params","chain","code","data","originalError","chainName","nativeCurrency","rpcUrls","default","http","blockExplorerUrls","blockExplorers","url","addError","onAccountsChanged","onDisconnect","x","onChainChanged","Number"],"sourceRoot":"../../../src","sources":["connectors/UniversalConnector.ts"],"mappings":"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"}
@@ -1,93 +1,3 @@
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
- }
1
+ import { WagmiAdapter } from './adapter';
2
+ export { WagmiAdapter };
93
3
  //# sourceMappingURL=index.js.map
@@ -1 +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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"}
1
+ {"version":3,"names":["WagmiAdapter"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,YAAY,QAAQ,WAAW;AAExC,SAASA,YAAY"}
@@ -1,35 +1,6 @@
1
- import { CoreHelperUtil } from '@reown/appkit-scaffold-react-native';
1
+ import { CoreHelperUtil } from '@reown/appkit-react-native';
2
2
  import { PresetsUtil, ConstantsUtil } from '@reown/appkit-common-react-native';
3
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
4
  export function getTransport({
34
5
  chainId,
35
6
  projectId
@@ -40,14 +11,4 @@ export function getTransport({
40
11
  }
41
12
  return http(`${RPC_URL}/v1/?chainId=${ConstantsUtil.EIP155}:${chainId}&projectId=${projectId}`);
42
13
  }
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
14
  //# sourceMappingURL=helpers.js.map
@@ -1 +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"}
1
+ {"version":3,"names":["CoreHelperUtil","PresetsUtil","ConstantsUtil","http","getTransport","chainId","projectId","RPC_URL","getBlockchainApiUrl","RpcChainIds","includes","EIP155"],"sourceRoot":"../../../src","sources":["utils/helpers.ts"],"mappings":"AAAA,SAASA,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,WAAW,EAAEC,aAAa,QAAQ,mCAAmC;AAC9E,SAASC,IAAI,QAAQ,MAAM;AAE3B,OAAO,SAASC,YAAYA,CAAC;EAAEC,OAAO;EAAEC;AAAkD,CAAC,EAAE;EAC3F,MAAMC,OAAO,GAAGP,cAAc,CAACQ,mBAAmB,CAAC,CAAC;EAEpD,IAAI,CAACP,WAAW,CAACQ,WAAW,CAACC,QAAQ,CAACL,OAAO,CAAC,EAAE;IAC9C,OAAOF,IAAI,CAAC,CAAC;EACf;EAEA,OAAOA,IAAI,CAAE,GAAEI,OAAQ,gBAAeL,aAAa,CAACS,MAAO,IAAGN,OAAQ,cAAaC,SAAU,EAAC,CAAC;AACjG"}
@@ -0,0 +1,25 @@
1
+ import { EVMAdapter, WalletConnector, type AppKitNetwork, type CaipAddress, type ChainNamespace, type GetBalanceParams, type GetBalanceResponse } from '@reown/appkit-common-react-native';
2
+ import { type Config, type CreateConfigParameters, type Connector } from '@wagmi/core';
3
+ import type { Chain } from 'wagmi/chains';
4
+ type ConfigParams = Partial<CreateConfigParameters> & {
5
+ networks: [Chain, ...Chain[]];
6
+ projectId: string;
7
+ connectors?: Connector[];
8
+ };
9
+ export declare class WagmiAdapter extends EVMAdapter {
10
+ private static supportedNamespace;
11
+ wagmiChains: readonly Chain[] | undefined;
12
+ wagmiConfig: Config;
13
+ private wagmiConfigConnector?;
14
+ constructor(configParams: ConfigParams);
15
+ private createWagmiInternalConfig;
16
+ switchNetwork(network: AppKitNetwork): Promise<void>;
17
+ getBalance(params: GetBalanceParams): Promise<GetBalanceResponse>;
18
+ getAccounts(): CaipAddress[] | undefined;
19
+ disconnect(): Promise<void>;
20
+ request(method: string, params?: any[]): Promise<unknown>;
21
+ getSupportedNamespace(): ChainNamespace;
22
+ setConnector(_connector: WalletConnector): void;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,KAAK,MAAM,EACX,KAAK,sBAAsB,EAM3B,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAK1C,KAAK,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC,GAAG;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B,CAAC;AAEF,qBAAa,YAAa,SAAQ,UAAU;IAC1C,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA4B;IACtD,WAAW,EAAE,SAAS,KAAK,EAAE,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,oBAAoB,CAAC,CAAY;gBAE7B,YAAY,EAAE,YAAY;IAStC,OAAO,CAAC,yBAAyB;IAoB3B,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpD,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA4CvE,WAAW,IAAI,WAAW,EAAE,GAAG,SAAS;IAgBlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE;IAO5C,qBAAqB,IAAI,cAAc;IAI9B,YAAY,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;CA6BzD"}
@@ -0,0 +1,5 @@
1
+ import type { Provider, WalletConnector } from '@reown/appkit-common-react-native';
2
+ export declare function UniversalConnector(appKitProvidedConnector: WalletConnector): import("wagmi").CreateConnectorFn<Provider, {
3
+ ready: boolean;
4
+ }, Record<string, unknown>>;
5
+ //# sourceMappingURL=UniversalConnector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UniversalConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/UniversalConnector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAWnF,wBAAgB,kBAAkB,CAAC,uBAAuB,EAAE,eAAe;WAO/B,OAAO;4BA6MlD"}
@@ -1,26 +1,3 @@
1
- import '@walletconnect/react-native-compat';
2
- export { AccountButton, AppKitButton, ConnectButton, NetworkButton, AppKit } from '@reown/appkit-scaffold-react-native';
3
- import type { EventName, EventsControllerState } from '@reown/appkit-scaffold-react-native';
4
- export { defaultWagmiConfig } from './utils/defaultWagmiConfig';
5
- import type { AppKitOptions } from './client';
6
- import { AppKit } from './client';
7
- export type { AppKitOptions } from './client';
8
- type OpenOptions = Parameters<AppKit['open']>[0];
9
- export declare function createAppKit(options: AppKitOptions): AppKit;
10
- export declare function useAppKit(): {
11
- open: (options?: OpenOptions) => Promise<void>;
12
- close: () => Promise<void>;
13
- };
14
- export declare function useAppKitState(): {
15
- selectedNetworkId: number | undefined;
16
- open: boolean;
17
- };
18
- export declare function useWalletInfo(): {
19
- walletInfo: import("@reown/appkit-scaffold-react-native").ConnectedWalletInfo;
20
- };
21
- export declare function useAppKitEvents(callback?: (newEvent: EventsControllerState) => void): {
22
- timestamp: number;
23
- data: import("@reown/appkit-scaffold-react-native").Event;
24
- };
25
- export declare function useAppKitEventSubscription(event: EventName, callback: (newEvent: EventsControllerState) => void): void;
1
+ import { WagmiAdapter } from './adapter';
2
+ export { WagmiAdapter };
26
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,oCAAoC,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,MAAM,EACP,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAG5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,KAAK,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAKjD,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,UASlD;AAGD,wBAAgB,SAAS;qBAKO,WAAW;;EAS1C;AAED,wBAAgB,cAAc;;;EAkB7B;AAED,wBAAgB,aAAa;;EAY5B;AAED,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,IAAI;;;EAmBnF;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,IAAI,QAapD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,18 +1,5 @@
1
- import { type CaipNetwork } from '@reown/appkit-scaffold-react-native';
2
- import type { Connector } from '@wagmi/core';
3
- import type { AppKitClientOptions } from '../client';
4
- export declare function getCaipDefaultChain(chain?: AppKitClientOptions['defaultChain']): CaipNetwork | undefined;
5
- export declare function getWalletConnectCaipNetworks(connector?: Connector): Promise<{
6
- supportsAllNetworks: boolean;
7
- approvedCaipNetworkIds: `${string}:${string}`[];
8
- }>;
9
- export declare function getAuthCaipNetworks(): {
10
- supportsAllNetworks: boolean;
11
- approvedCaipNetworkIds: `${string}:${string}`[];
12
- };
13
1
  export declare function getTransport({ chainId, projectId }: {
14
2
  chainId: number;
15
3
  projectId: string;
16
4
  }): import("viem").HttpTransport<undefined, false>;
17
- export declare function requireCaipAddress(caipAddress: string): `0x${string}`;
18
5
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGrD,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,2BAU9E;AAED,wBAAsB,4BAA4B,CAAC,SAAS,CAAC,EAAE,SAAS;;;GAevE;AAED,wBAAgB,mBAAmB;;;EAOlC;AAED,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,kDAQ1F;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,iBAUrD"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,kDAQ1F"}