@reown/appkit-wagmi-react-native 0.0.0-feat-multichain-20250902153701 → 0.0.0-feat-multichain-20250903132047

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.
@@ -9,42 +9,23 @@ var _wagmi = require("wagmi");
9
9
  var _helpers = require("../utils/helpers");
10
10
  function UniversalConnector(appKitProvidedConnector) {
11
11
  let provider;
12
- let accountsChangedHandler;
13
- let chainChangedHandler;
14
- let disconnectHandler;
12
+ let accountsChanged;
13
+ let chainChanged;
14
+ let sessionDelete;
15
+ let disconnect;
15
16
  return (0, _wagmi.createConnector)(config => ({
16
17
  id: 'walletconnect',
17
18
  name: 'WalletConnect',
18
19
  type: 'walletconnect',
19
20
  ready: !!appKitProvidedConnector.getProvider('eip155'),
20
21
  async setup() {
21
- provider = appKitProvidedConnector.getProvider('eip155');
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);
22
+ const _provider = await this.getProvider().catch(() => null);
23
+ if (!_provider) {
24
+ return;
25
+ }
26
+ if (!sessionDelete) {
27
+ sessionDelete = this.onSessionDelete.bind(this);
28
+ _provider.on('session_delete', sessionDelete);
48
29
  }
49
30
  },
50
31
  async connect({
@@ -69,7 +50,22 @@ function UniversalConnector(appKitProvidedConnector) {
69
50
  });
70
51
  currentChainId = chainId;
71
52
  }
72
- this.ready = true;
53
+ if (!accountsChanged) {
54
+ accountsChanged = this.onAccountsChanged.bind(this);
55
+ _provider.on('accountsChanged', accountsChanged);
56
+ }
57
+ if (!chainChanged) {
58
+ chainChanged = this.onChainChanged.bind(this);
59
+ _provider.on('chainChanged', chainChanged);
60
+ }
61
+ if (!disconnect) {
62
+ disconnect = this.onDisconnect.bind(this);
63
+ _provider.on('disconnect', disconnect);
64
+ }
65
+ if (!sessionDelete) {
66
+ sessionDelete = this.onSessionDelete.bind(this);
67
+ _provider.on('session_delete', sessionDelete);
68
+ }
73
69
  return {
74
70
  accounts: accountAddresses,
75
71
  chainId: currentChainId
@@ -80,20 +76,34 @@ function UniversalConnector(appKitProvidedConnector) {
80
76
  }
81
77
  },
82
78
  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;
79
+ const _provider = await this.getProvider().catch(() => null);
80
+ try {
81
+ await appKitProvidedConnector.disconnect();
82
+ config.emitter.emit('message', {
83
+ type: 'externalDisconnect'
84
+ });
85
+ } catch (error) {
86
+ if (!/No matching key/i.test(error.message)) {
87
+ throw error;
88
+ }
89
+ } finally {
90
+ if (chainChanged) {
91
+ _provider?.off('chainChanged', chainChanged);
92
+ chainChanged = undefined;
93
+ }
94
+ if (disconnect) {
95
+ _provider?.off('disconnect', disconnect);
96
+ disconnect = undefined;
97
+ }
98
+ if (accountsChanged) {
99
+ _provider?.off('accountsChanged', accountsChanged);
100
+ accountsChanged = undefined;
101
+ }
102
+ if (sessionDelete) {
103
+ _provider?.off('session_delete', sessionDelete);
104
+ sessionDelete = undefined;
105
+ }
95
106
  }
96
- this.ready = false;
97
107
  },
98
108
  async getAccounts() {
99
109
  const namespaces = appKitProvidedConnector.getNamespaces();
@@ -196,8 +206,47 @@ function UniversalConnector(appKitProvidedConnector) {
196
206
  chainId
197
207
  });
198
208
  },
199
- onDisconnect: () => {
209
+ async onDisconnect() {
200
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();
201
250
  }
202
251
  }));
