@reown/appkit-wagmi-react-native 0.0.0-chore-solflare-20250730210452 → 0.0.0-chore-spring-effect-20250909214820

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.
@@ -13,7 +13,6 @@ class WagmiAdapter extends _appkitCommonReactNative.EVMAdapter {
13
13
  static supportedNamespace = 'eip155';
14
14
  constructor(configParams) {
15
15
  super({
16
- projectId: configParams.projectId,
17
16
  supportedNamespace: WagmiAdapter.supportedNamespace,
18
17
  adapterType: 'wagmi'
19
18
  });
@@ -113,8 +112,12 @@ class WagmiAdapter extends _appkitCommonReactNative.EVMAdapter {
113
112
  getSupportedNamespace() {
114
113
  return WagmiAdapter.supportedNamespace;
115
114
  }
116
- setConnector(_connector) {
117
- super.setConnector(_connector);
115
+ init({
116
+ connector: _connector
117
+ }) {
118
+ super.init({
119
+ connector: _connector
120
+ });
118
121
  if (_connector && this.wagmiChains) {
119
122
  if (!this.wagmiConfigConnector) {
120
123
  // Manually add the connector to the wagmiConfig
@@ -138,6 +141,19 @@ class WagmiAdapter extends _appkitCommonReactNative.EVMAdapter {
138
141
  }
139
142
  }
140
143
  }
144
+ this.setupWatchers();
145
+ }
146
+ setupWatchers() {
147
+ (0, _core.watchAccount)(this.wagmiConfig, {
148
+ onChange: (accountData, prevAccountData) => {
149
+ if (accountData.status === 'disconnected' && prevAccountData.address) {
150
+ this.onDisconnect();
151
+ }
152
+ if (accountData?.chainId && accountData?.chainId !== prevAccountData?.chainId) {
153
+ this.onChainChanged(accountData.chainId?.toString());
154
+ }
155
+ }
156
+ });
141
157
  }
142
158
  }
143
159
  exports.WagmiAdapter = WagmiAdapter;
@@ -1 +1 @@
1
- {"version":3,"names":["_appkitCommonReactNative","require","_core","_helpers","_viem","_UniversalConnector","WagmiAdapter","EVMAdapter","supportedNamespace","constructor","configParams","projectId","adapterType","wagmiChains","networks","wagmiConfig","createWagmiInternalConfig","initialConnectors","transportsArr","map","chain","id","getTransport","chainId","transports","Object","fromEntries","createConfig","chains","connectors","multiInjectedProviderDiscovery","switchNetwork","network","wagmiConfigConnector","Error","switchChainWagmi","connector","getBalance","params","address","tokens","balanceAddress","getAccounts","find","acc","includes","toString","Promise","resolve","amount","symbol","nativeCurrency","accountHex","split","token","caipNetworkId","balance","getBalanceWagmi","formattedBalance","formatUnits","value","decimals","undefined","emit","namespaces","getNamespaces","supportedNamespaceKey","getSupportedNamespace","accountsForNamespace","accounts","disconnect","disconnectWagmiCore","onDisconnect","evmAdapterInstance","setConnector","_connector","connectorInstance","_internal","setup","UniversalConnector","setState","prev","emitter","on","type","connectWagmi","error","exports"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_appkitCommonReactNative","require","_core","_helpers","_viem","_UniversalConnector","WagmiAdapter","EVMAdapter","supportedNamespace","constructor","configParams","adapterType","wagmiChains","networks","wagmiConfig","createWagmiInternalConfig","initialConnectors","transportsArr","map","chain","id","getTransport","chainId","projectId","transports","Object","fromEntries","createConfig","chains","connectors","multiInjectedProviderDiscovery","switchNetwork","network","wagmiConfigConnector","Error","switchChainWagmi","connector","getBalance","params","address","tokens","balanceAddress","getAccounts","find","acc","includes","toString","Promise","resolve","amount","symbol","nativeCurrency","accountHex","split","token","caipNetworkId","balance","getBalanceWagmi","formattedBalance","formatUnits","value","decimals","undefined","emit","namespaces","getNamespaces","supportedNamespaceKey","getSupportedNamespace","accountsForNamespace","accounts","disconnect","disconnectWagmiCore","onDisconnect","evmAdapterInstance","init","_connector","connectorInstance","_internal","setup","UniversalConnector","setState","prev","emitter","on","type","connectWagmi","error","setupWatchers","watchAccount","onChange","accountData","prevAccountData","status","onChainChanged","exports"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
@@ -6,52 +6,32 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.UniversalConnector = UniversalConnector;
7
7
  var _viem = require("viem");
8
8
  var _wagmi = require("wagmi");
9
- var _helpers = require("../utils/helpers");
10
9
  function UniversalConnector(appKitProvidedConnector) {
11
10
  let provider;
12
- let accountsChangedHandler;
13
- let chainChangedHandler;
14
- let disconnectHandler;
11
+ let accountsChanged;
12
+ let chainChanged;
13
+ let sessionDelete;
14
+ let disconnect;
15
15
  return (0, _wagmi.createConnector)(config => ({
16
16
  id: 'walletconnect',
17
17
  name: 'WalletConnect',
18
18
  type: 'walletconnect',
19
- ready: !!appKitProvidedConnector.getProvider(),
19
+ ready: !!appKitProvidedConnector.getProvider('eip155'),
20
20
  async setup() {
21
- provider = appKitProvidedConnector.getProvider();
22
- if (provider?.on) {
23
- accountsChangedHandler = accounts => {
24
- const hexAccounts = accounts.map(acc => (0, _viem.getAddress)(acc));
25
- config.emitter.emit('change', {
26
- accounts: hexAccounts
27
- });
28
- if (hexAccounts.length === 0) {
29
- config.emitter.emit('disconnect');
30
- }
31
- };
32
- chainChangedHandler = chainId => {
33
- const newChainId = typeof chainId === 'string' ? parseInt(chainId, 10) : chainId;
34
- config.emitter.emit('change', {
35
- chainId: newChainId
36
- });
37
- };
38
- disconnectHandler = error => {
39
- config.emitter.emit('disconnect');
40
- if (error) config.emitter.emit('error', {
41
- error
42
- });
43
- };
44
- if (accountsChangedHandler) provider.on('accountsChanged', accountsChangedHandler);
45
- if (chainChangedHandler) provider.on('chainChanged', chainChangedHandler);
46
- if (disconnectHandler) provider.on('disconnect', disconnectHandler);
47
- if (disconnectHandler) provider.on('session_delete', disconnectHandler);
21
+ const _provider = await this.getProvider().catch(() => null);
22
+ if (!_provider) {
23
+ return;
24
+ }
25
+ if (!sessionDelete) {
26
+ sessionDelete = this.onSessionDelete.bind(this);
27
+ _provider.on('session_delete', sessionDelete);
48
28
  }
49
29
  },
50
30
  async connect({
51
31
  chainId
52
32
  } = {}) {
53
33
  try {
54
- const _provider = await this.getProvider();
34
+ const _provider = appKitProvidedConnector.getProvider('eip155');
55
35
  if (!_provider) throw new _wagmi.ProviderNotFoundError();
56
36
 
57
37
  // AppKit connector is already connected or handles its own connection.
@@ -69,7 +49,22 @@ function UniversalConnector(appKitProvidedConnector) {
69
49
  });
70
50
  currentChainId = chainId;
71
51
  }
72
- this.ready = true;
52
+ if (!accountsChanged) {
53
+ accountsChanged = this.onAccountsChanged.bind(this);
54
+ _provider.on('accountsChanged', accountsChanged);
55
+ }
56
+ if (!chainChanged) {
57
+ chainChanged = this.onChainChanged.bind(this);
58
+ _provider.on('chainChanged', chainChanged);
59
+ }
60
+ if (!disconnect) {
61
+ disconnect = this.onDisconnect.bind(this);
62
+ _provider.on('disconnect', disconnect);
63
+ }
64
+ if (!sessionDelete) {
65
+ sessionDelete = this.onSessionDelete.bind(this);
66
+ _provider.on('session_delete', sessionDelete);
67
+ }
73
68
  return {
74
69
  accounts: accountAddresses,
75
70
  chainId: currentChainId
@@ -80,20 +75,34 @@ function UniversalConnector(appKitProvidedConnector) {
80
75
  }
81
76
  },
82
77
  async disconnect() {
83
- await appKitProvidedConnector.disconnect();
84
- config.emitter.emit('message', {
85
- type: 'externalDisconnect'
86
- });
87
- if (provider?.off && accountsChangedHandler && chainChangedHandler && disconnectHandler) {
88
- provider.off('accountsChanged', accountsChangedHandler);
89
- provider.off('chainChanged', chainChangedHandler);
90
- provider.off('disconnect', disconnectHandler);
91
- provider.off('session_delete', disconnectHandler);
92
- accountsChangedHandler = undefined;
93
- chainChangedHandler = undefined;
94
- disconnectHandler = undefined;
78
+ const _provider = await this.getProvider().catch(() => null);
79
+ try {
80
+ await appKitProvidedConnector.disconnect();
81
+ config.emitter.emit('message', {
82
+ type: 'externalDisconnect'
83
+ });
84
+ } catch (error) {
85
+ if (!/No matching key/i.test(error.message)) {
86
+ throw error;
87
+ }
88
+ } finally {
89
+ if (chainChanged) {
90
+ _provider?.off('chainChanged', chainChanged);
91
+ chainChanged = undefined;
92
+ }
93
+ if (disconnect) {
94
+ _provider?.off('disconnect', disconnect);
95
+ disconnect = undefined;
96
+ }
97
+ if (accountsChanged) {
98
+ _provider?.off('accountsChanged', accountsChanged);
99
+ accountsChanged = undefined;
100
+ }
101
+ if (sessionDelete) {
102
+ _provider?.off('session_delete', sessionDelete);
103
+ sessionDelete = undefined;
104
+ }
95
105
  }
96
- this.ready = false;
97
106
  },
98
107
  async getAccounts() {
99
108
  const namespaces = appKitProvidedConnector.getNamespaces();
@@ -127,18 +136,9 @@ function UniversalConnector(appKitProvidedConnector) {
127
136
  },
128
137
  async getProvider() {
129
138
  if (!provider) {
130
- provider = appKitProvidedConnector.getProvider();
139
+ provider = appKitProvidedConnector.getProvider('eip155');
131
140
  }
132
- const chainId = await this.getChainId();
133
-
134
- //TODO: Review this with gancho
135
- const _provider = {
136
- ...provider,
137
- request: args => {
138
- return provider?.request(args, `eip155:${chainId}`);
139
- }
140
- };
141
- return Promise.resolve(_provider);
141
+ return provider;
142
142
  },
143
143
  async isAuthorized() {
144
144
  try {
@@ -151,7 +151,7 @@ function UniversalConnector(appKitProvidedConnector) {
151
151
  async switchChain({
152
152
  chainId
153
153
  }) {
154
- const _provider = await this.getProvider();
154
+ const _provider = appKitProvidedConnector.getProvider('eip155');
155
155
  if (!_provider) throw new Error('Provider not available for switching chain.');
156
156
  const newChain = config.chains.find(c => c.id === chainId);
157
157
  if (!newChain) throw new _viem.SwitchChainError(new _wagmi.ChainNotConfiguredError());
@@ -162,29 +162,23 @@ function UniversalConnector(appKitProvidedConnector) {
162
162
  chainId: (0, _viem.numberToHex)(chainId)
163
163
  }]
164
164
  });
165
- config.emitter.emit('change', {
166
- chainId
167
- });
168
165
  return newChain;
169
- } catch (error) {
170
- // Try to add chain if switch failed (common pattern)
171
- //4902 in MetaMask: Unrecognized chain ID
166
+ } catch (err) {
167
+ const error = err;
168
+ if (/(user rejected)/i.test(error.message)) throw new _viem.UserRejectedRequestError(error);
172
169
  if (error?.code === 4902 || error?.data?.originalError?.code === 4902) {
170
+ // Indicates chain is not added to provider
173
171
  try {
172
+ const addEthereumChainParams = {
173
+ chainId: (0, _viem.numberToHex)(chainId),
174
+ chainName: newChain.name,
175
+ nativeCurrency: newChain.nativeCurrency,
176
+ rpcUrls: [newChain.rpcUrls.default?.http[0] ?? ''],
177
+ blockExplorerUrls: [newChain.blockExplorers?.default?.url]
178
+ };
174
179
  await _provider.request({
175
180
  method: 'wallet_addEthereumChain',
176
- params: [{
177
- chainId: (0, _viem.numberToHex)(chainId),
178
- chainName: newChain.name,
179
- nativeCurrency: newChain.nativeCurrency,
180
- rpcUrls: [newChain.rpcUrls.default?.http[0] ?? ''],
181
- // Take first default HTTP RPC URL
182
- blockExplorerUrls: [newChain.blockExplorers?.default?.url]
183
- }]
184
- });
185
- await appKitProvidedConnector.switchNetwork((0, _helpers.formatNetwork)(newChain));
186
- config.emitter.emit('change', {
187
- chainId
181
+ params: [addEthereumChainParams]
188
182
  });
189
183
  return newChain;
190
184
  } catch (addError) {
@@ -195,18 +189,64 @@ function UniversalConnector(appKitProvidedConnector) {
195
189
  }
196
190
  },
197
191
  onAccountsChanged(accounts) {
198
- if (accounts.length === 0) this.onDisconnect();else config.emitter.emit('change', {
192
+ //Only emit if the account is an evm account
193
+ const shouldEmit = accounts.some(account => account.startsWith('0x'));
194
+ if (accounts.length === 0) this.onDisconnect();else if (shouldEmit) config.emitter.emit('change', {
199
195
  accounts: accounts.map(x => (0, _viem.getAddress)(x))
200
196
  });
201
197
  },
202
198
  onChainChanged(chain) {
203
199
  const chainId = Number(chain);
204
- config.emitter.emit('change', {
205
- chainId
206
- });
200
+
201
+ //Only emit if the chain is in the config (evm)
202
+ const shouldEmit = config.chains.some(c => c.id === chainId);
203
+ if (shouldEmit) {
204
+ config.emitter.emit('change', {
205
+ chainId
206
+ });
207
+ }
207
208
  },
208
- onDisconnect: () => {
209
+ async onDisconnect() {
209
210
  config.emitter.emit('disconnect');
211
+ try {
212
+ const _provider = await this.getProvider();
213
+
214
+ // Clean up event listeners
215
+ if (accountsChanged) {
216
+ _provider.off('accountsChanged', accountsChanged);
217
+ accountsChanged = undefined;
218
+ }
219
+ if (chainChanged) {
220
+ _provider.off('chainChanged', chainChanged);
221
+ chainChanged = undefined;
222
+ }
223
+ if (disconnect) {
224
+ _provider.off('disconnect', disconnect);
225
+ disconnect = undefined;
226
+ }
227
+ if (sessionDelete) {
228
+ _provider.off('session_delete', sessionDelete);
229
+ sessionDelete = undefined;
230
+ }
231
+ } catch (error) {
232
+ // If provider is not available, still clean up local references
233
+ // to prevent memory leaks
234
+ if (accountsChanged) {
235
+ accountsChanged = undefined;
236
+ }
237
+ if (chainChanged) {
238
+ chainChanged = undefined;
239
+ }
240
+ if (disconnect) {
241
+ disconnect = undefined;
242
+ }
243
+ if (sessionDelete) {
244
+ sessionDelete = undefined;
245
+ }
246
+ }
247
+ },
248
+ onSessionDelete() {
249
+ this.onDisconnect();
210
250
  }
211
251
  }));
212
252
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_viem","require","_wagmi","_helpers","UniversalConnector","appKitProvidedConnector","provider","accountsChangedHandler","chainChangedHandler","disconnectHandler","createConnector","config","id","name","type","ready","getProvider","setup","on","accounts","hexAccounts","map","acc","getAddress","emitter","emit","length","chainId","newChainId","parseInt","error","connect","_provider","ProviderNotFoundError","accountAddresses","getAccounts","UserRejectedRequestError","Error","currentChainId","getChainId","switchChain","disconnect","off","undefined","namespaces","getNamespaces","eip155Accounts","eip155","caipAddr","parts","split","filter","addrPart","chainIdNum","isNaN","chains","request","args","Promise","resolve","isAuthorized","newChain","find","c","SwitchChainError","ChainNotConfiguredError","method","params","numberToHex","code","data","originalError","chainName","nativeCurrency","rpcUrls","default","http","blockExplorerUrls","blockExplorers","url","switchNetwork","formatNetwork","addError","onAccountsChanged","onDisconnect","x","onChainChanged","chain","Number"],"sourceRoot":"../../../src","sources":["connectors/UniversalConnector.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_viem","require","_wagmi","UniversalConnector","appKitProvidedConnector","provider","accountsChanged","chainChanged","sessionDelete","disconnect","createConnector","config","id","name","type","ready","getProvider","setup","_provider","catch","onSessionDelete","bind","on","connect","chainId","ProviderNotFoundError","accountAddresses","getAccounts","length","UserRejectedRequestError","Error","currentChainId","getChainId","switchChain","onAccountsChanged","onChainChanged","onDisconnect","accounts","error","emitter","emit","test","message","off","undefined","namespaces","getNamespaces","eip155Accounts","eip155","map","caipAddr","parts","split","filter","addrPart","getAddress","parseInt","chainIdNum","isNaN","chains","isAuthorized","newChain","find","c","SwitchChainError","ChainNotConfiguredError","request","method","params","numberToHex","err","code","data","originalError","addEthereumChainParams","chainName","nativeCurrency","rpcUrls","default","http","blockExplorerUrls","blockExplorers","url","addError","shouldEmit","some","account","startsWith","x","chain","Number"],"sourceRoot":"../../../src","sources":["connectors/UniversalConnector.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { EVMAdapter } from '@reown/appkit-common-react-native';
4
- import { createConfig, getBalance as getBalanceWagmi, switchChain as switchChainWagmi, disconnect as disconnectWagmiCore, connect as connectWagmi } from '@wagmi/core';
4
+ import { createConfig, getBalance as getBalanceWagmi, switchChain as switchChainWagmi, disconnect as disconnectWagmiCore, connect as connectWagmi, watchAccount } from '@wagmi/core';
5
5
  import { getTransport } from './utils/helpers';
6
6
  import { formatUnits } from 'viem';
7
7
  import { UniversalConnector } from './connectors/UniversalConnector';
@@ -9,7 +9,6 @@ export class WagmiAdapter extends EVMAdapter {
9
9
  static supportedNamespace = 'eip155';
10
10
  constructor(configParams) {
11
11
  super({
12
- projectId: configParams.projectId,
13
12
  supportedNamespace: WagmiAdapter.supportedNamespace,
14
13
  adapterType: 'wagmi'
15
14
  });
@@ -109,8 +108,12 @@ export class WagmiAdapter extends EVMAdapter {
109
108
  getSupportedNamespace() {
110
109
  return WagmiAdapter.supportedNamespace;
111
110
  }
112
- setConnector(_connector) {
113
- super.setConnector(_connector);
111
+ init({
112
+ connector: _connector
113
+ }) {
114
+ super.init({
115
+ connector: _connector
116
+ });
114
117
  if (_connector && this.wagmiChains) {
115
118
  if (!this.wagmiConfigConnector) {
116
119
  // Manually add the connector to the wagmiConfig
@@ -134,6 +137,19 @@ export class WagmiAdapter extends EVMAdapter {
134
137
  }
135
138
  }
136
139
  }
140
+ this.setupWatchers();
141
+ }
142
+ setupWatchers() {
143
+ watchAccount(this.wagmiConfig, {
144
+ onChange: (accountData, prevAccountData) => {
145
+ if (accountData.status === 'disconnected' && prevAccountData.address) {
146
+ this.onDisconnect();
147
+ }
148
+ if (accountData?.chainId && accountData?.chainId !== prevAccountData?.chainId) {
149
+ this.onChainChanged(accountData.chainId?.toString());
150
+ }
151
+ }
152
+ });
137
153
  }
138
154
  }
139
155
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EVMAdapter","createConfig","getBalance","getBalanceWagmi","switchChain","switchChainWagmi","disconnect","disconnectWagmiCore","connect","connectWagmi","getTransport","formatUnits","UniversalConnector","WagmiAdapter","supportedNamespace","constructor","configParams","projectId","adapterType","wagmiChains","networks","wagmiConfig","createWagmiInternalConfig","initialConnectors","transportsArr","map","chain","id","chainId","transports","Object","fromEntries","chains","connectors","multiInjectedProviderDiscovery","switchNetwork","network","wagmiConfigConnector","Error","connector","params","address","tokens","balanceAddress","getAccounts","find","acc","includes","toString","Promise","resolve","amount","symbol","nativeCurrency","accountHex","split","token","caipNetworkId","balance","formattedBalance","value","decimals","undefined","emit","namespaces","getNamespaces","supportedNamespaceKey","getSupportedNamespace","accountsForNamespace","accounts","onDisconnect","evmAdapterInstance","setConnector","_connector","connectorInstance","_internal","setup","setState","prev","emitter","on","type","error"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["EVMAdapter","createConfig","getBalance","getBalanceWagmi","switchChain","switchChainWagmi","disconnect","disconnectWagmiCore","connect","connectWagmi","watchAccount","getTransport","formatUnits","UniversalConnector","WagmiAdapter","supportedNamespace","constructor","configParams","adapterType","wagmiChains","networks","wagmiConfig","createWagmiInternalConfig","initialConnectors","transportsArr","map","chain","id","chainId","projectId","transports","Object","fromEntries","chains","connectors","multiInjectedProviderDiscovery","switchNetwork","network","wagmiConfigConnector","Error","connector","params","address","tokens","balanceAddress","getAccounts","find","acc","includes","toString","Promise","resolve","amount","symbol","nativeCurrency","accountHex","split","token","caipNetworkId","balance","formattedBalance","value","decimals","undefined","emit","namespaces","getNamespaces","supportedNamespaceKey","getSupportedNamespace","accountsForNamespace","accounts","onDisconnect","evmAdapterInstance","init","_connector","connectorInstance","_internal","setup","setState","prev","emitter","on","type","error","setupWatchers","onChange","accountData","prevAccountData","status","onChainChanged"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
@@ -2,52 +2,32 @@
2
2
 
3
3
  import { getAddress, numberToHex, SwitchChainError, UserRejectedRequestError } from 'viem';
4
4
  import { ChainNotConfiguredError, createConnector, ProviderNotFoundError } from 'wagmi';
5
- import { formatNetwork } from '../utils/helpers';
6
5
  export function UniversalConnector(appKitProvidedConnector) {
7
6
  let provider;
8
- let accountsChangedHandler;
9
- let chainChangedHandler;
10
- let disconnectHandler;
7
+ let accountsChanged;
8
+ let chainChanged;
9
+ let sessionDelete;
10
+ let disconnect;
11
11
  return createConnector(config => ({
12
12
  id: 'walletconnect',
13
13
  name: 'WalletConnect',
14
14
  type: 'walletconnect',
15
- ready: !!appKitProvidedConnector.getProvider(),
15
+ ready: !!appKitProvidedConnector.getProvider('eip155'),
16
16
  async setup() {
17
- provider = appKitProvidedConnector.getProvider();
18
- if (provider?.on) {
19
- accountsChangedHandler = accounts => {
20
- const hexAccounts = accounts.map(acc => getAddress(acc));
21
- config.emitter.emit('change', {
22
- accounts: hexAccounts
23
- });
24
- if (hexAccounts.length === 0) {
25
- config.emitter.emit('disconnect');
26
- }
27
- };
28
- chainChangedHandler = chainId => {
29
- const newChainId = typeof chainId === 'string' ? parseInt(chainId, 10) : chainId;
30
- config.emitter.emit('change', {
31
- chainId: newChainId
32
- });
33
- };
34
- disconnectHandler = error => {
35
- config.emitter.emit('disconnect');
36
- if (error) config.emitter.emit('error', {
37
- error
38
- });
39
- };
40
- if (accountsChangedHandler) provider.on('accountsChanged', accountsChangedHandler);
41
- if (chainChangedHandler) provider.on('chainChanged', chainChangedHandler);
42
- if (disconnectHandler) provider.on('disconnect', disconnectHandler);
43
- if (disconnectHandler) provider.on('session_delete', disconnectHandler);
17
+ const _provider = await this.getProvider().catch(() => null);
18
+ if (!_provider) {
19
+ return;
20
+ }
21
+ if (!sessionDelete) {
22
+ sessionDelete = this.onSessionDelete.bind(this);
23
+ _provider.on('session_delete', sessionDelete);
44
24
  }
45
25
  },
46
26
  async connect({
47
27
  chainId
48
28
  } = {}) {
49
29
  try {
50
- const _provider = await this.getProvider();
30
+ const _provider = appKitProvidedConnector.getProvider('eip155');
51
31
  if (!_provider) throw new ProviderNotFoundError();
52
32
 
53
33
  // AppKit connector is already connected or handles its own connection.
@@ -65,7 +45,22 @@ export function UniversalConnector(appKitProvidedConnector) {
65
45
  });
66
46
  currentChainId = chainId;
67
47
  }
68
- this.ready = true;
48
+ if (!accountsChanged) {
49
+ accountsChanged = this.onAccountsChanged.bind(this);
50
+ _provider.on('accountsChanged', accountsChanged);
51
+ }
52
+ if (!chainChanged) {
53
+ chainChanged = this.onChainChanged.bind(this);
54
+ _provider.on('chainChanged', chainChanged);
55
+ }
56
+ if (!disconnect) {
57
+ disconnect = this.onDisconnect.bind(this);
58
+ _provider.on('disconnect', disconnect);
59
+ }
60
+ if (!sessionDelete) {
61
+ sessionDelete = this.onSessionDelete.bind(this);
62
+ _provider.on('session_delete', sessionDelete);
63
+ }
69
64
  return {
70
65
  accounts: accountAddresses,
71
66
  chainId: currentChainId
@@ -76,20 +71,34 @@ export function UniversalConnector(appKitProvidedConnector) {
76
71
  }
77
72
  },
78
73
  async disconnect() {
79
- await appKitProvidedConnector.disconnect();
80
- config.emitter.emit('message', {
81
- type: 'externalDisconnect'
82
- });
83
- if (provider?.off && accountsChangedHandler && chainChangedHandler && disconnectHandler) {
84
- provider.off('accountsChanged', accountsChangedHandler);
85
- provider.off('chainChanged', chainChangedHandler);
86
- provider.off('disconnect', disconnectHandler);
87
- provider.off('session_delete', disconnectHandler);
88
- accountsChangedHandler = undefined;
89
- chainChangedHandler = undefined;
90
- disconnectHandler = undefined;
74
+ const _provider = await this.getProvider().catch(() => null);
75
+ try {
76
+ await appKitProvidedConnector.disconnect();
77
+ config.emitter.emit('message', {
78
+ type: 'externalDisconnect'
79
+ });
80
+ } catch (error) {
81
+ if (!/No matching key/i.test(error.message)) {
82
+ throw error;
83
+ }
84
+ } finally {
85
+ if (chainChanged) {
86
+ _provider?.off('chainChanged', chainChanged);
87
+ chainChanged = undefined;
88
+ }
89
+ if (disconnect) {
90
+ _provider?.off('disconnect', disconnect);
91
+ disconnect = undefined;
92
+ }
93
+ if (accountsChanged) {
94
+ _provider?.off('accountsChanged', accountsChanged);
95
+ accountsChanged = undefined;
96
+ }
97
+ if (sessionDelete) {
98
+ _provider?.off('session_delete', sessionDelete);
99
+ sessionDelete = undefined;
100
+ }
91
101
  }
92
- this.ready = false;
93
102
  },
94
103
  async getAccounts() {
95
104
  const namespaces = appKitProvidedConnector.getNamespaces();
@@ -123,18 +132,9 @@ export function UniversalConnector(appKitProvidedConnector) {
123
132
  },
124
133
  async getProvider() {
125
134
  if (!provider) {
126
- provider = appKitProvidedConnector.getProvider();
135
+ provider = appKitProvidedConnector.getProvider('eip155');
127
136
  }
128
- const chainId = await this.getChainId();
129
-
130
- //TODO: Review this with gancho
131
- const _provider = {
132
- ...provider,
133
- request: args => {
134
- return provider?.request(args, `eip155:${chainId}`);
135
- }
136
- };
137
- return Promise.resolve(_provider);
137
+ return provider;
138
138
  },
139
139
  async isAuthorized() {
140
140
  try {
@@ -147,7 +147,7 @@ export function UniversalConnector(appKitProvidedConnector) {
147
147
  async switchChain({
148
148
  chainId
149
149
  }) {
150
- const _provider = await this.getProvider();
150
+ const _provider = appKitProvidedConnector.getProvider('eip155');
151
151
  if (!_provider) throw new Error('Provider not available for switching chain.');
152
152
  const newChain = config.chains.find(c => c.id === chainId);
153
153
  if (!newChain) throw new SwitchChainError(new ChainNotConfiguredError());
@@ -158,29 +158,23 @@ export function UniversalConnector(appKitProvidedConnector) {
158
158
  chainId: numberToHex(chainId)
159
159
  }]
160
160
  });
161
- config.emitter.emit('change', {
162
- chainId
163
- });
164
161
  return newChain;
165
- } catch (error) {
166
- // Try to add chain if switch failed (common pattern)
167
- //4902 in MetaMask: Unrecognized chain ID
162
+ } catch (err) {
163
+ const error = err;
164
+ if (/(user rejected)/i.test(error.message)) throw new UserRejectedRequestError(error);
168
165
  if (error?.code === 4902 || error?.data?.originalError?.code === 4902) {
166
+ // Indicates chain is not added to provider
169
167
  try {
168
+ const addEthereumChainParams = {
169
+ chainId: numberToHex(chainId),
170
+ chainName: newChain.name,
171
+ nativeCurrency: newChain.nativeCurrency,
172
+ rpcUrls: [newChain.rpcUrls.default?.http[0] ?? ''],
173
+ blockExplorerUrls: [newChain.blockExplorers?.default?.url]
174
+ };
170
175
  await _provider.request({
171
176
  method: 'wallet_addEthereumChain',
172
- params: [{
173
- chainId: numberToHex(chainId),
174
- chainName: newChain.name,
175
- nativeCurrency: newChain.nativeCurrency,
176
- rpcUrls: [newChain.rpcUrls.default?.http[0] ?? ''],
177
- // Take first default HTTP RPC URL
178
- blockExplorerUrls: [newChain.blockExplorers?.default?.url]
179
- }]
180
- });
181
- await appKitProvidedConnector.switchNetwork(formatNetwork(newChain));
182
- config.emitter.emit('change', {
183
- chainId
177
+ params: [addEthereumChainParams]
184
178
  });
185
179
  return newChain;
186
180
  } catch (addError) {
@@ -191,18 +185,64 @@ export function UniversalConnector(appKitProvidedConnector) {
191
185
  }
192
186
  },
193
187
  onAccountsChanged(accounts) {
194
- if (accounts.length === 0) this.onDisconnect();else config.emitter.emit('change', {
188
+ //Only emit if the account is an evm account
189
+ const shouldEmit = accounts.some(account => account.startsWith('0x'));
190
+ if (accounts.length === 0) this.onDisconnect();else if (shouldEmit) config.emitter.emit('change', {
195
191
  accounts: accounts.map(x => getAddress(x))
196
192
  });
197
193
  },
198
194
  onChainChanged(chain) {
199
195
  const chainId = Number(chain);
200
- config.emitter.emit('change', {
201
- chainId
202
- });
196
+
197
+ //Only emit if the chain is in the config (evm)
198
+ const shouldEmit = config.chains.some(c => c.id === chainId);
199
+ if (shouldEmit) {
200
+ config.emitter.emit('change', {
201
+ chainId
202
+ });
203
+ }
203
204
  },
204
- onDisconnect: () => {
205
+ async onDisconnect() {
205
206
  config.emitter.emit('disconnect');
207
+ try {
208
+ const _provider = await this.getProvider();
209
+
210
+ // Clean up event listeners
211
+ if (accountsChanged) {
212
+ _provider.off('accountsChanged', accountsChanged);
213
+ accountsChanged = undefined;
214
+ }
215
+ if (chainChanged) {
216
+ _provider.off('chainChanged', chainChanged);
217
+ chainChanged = undefined;
218
+ }
219
+ if (disconnect) {
220
+ _provider.off('disconnect', disconnect);
221
+ disconnect = undefined;
222
+ }
223
+ if (sessionDelete) {
224
+ _provider.off('session_delete', sessionDelete);
225
+ sessionDelete = undefined;
226
+ }
227
+ } catch (error) {
228
+ // If provider is not available, still clean up local references
229
+ // to prevent memory leaks
230
+ if (accountsChanged) {
231
+ accountsChanged = undefined;
232
+ }
233
+ if (chainChanged) {
234
+ chainChanged = undefined;
235
+ }
236
+ if (disconnect) {
237
+ disconnect = undefined;
238
+ }
239
+ if (sessionDelete) {
240
+ sessionDelete = undefined;
241
+ }
242
+ }
243
+ },
244
+ onSessionDelete() {
245
+ this.onDisconnect();
206
246
  }
207
247
  }));
208
248
  }
@@ -1 +1 @@
1
- {"version":3,"names":["getAddress","numberToHex","SwitchChainError","UserRejectedRequestError","ChainNotConfiguredError","createConnector","ProviderNotFoundError","formatNetwork","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","chainIdNum","isNaN","chains","request","args","Promise","resolve","isAuthorized","newChain","find","c","method","params","code","data","originalError","chainName","nativeCurrency","rpcUrls","default","http","blockExplorerUrls","blockExplorers","url","switchNetwork","addError","onAccountsChanged","onDisconnect","x","onChainChanged","chain","Number"],"sourceRoot":"../../../src","sources":["connectors/UniversalConnector.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getAddress","numberToHex","SwitchChainError","UserRejectedRequestError","ChainNotConfiguredError","createConnector","ProviderNotFoundError","UniversalConnector","appKitProvidedConnector","provider","accountsChanged","chainChanged","sessionDelete","disconnect","config","id","name","type","ready","getProvider","setup","_provider","catch","onSessionDelete","bind","on","connect","chainId","accountAddresses","getAccounts","length","Error","currentChainId","getChainId","switchChain","onAccountsChanged","onChainChanged","onDisconnect","accounts","error","emitter","emit","test","message","off","undefined","namespaces","getNamespaces","eip155Accounts","eip155","map","caipAddr","parts","split","filter","addrPart","parseInt","chainIdNum","isNaN","chains","isAuthorized","newChain","find","c","request","method","params","err","code","data","originalError","addEthereumChainParams","chainName","nativeCurrency","rpcUrls","default","http","blockExplorerUrls","blockExplorers","url","addError","shouldEmit","some","account","startsWith","x","chain","Number"],"sourceRoot":"../../../src","sources":["connectors/UniversalConnector.ts"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { EVMAdapter, WalletConnector, type AppKitNetwork, type CaipAddress, type ChainNamespace, type GetBalanceParams, type GetBalanceResponse } from '@reown/appkit-common-react-native';
1
+ import { EVMAdapter, type AppKitNetwork, type BlockchainAdapterInitParams, type CaipAddress, type ChainNamespace, type GetBalanceParams, type GetBalanceResponse } from '@reown/appkit-common-react-native';
2
2
  import { type Config, type CreateConfigParameters, type Connector } from '@wagmi/core';
3
3
  import type { Chain } from 'wagmi/chains';
4
4
  type ConfigParams = Partial<CreateConfigParameters> & {
@@ -18,7 +18,8 @@ export declare class WagmiAdapter extends EVMAdapter {
18
18
  getAccounts(): CaipAddress[] | undefined;
19
19
  disconnect(): Promise<void>;
20
20
  getSupportedNamespace(): ChainNamespace;
21
- setConnector(_connector: WalletConnector): void;
21
+ init({ connector: _connector }: BlockchainAdapterInitParams): void;
22
+ setupWatchers(): void;
22
23
  }
23
24
  export {};
24
25
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +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,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACvC,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;IAUtC,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;IAuCvE,WAAW,IAAI,WAAW,EAAE,GAAG,SAAS;IAgBlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC,qBAAqB,IAAI,cAAc;IAI9B,YAAY,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;CA6BzD"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,2BAA2B,EAChC,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,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAK1C,KAAK,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC,GAAG;IACpD,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACvC,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;IAuCvE,WAAW,IAAI,WAAW,EAAE,GAAG,SAAS;IAgBlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC,qBAAqB,IAAI,cAAc;IAI9B,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,2BAA2B,GAAG,IAAI;IAgC3E,aAAa;CAad"}
@@ -1,5 +1,9 @@
1
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>>;
2
+ type Properties = {
3
+ onSessionDelete(data: {
4
+ topic: string;
5
+ }): void;
6
+ };
7
+ export declare function UniversalConnector(appKitProvidedConnector: WalletConnector): import("wagmi").CreateConnectorFn<Provider, Properties, Record<string, unknown>>;
8
+ export {};
5
9
  //# sourceMappingURL=UniversalConnector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/UniversalConnector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAER,eAAe,EAChB,MAAM,mCAAmC,CAAC;AAW3C,wBAAgB,kBAAkB,CAAC,uBAAuB,EAAE,eAAe;WAO/B,OAAO;4BA6MlD"}
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;AAqBnF,KAAK,UAAU,GAAG;IAChB,eAAe,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,uBAAuB,EAAE,eAAe,oFAuQ1E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reown/appkit-wagmi-react-native",
3
- "version": "0.0.0-chore-solflare-20250730210452",
3
+ "version": "0.0.0-chore-spring-effect-20250909214820",
4
4
  "main": "lib/commonjs/index.js",
5
5
  "types": "lib/typescript/index.d.ts",
6
6
  "module": "lib/module/index.js",
@@ -40,9 +40,9 @@
40
40
  "access": "public"
41
41
  },
42
42
  "dependencies": {
43
- "@reown/appkit-common-react-native": "0.0.0-chore-solflare-20250730210452",
44
- "@reown/appkit-react-native": "0.0.0-chore-solflare-20250730210452",
45
- "@reown/appkit-siwe-react-native": "0.0.0-chore-solflare-20250730210452"
43
+ "@reown/appkit-common-react-native": "0.0.0-chore-spring-effect-20250909214820",
44
+ "@reown/appkit-react-native": "0.0.0-chore-spring-effect-20250909214820",
45
+ "@reown/appkit-siwe-react-native": "0.0.0-chore-spring-effect-20250909214820"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "@react-native-community/netinfo": "*",
package/src/adapter.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  EVMAdapter,
3
- WalletConnector,
4
3
  type AppKitNetwork,
4
+ type BlockchainAdapterInitParams,
5
5
  type CaipAddress,
6
6
  type ChainNamespace,
7
7
  type GetBalanceParams,
@@ -15,7 +15,8 @@ import {
15
15
  switchChain as switchChainWagmi,
16
16
  disconnect as disconnectWagmiCore,
17
17
  connect as connectWagmi,
18
- type Connector
18
+ type Connector,
19
+ watchAccount
19
20
  } from '@wagmi/core';
20
21
  import type { Chain } from 'wagmi/chains';
21
22
  import { getTransport } from './utils/helpers';
@@ -36,7 +37,6 @@ export class WagmiAdapter extends EVMAdapter {
36
37
 
37
38
  constructor(configParams: ConfigParams) {
38
39
  super({
39
- projectId: configParams.projectId,
40
40
  supportedNamespace: WagmiAdapter.supportedNamespace,
41
41
  adapterType: 'wagmi'
42
42
  });
@@ -149,8 +149,8 @@ export class WagmiAdapter extends EVMAdapter {
149
149
  return WagmiAdapter.supportedNamespace;
150
150
  }
151
151
 
152
- override setConnector(_connector: WalletConnector): void {
153
- super.setConnector(_connector);
152
+ override init({ connector: _connector }: BlockchainAdapterInitParams): void {
153
+ super.init({ connector: _connector });
154
154
 
155
155
  if (_connector && this.wagmiChains) {
156
156
  if (!this.wagmiConfigConnector) {
@@ -177,5 +177,21 @@ export class WagmiAdapter extends EVMAdapter {
177
177
  }
178
178
  }
179
179
  }
180
+
181
+ this.setupWatchers();
182
+ }
183
+
184
+ setupWatchers() {
185
+ watchAccount(this.wagmiConfig, {
186
+ onChange: (accountData, prevAccountData) => {
187
+ if (accountData.status === 'disconnected' && prevAccountData.address) {
188
+ this.onDisconnect();
189
+ }
190
+
191
+ if (accountData?.chainId && accountData?.chainId !== prevAccountData?.chainId) {
192
+ this.onChainChanged(accountData.chainId?.toString());
193
+ }
194
+ }
195
+ });
180
196
  }
181
197
  }
@@ -1,62 +1,56 @@
1
- import type {
2
- Provider,
3
- RequestArguments,
4
- WalletConnector
5
- } from '@reown/appkit-common-react-native';
1
+ import type { Provider, WalletConnector } from '@reown/appkit-common-react-native';
2
+
6
3
  import {
7
4
  getAddress,
8
5
  numberToHex,
6
+ RpcError,
9
7
  SwitchChainError,
10
8
  UserRejectedRequestError,
11
9
  type Hex
12
10
  } from 'viem';
13
- import { ChainNotConfiguredError, createConnector, ProviderNotFoundError } from 'wagmi';
14
- import { formatNetwork } from '../utils/helpers';
11
+ import {
12
+ ChainNotConfiguredError,
13
+ createConnector,
14
+ ProviderNotFoundError,
15
+ type Connector
16
+ } from 'wagmi';
17
+
18
+ type UniversalConnector = Connector & {
19
+ onSessionDelete(data: { topic: string }): void;
20
+ };
21
+
22
+ type Properties = {
23
+ onSessionDelete(data: { topic: string }): void;
24
+ };
15
25
 
16
26
  export function UniversalConnector(appKitProvidedConnector: WalletConnector) {
17
27
  let provider: Provider | undefined;
18
28
 
19
- let accountsChangedHandler: ((accounts: string[]) => void) | undefined;
20
- let chainChangedHandler: ((chainId: string | number) => void) | undefined;
21
- let disconnectHandler: ((error?: Error) => void) | undefined;
29
+ let accountsChanged: UniversalConnector['onAccountsChanged'] | undefined;
30
+ let chainChanged: UniversalConnector['onChainChanged'] | undefined;
31
+ let sessionDelete: UniversalConnector['onSessionDelete'] | undefined;
32
+ let disconnect: UniversalConnector['onDisconnect'] | undefined;
22
33
 
23
- type AppKitConnectorProperties = { ready: boolean };
24
-
25
- return createConnector<Provider, AppKitConnectorProperties>(config => ({
34
+ return createConnector<Provider, Properties>(config => ({
26
35
  id: 'walletconnect',
27
36
  name: 'WalletConnect',
28
37
  type: 'walletconnect' as const,
29
- ready: !!appKitProvidedConnector.getProvider(),
38
+ ready: !!appKitProvidedConnector.getProvider('eip155'),
30
39
 
31
40
  async setup() {
32
- provider = appKitProvidedConnector.getProvider();
33
- if (provider?.on) {
34
- accountsChangedHandler = (accounts: string[]) => {
35
- const hexAccounts = accounts.map(acc => getAddress(acc));
36
- config.emitter.emit('change', { accounts: hexAccounts });
37
- if (hexAccounts.length === 0) {
38
- config.emitter.emit('disconnect');
39
- }
40
- };
41
- chainChangedHandler = (chainId: string | number) => {
42
- const newChainId = typeof chainId === 'string' ? parseInt(chainId, 10) : chainId;
43
- config.emitter.emit('change', { chainId: newChainId });
44
- };
45
- disconnectHandler = (error?: Error) => {
46
- config.emitter.emit('disconnect');
47
- if (error) config.emitter.emit('error', { error });
48
- };
49
-
50
- if (accountsChangedHandler) provider.on('accountsChanged', accountsChangedHandler);
51
- if (chainChangedHandler) provider.on('chainChanged', chainChangedHandler);
52
- if (disconnectHandler) provider.on('disconnect', disconnectHandler);
53
- if (disconnectHandler) provider.on('session_delete', disconnectHandler);
41
+ const _provider = await this.getProvider().catch(() => null);
42
+ if (!_provider) {
43
+ return;
44
+ }
45
+ if (!sessionDelete) {
46
+ sessionDelete = this.onSessionDelete.bind(this);
47
+ _provider.on('session_delete', sessionDelete);
54
48
  }
55
49
  },
56
50
 
57
51
  async connect({ chainId } = {}) {
58
52
  try {
59
- const _provider = await this.getProvider();
53
+ const _provider = appKitProvidedConnector.getProvider('eip155');
60
54
  if (!_provider) throw new ProviderNotFoundError();
61
55
 
62
56
  // AppKit connector is already connected or handles its own connection.
@@ -75,8 +69,22 @@ export function UniversalConnector(appKitProvidedConnector: WalletConnector) {
75
69
  await this.switchChain?.({ chainId });
76
70
  currentChainId = chainId;
77
71
  }
78
-
79
- this.ready = true;
72
+ if (!accountsChanged) {
73
+ accountsChanged = this.onAccountsChanged.bind(this);
74
+ _provider.on('accountsChanged', accountsChanged);
75
+ }
76
+ if (!chainChanged) {
77
+ chainChanged = this.onChainChanged.bind(this);
78
+ _provider.on('chainChanged', chainChanged);
79
+ }
80
+ if (!disconnect) {
81
+ disconnect = this.onDisconnect.bind(this);
82
+ _provider.on('disconnect', disconnect);
83
+ }
84
+ if (!sessionDelete) {
85
+ sessionDelete = this.onSessionDelete.bind(this);
86
+ _provider.on('session_delete', sessionDelete);
87
+ }
80
88
 
81
89
  return { accounts: accountAddresses, chainId: currentChainId };
82
90
  } catch (error) {
@@ -86,18 +94,32 @@ export function UniversalConnector(appKitProvidedConnector: WalletConnector) {
86
94
  },
87
95
 
88
96
  async disconnect() {
89
- await appKitProvidedConnector.disconnect();
90
- config.emitter.emit('message', { type: 'externalDisconnect' });
91
- if (provider?.off && accountsChangedHandler && chainChangedHandler && disconnectHandler) {
92
- provider.off('accountsChanged', accountsChangedHandler);
93
- provider.off('chainChanged', chainChangedHandler);
94
- provider.off('disconnect', disconnectHandler);
95
- provider.off('session_delete', disconnectHandler);
96
- accountsChangedHandler = undefined;
97
- chainChangedHandler = undefined;
98
- disconnectHandler = undefined;
97
+ const _provider = await this.getProvider().catch(() => null);
98
+ try {
99
+ await appKitProvidedConnector.disconnect();
100
+ config.emitter.emit('message', { type: 'externalDisconnect' });
101
+ } catch (error) {
102
+ if (!/No matching key/i.test((error as Error).message)) {
103
+ throw error;
104
+ }
105
+ } finally {
106
+ if (chainChanged) {
107
+ _provider?.off('chainChanged', chainChanged);
108
+ chainChanged = undefined;
109
+ }
110
+ if (disconnect) {
111
+ _provider?.off('disconnect', disconnect);
112
+ disconnect = undefined;
113
+ }
114
+ if (accountsChanged) {
115
+ _provider?.off('accountsChanged', accountsChanged);
116
+ accountsChanged = undefined;
117
+ }
118
+ if (sessionDelete) {
119
+ _provider?.off('session_delete', sessionDelete);
120
+ sessionDelete = undefined;
121
+ }
99
122
  }
100
- this.ready = false;
101
123
  },
102
124
 
103
125
  async getAccounts() {
@@ -140,20 +162,10 @@ export function UniversalConnector(appKitProvidedConnector: WalletConnector) {
140
162
 
141
163
  async getProvider() {
142
164
  if (!provider) {
143
- provider = appKitProvidedConnector.getProvider();
165
+ provider = appKitProvidedConnector.getProvider('eip155');
144
166
  }
145
167
 
146
- const chainId = await this.getChainId();
147
-
148
- //TODO: Review this with gancho
149
- const _provider = {
150
- ...provider,
151
- request: (args: RequestArguments) => {
152
- return provider?.request(args, `eip155:${chainId}`);
153
- }
154
- };
155
-
156
- return Promise.resolve(_provider as Provider);
168
+ return provider;
157
169
  },
158
170
 
159
171
  async isAuthorized() {
@@ -167,7 +179,7 @@ export function UniversalConnector(appKitProvidedConnector: WalletConnector) {
167
179
  },
168
180
 
169
181
  async switchChain({ chainId }) {
170
- const _provider = await this.getProvider();
182
+ const _provider = appKitProvidedConnector.getProvider('eip155');
171
183
  if (!_provider) throw new Error('Provider not available for switching chain.');
172
184
  const newChain = config.chains.find(c => c.id === chainId);
173
185
 
@@ -179,28 +191,27 @@ export function UniversalConnector(appKitProvidedConnector: WalletConnector) {
179
191
  params: [{ chainId: numberToHex(chainId) }]
180
192
  });
181
193
 
182
- config.emitter.emit('change', { chainId });
183
-
184
194
  return newChain;
185
- } catch (error) {
186
- // Try to add chain if switch failed (common pattern)
187
- //4902 in MetaMask: Unrecognized chain ID
195
+ } catch (err) {
196
+ const error = err as RpcError;
197
+
198
+ if (/(user rejected)/i.test(error.message)) throw new UserRejectedRequestError(error);
199
+
188
200
  if ((error as any)?.code === 4902 || (error as any)?.data?.originalError?.code === 4902) {
201
+ // Indicates chain is not added to provider
189
202
  try {
203
+ const addEthereumChainParams = {
204
+ chainId: numberToHex(chainId),
205
+ chainName: newChain.name,
206
+ nativeCurrency: newChain.nativeCurrency,
207
+ rpcUrls: [newChain.rpcUrls.default?.http[0] ?? ''],
208
+ blockExplorerUrls: [newChain.blockExplorers?.default?.url]
209
+ };
210
+
190
211
  await _provider.request({
191
212
  method: 'wallet_addEthereumChain',
192
- params: [
193
- {
194
- chainId: numberToHex(chainId),
195
- chainName: newChain.name,
196
- nativeCurrency: newChain.nativeCurrency,
197
- rpcUrls: [newChain.rpcUrls.default?.http[0] ?? ''], // Take first default HTTP RPC URL
198
- blockExplorerUrls: [newChain.blockExplorers?.default?.url]
199
- }
200
- ]
213
+ params: [addEthereumChainParams]
201
214
  });
202
- await appKitProvidedConnector.switchNetwork(formatNetwork(newChain));
203
- config.emitter.emit('change', { chainId });
204
215
 
205
216
  return newChain;
206
217
  } catch (addError) {
@@ -212,17 +223,67 @@ export function UniversalConnector(appKitProvidedConnector: WalletConnector) {
212
223
  },
213
224
 
214
225
  onAccountsChanged(accounts: string[]) {
226
+ //Only emit if the account is an evm account
227
+ const shouldEmit = accounts.some(account => account.startsWith('0x'));
228
+
215
229
  if (accounts.length === 0) this.onDisconnect();
216
- else config.emitter.emit('change', { accounts: accounts.map(x => getAddress(x)) });
230
+ else if (shouldEmit)
231
+ config.emitter.emit('change', { accounts: accounts.map(x => getAddress(x)) });
217
232
  },
218
233
 
219
234
  onChainChanged(chain: string) {
220
235
  const chainId = Number(chain);
221
- config.emitter.emit('change', { chainId });
236
+
237
+ //Only emit if the chain is in the config (evm)
238
+ const shouldEmit = config.chains.some(c => c.id === chainId);
239
+ if (shouldEmit) {
240
+ config.emitter.emit('change', { chainId });
241
+ }
222
242
  },
223
243
 
224
- onDisconnect: () => {
244
+ async onDisconnect() {
225
245
  config.emitter.emit('disconnect');
246
+
247
+ try {
248
+ const _provider = await this.getProvider();
249
+
250
+ // Clean up event listeners
251
+ if (accountsChanged) {
252
+ _provider.off('accountsChanged', accountsChanged);
253
+ accountsChanged = undefined;
254
+ }
255
+ if (chainChanged) {
256
+ _provider.off('chainChanged', chainChanged);
257
+ chainChanged = undefined;
258
+ }
259
+ if (disconnect) {
260
+ _provider.off('disconnect', disconnect);
261
+ disconnect = undefined;
262
+ }
263
+ if (sessionDelete) {
264
+ _provider.off('session_delete', sessionDelete);
265
+ sessionDelete = undefined;
266
+ }
267
+ } catch (error) {
268
+ // If provider is not available, still clean up local references
269
+ // to prevent memory leaks
270
+ if (accountsChanged) {
271
+ accountsChanged = undefined;
272
+ }
273
+ if (chainChanged) {
274
+ chainChanged = undefined;
275
+ }
276
+ if (disconnect) {
277
+ disconnect = undefined;
278
+ }
279
+ if (sessionDelete) {
280
+ sessionDelete = undefined;
281
+ }
282
+ }
283
+ },
284
+
285
+ onSessionDelete() {
286
+ this.onDisconnect();
226
287
  }
227
288
  }));
228
289
  }