203
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","isAuthorized","newChain","find","c","SwitchChainError","ChainNotConfiguredError","request","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","_helpers","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","code","data","originalError","chainName","nativeCurrency","rpcUrls","default","http","blockExplorerUrls","blockExplorers","url","switchNetwork","formatNetwork","addError","x","chain","Number"],"sourceRoot":"../../../src","sources":["connectors/UniversalConnector.ts"],"mappings":"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","ignoreList":[]}
@@ -5,42 +5,23 @@ import { ChainNotConfiguredError, createConnector, ProviderNotFoundError } from
5
5
  import { formatNetwork } from '../utils/helpers';
6
6
  export function UniversalConnector(appKitProvidedConnector) {
7
7
  let provider;
8
- let accountsChangedHandler;
9
- let chainChangedHandler;
10
- let disconnectHandler;
8
+ let accountsChanged;
9
+ let chainChanged;
10
+ let sessionDelete;
11
+ let disconnect;
11
12
  return createConnector(config => ({
12
13
  id: 'walletconnect',
13
14
  name: 'WalletConnect',
14
15
  type: 'walletconnect',
15
16
  ready: !!appKitProvidedConnector.getProvider('eip155'),
16
17
  async setup() {
17
- provider = appKitProvidedConnector.getProvider('eip155');
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);
18
+ const _provider = await this.getProvider().catch(() => null);
19
+ if (!_provider) {
20
+ return;
21
+ }
22
+ if (!sessionDelete) {
23
+ sessionDelete = this.onSessionDelete.bind(this);
24
+ _provider.on('session_delete', sessionDelete);
44
25
  }
45
26
  },
46
27
  async connect({
@@ -65,7 +46,22 @@ export function UniversalConnector(appKitProvidedConnector) {
65
46
  });
66
47
  currentChainId = chainId;
67
48
  }
68
- this.ready = true;
49
+ if (!accountsChanged) {
50
+ accountsChanged = this.onAccountsChanged.bind(this);
51
+ _provider.on('accountsChanged', accountsChanged);
52
+ }
53
+ if (!chainChanged) {
54
+ chainChanged = this.onChainChanged.bind(this);
55
+ _provider.on('chainChanged', chainChanged);
56
+ }
57
+ if (!disconnect) {
58
+ disconnect = this.onDisconnect.bind(this);
59
+ _provider.on('disconnect', disconnect);
60
+ }
61
+ if (!sessionDelete) {
62
+ sessionDelete = this.onSessionDelete.bind(this);
63
+ _provider.on('session_delete', sessionDelete);
64
+ }
69
65
  return {
70
66
  accounts: accountAddresses,
71
67
  chainId: currentChainId
@@ -76,20 +72,34 @@ export function UniversalConnector(appKitProvidedConnector) {
76
72
  }
77
73
  },
78
74
  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;
75
+ const _provider = await this.getProvider().catch(() => null);
76
+ try {
77
+ await appKitProvidedConnector.disconnect();
78
+ config.emitter.emit('message', {
79
+ type: 'externalDisconnect'
80
+ });
81
+ } catch (error) {
82
+ if (!/No matching key/i.test(error.message)) {
83
+ throw error;
84
+ }
85
+ } finally {
86
+ if (chainChanged) {
87
+ _provider?.off('chainChanged', chainChanged);
88
+ chainChanged = undefined;
89
+ }
90
+ if (disconnect) {
91
+ _provider?.off('disconnect', disconnect);
92
+ disconnect = undefined;
93
+ }
94
+ if (accountsChanged) {
95
+ _provider?.off('accountsChanged', accountsChanged);
96
+ accountsChanged = undefined;
97
+ }
98
+ if (sessionDelete) {
99
+ _provider?.off('session_delete', sessionDelete);
100
+ sessionDelete = undefined;
101
+ }
91
102
  }
92
- this.ready = false;
93
103
  },
94
104
  async getAccounts() {
95
105
  const namespaces = appKitProvidedConnector.getNamespaces();
@@ -192,8 +202,47 @@ export function UniversalConnector(appKitProvidedConnector) {
192
202
  chainId
193
203
  });
194
204
  },
195
- onDisconnect: () => {
205
+ async onDisconnect() {
196
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();
197
246
  }
198
247
  }));
199
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","isAuthorized","newChain","find","c","request","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","formatNetwork","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","code","data","originalError","chainName","nativeCurrency","rpcUrls","default","http","blockExplorerUrls","blockExplorers","url","switchNetwork","addError","x","chain","Number"],"sourceRoot":"../../../src","sources":["connectors/UniversalConnector.ts"],"mappings":"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","ignoreList":[]}
@@ -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,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAWnF,wBAAgB,kBAAkB,CAAC,uBAAuB,EAAE,eAAe;WAO/B,OAAO;4BAmMlD"}
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,oFA+P1E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reown/appkit-wagmi-react-native",
3
- "version": "0.0.0-feat-multichain-20250902153701",
3
+ "version": "0.0.0-feat-multichain-20250903132047",
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-feat-multichain-20250902153701",
44
- "@reown/appkit-react-native": "0.0.0-feat-multichain-20250902153701",
45
- "@reown/appkit-siwe-react-native": "0.0.0-feat-multichain-20250902153701"
43
+ "@reown/appkit-common-react-native": "0.0.0-feat-multichain-20250903132047",
44
+ "@reown/appkit-react-native": "0.0.0-feat-multichain-20250903132047",
45
+ "@reown/appkit-siwe-react-native": "0.0.0-feat-multichain-20250903132047"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "@react-native-community/netinfo": "*",
@@ -1,4 +1,5 @@
1
1
  import type { Provider, WalletConnector } from '@reown/appkit-common-react-native';
2
+
2
3
  import {
3
4
  getAddress,
4
5
  numberToHex,
@@ -6,47 +7,44 @@ import {
6
7
  UserRejectedRequestError,
7
8
  type Hex
8
9
  } from 'viem';
9
- import { ChainNotConfiguredError, createConnector, ProviderNotFoundError } from 'wagmi';
10
+ import {
11
+ ChainNotConfiguredError,
12
+ createConnector,
13
+ ProviderNotFoundError,
14
+ type Connector
15
+ } from 'wagmi';
10
16
  import { formatNetwork } from '../utils/helpers';
11
17
 
18
+ type UniversalConnector = Connector & {
19
+ onSessionDelete(data: { topic: string }): void;
20
+ };
21
+
22
+ type Properties = {
23
+ onSessionDelete(data: { topic: string }): void;
24
+ };
25
+
12
26
  export function UniversalConnector(appKitProvidedConnector: WalletConnector) {
13
27
  let provider: Provider | undefined;
14
28
 
15
- let accountsChangedHandler: ((accounts: string[]) => void) | undefined;
16
- let chainChangedHandler: ((chainId: string | number) => void) | undefined;
17
- let disconnectHandler: ((error?: Error) => void) | undefined;
18
-
19
- type AppKitConnectorProperties = { ready: boolean };
29
+ let accountsChanged: UniversalConnector['onAccountsChanged'] | undefined;
30
+ let chainChanged: UniversalConnector['onChainChanged'] | undefined;
31
+ let sessionDelete: UniversalConnector['onSessionDelete'] | undefined;
32
+ let disconnect: UniversalConnector['onDisconnect'] | undefined;
20
33
 
21
- return createConnector<Provider, AppKitConnectorProperties>(config => ({
34
+ return createConnector<Provider, Properties>(config => ({
22
35
  id: 'walletconnect',
23
36
  name: 'WalletConnect',
24
37
  type: 'walletconnect' as const,
25
38
  ready: !!appKitProvidedConnector.getProvider('eip155'),
26
39
 
27
40
  async setup() {
28
- provider = appKitProvidedConnector.getProvider('eip155');
29
- if (provider?.on) {
30
- accountsChangedHandler = (accounts: string[]) => {
31
- const hexAccounts = accounts.map(acc => getAddress(acc));
32
- config.emitter.emit('change', { accounts: hexAccounts });
33
- if (hexAccounts.length === 0) {
34
- config.emitter.emit('disconnect');
35
- }
36
- };
37
- chainChangedHandler = (chainId: string | number) => {
38
- const newChainId = typeof chainId === 'string' ? parseInt(chainId, 10) : chainId;
39
- config.emitter.emit('change', { chainId: newChainId });
40
- };
41
- disconnectHandler = (error?: Error) => {
42
- config.emitter.emit('disconnect');
43
- if (error) config.emitter.emit('error', { error });
44
- };
45
-
46
- if (accountsChangedHandler) provider.on('accountsChanged', accountsChangedHandler);
47
- if (chainChangedHandler) provider.on('chainChanged', chainChangedHandler);
48
- if (disconnectHandler) provider.on('disconnect', disconnectHandler);
49
- 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);
50
48
  }
51
49
  },
52
50
 
@@ -71,8 +69,22 @@ export function UniversalConnector(appKitProvidedConnector: WalletConnector) {
71
69
  await this.switchChain?.({ chainId });
72
70
  currentChainId = chainId;
73
71
  }
74
-
75
- 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
+ }
76
88
 
77
89
  return { accounts: accountAddresses, chainId: currentChainId };
78
90
  } catch (error) {
@@ -82,18 +94,32 @@ export function UniversalConnector(appKitProvidedConnector: WalletConnector) {
82
94
  },
83
95
 
84
96
  async disconnect() {
85
- await appKitProvidedConnector.disconnect();
86
- config.emitter.emit('message', { type: 'externalDisconnect' });
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;
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
+ }
95
122
  }
96
- this.ready = false;
97
123
  },
98
124
 
99
125
  async getAccounts() {
@@ -139,7 +165,7 @@ export function UniversalConnector(appKitProvidedConnector: WalletConnector) {
139
165
  provider = appKitProvidedConnector.getProvider('eip155');
140
166
  }
141
167
 
142
- return provider as Provider;
168
+ return provider;
143
169
  },
144
170
 
145
171
  async isAuthorized() {
@@ -207,8 +233,49 @@ export function UniversalConnector(appKitProvidedConnector: WalletConnector) {
207
233
  config.emitter.emit('change', { chainId });
208
234
  },
209
235
 
210
- onDisconnect: () => {
236
+ async onDisconnect() {
211
237
  config.emitter.emit('disconnect');
238
+
239
+ try {
240
+ const _provider = await this.getProvider();
241
+
242
+ // Clean up event listeners
243
+ if (accountsChanged) {
244
+ _provider.off('accountsChanged', accountsChanged);
245
+ accountsChanged = undefined;
246
+ }
247
+ if (chainChanged) {
248
+ _provider.off('chainChanged', chainChanged);
249
+ chainChanged = undefined;
250
+ }
251
+ if (disconnect) {
252
+ _provider.off('disconnect', disconnect);
253
+ disconnect = undefined;
254
+ }
255
+ if (sessionDelete) {
256
+ _provider.off('session_delete', sessionDelete);
257
+ sessionDelete = undefined;
258
+ }
259
+ } catch (error) {
260
+ // If provider is not available, still clean up local references
261
+ // to prevent memory leaks
262
+ if (accountsChanged) {
263
+ accountsChanged = undefined;
264
+ }
265
+ if (chainChanged) {
266
+ chainChanged = undefined;
267
+ }
268
+ if (disconnect) {
269
+ disconnect = undefined;
270
+ }
271
+ if (sessionDelete) {
272
+ sessionDelete = undefined;
273
+ }
274
+ }
275
+ },
276
+
277
+ onSessionDelete() {
278
+ this.onDisconnect();
212
279
  }
213
280
  }));
214
281
  }