@reown/appkit-wagmi-react-native 2.0.0 → 2.0.1

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.
@@ -1,51 +1,51 @@
1
+ "use strict";
2
+
1
3
  import { getAddress, numberToHex, SwitchChainError, UserRejectedRequestError } from 'viem';
2
4
  import { ChainNotConfiguredError, createConnector, ProviderNotFoundError } from 'wagmi';
3
- import { formatNetwork } from '../utils/helpers';
4
5
  export function UniversalConnector(appKitProvidedConnector) {
5
6
  let provider;
6
- let accountsChangedHandler;
7
- let chainChangedHandler;
8
- let disconnectHandler;
7
+ let accountsChanged;
8
+ let chainChanged;
9
+ let sessionDelete;
10
+ let disconnect;
11
+ function cleanupEventListeners(_provider) {
12
+ if (accountsChanged) {
13
+ _provider?.off('accountsChanged', accountsChanged);
14
+ accountsChanged = undefined;
15
+ }
16
+ if (chainChanged) {
17
+ _provider?.off('chainChanged', chainChanged);
18
+ chainChanged = undefined;
19
+ }
20
+ if (disconnect) {
21
+ _provider?.off('disconnect', disconnect);
22
+ disconnect = undefined;
23
+ }
24
+ if (sessionDelete) {
25
+ _provider?.off('session_delete', sessionDelete);
26
+ sessionDelete = undefined;
27
+ }
28
+ }
9
29
  return createConnector(config => ({
10
30
  id: 'walletconnect',
11
31
  name: 'WalletConnect',
12
32
  type: 'walletconnect',
13
- ready: !!appKitProvidedConnector.getProvider(),
33
+ ready: !!appKitProvidedConnector.getProvider('eip155'),
14
34
  async setup() {
15
- provider = appKitProvidedConnector.getProvider();
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);
35
+ const _provider = await this.getProvider().catch(() => null);
36
+ if (!_provider) {
37
+ return;
38
+ }
39
+ if (!sessionDelete) {
40
+ sessionDelete = this.onSessionDelete.bind(this);
41
+ _provider.on('session_delete', sessionDelete);
42
42
  }
43
43
  },
44
44
  async connect({
45
45
  chainId
46
46
  } = {}) {
47
47
  try {
48
- const _provider = await this.getProvider();
48
+ const _provider = appKitProvidedConnector.getProvider('eip155');
49
49
  if (!_provider) throw new ProviderNotFoundError();
50
50
 
51
51
  // AppKit connector is already connected or handles its own connection.
@@ -63,7 +63,22 @@ export function UniversalConnector(appKitProvidedConnector) {
63
63
  });
64
64
  currentChainId = chainId;
65
65
  }
66
- this.ready = true;
66
+ if (!accountsChanged) {
67
+ accountsChanged = this.onAccountsChanged.bind(this);
68
+ _provider.on('accountsChanged', accountsChanged);
69
+ }
70
+ if (!chainChanged) {
71
+ chainChanged = this.onChainChanged.bind(this);
72
+ _provider.on('chainChanged', chainChanged);
73
+ }
74
+ if (!disconnect) {
75
+ disconnect = this.onDisconnect.bind(this);
76
+ _provider.on('disconnect', disconnect);
77
+ }
78
+ if (!sessionDelete) {
79
+ sessionDelete = this.onSessionDelete.bind(this);
80
+ _provider.on('session_delete', sessionDelete);
81
+ }
67
82
  return {
68
83
  accounts: accountAddresses,
69
84
  chainId: currentChainId
@@ -73,27 +88,24 @@ export function UniversalConnector(appKitProvidedConnector) {
73
88
  throw new UserRejectedRequestError(error); // Generalize other errors as user rejection for simplicity
74
89
  }
75
90
  },
76
-
77
91
  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;
92
+ const _provider = await this.getProvider().catch(() => null);
93
+ try {
94
+ await appKitProvidedConnector.disconnect();
95
+ config.emitter.emit('message', {
96
+ type: 'externalDisconnect'
97
+ });
98
+ } catch (error) {
99
+ if (!/No matching key/i.test(error.message)) {
100
+ throw error;
101
+ }
102
+ } finally {
103
+ cleanupEventListeners(_provider);
90
104
  }
91
- this.ready = false;
92
105
  },
93
106
  async getAccounts() {
94
107
  const namespaces = appKitProvidedConnector.getNamespaces();
95
- // @ts-ignore
96
- const eip155Accounts = namespaces?.eip155?.accounts;
108
+ const eip155Accounts = namespaces?.['eip155']?.accounts;
97
109
  if (!eip155Accounts) return [];
98
110
  return eip155Accounts.map(caipAddr => {
99
111
  const parts = caipAddr.split(':');
@@ -106,8 +118,7 @@ export function UniversalConnector(appKitProvidedConnector) {
106
118
 
107
119
  // Fallback: Try to get from CAIP accounts if available
108
120
  const namespaces = appKitProvidedConnector.getNamespaces();
109
- // @ts-ignore
110
- const eip155Accounts = namespaces?.eip155?.accounts;
121
+ const eip155Accounts = namespaces?.['eip155']?.accounts;
111
122
  if (eip155Accounts && eip155Accounts.length > 0) {
112
123
  const parts = eip155Accounts[0]?.split(':');
113
124
  if (parts && parts.length > 1 && typeof parts[1] === 'string') {
@@ -122,18 +133,9 @@ export function UniversalConnector(appKitProvidedConnector) {
122
133
  },
123
134
  async getProvider() {
124
135
  if (!provider) {
125
- provider = appKitProvidedConnector.getProvider();
136
+ provider = appKitProvidedConnector.getProvider('eip155');
126
137
  }
127
- const chainId = await this.getChainId();
128
-
129
- //TODO: Review this with gancho
130
- const _provider = {
131
- ...provider,
132
- request: args => {
133
- return provider?.request(args, `eip155:${chainId}`);
134
- }
135
- };
136
- return Promise.resolve(_provider);
138
+ return provider;
137
139
  },
138
140
  async isAuthorized() {
139
141
  try {
@@ -146,7 +148,7 @@ export function UniversalConnector(appKitProvidedConnector) {
146
148
  async switchChain({
147
149
  chainId
148
150
  }) {
149
- const _provider = await this.getProvider();
151
+ const _provider = appKitProvidedConnector.getProvider('eip155');
150
152
  if (!_provider) throw new Error('Provider not available for switching chain.');
151
153
  const newChain = config.chains.find(c => c.id === chainId);
152
154
  if (!newChain) throw new SwitchChainError(new ChainNotConfiguredError());
@@ -157,29 +159,23 @@ export function UniversalConnector(appKitProvidedConnector) {
157
159
  chainId: numberToHex(chainId)
158
160
  }]
159
161
  });
160
- config.emitter.emit('change', {
161
- chainId
162
- });
163
162
  return newChain;
164
- } catch (error) {
165
- // Try to add chain if switch failed (common pattern)
166
- //4902 in MetaMask: Unrecognized chain ID
163
+ } catch (err) {
164
+ const error = err;
165
+ if (/(user rejected)/i.test(error.message)) throw new UserRejectedRequestError(error);
167
166
  if (error?.code === 4902 || error?.data?.originalError?.code === 4902) {
167
+ // Indicates chain is not added to provider
168
168
  try {
169
+ const addEthereumChainParams = {
170
+ chainId: numberToHex(chainId),
171
+ chainName: newChain.name,
172
+ nativeCurrency: newChain.nativeCurrency,
173
+ rpcUrls: [newChain.rpcUrls.default?.http[0] ?? ''],
174
+ blockExplorerUrls: [newChain.blockExplorers?.default?.url]
175
+ };
169
176
  await _provider.request({
170
177
  method: 'wallet_addEthereumChain',
171
- params: [{
172
- chainId: numberToHex(chainId),
173
- chainName: newChain.name,
174
- nativeCurrency: newChain.nativeCurrency,
175
- rpcUrls: [newChain.rpcUrls.default?.http[0] ?? ''],
176
- // Take first default HTTP RPC URL
177
- blockExplorerUrls: [newChain.blockExplorers?.default?.url]
178
- }]
179
- });
180
- await appKitProvidedConnector.switchNetwork(formatNetwork(newChain));
181
- config.emitter.emit('change', {
182
- chainId
178
+ params: [addEthereumChainParams]
183
179
  });
184
180
  return newChain;
185
181
  } catch (addError) {
@@ -190,18 +186,40 @@ export function UniversalConnector(appKitProvidedConnector) {
190
186
  }
191
187
  },
192
188
  onAccountsChanged(accounts) {
193
- if (accounts.length === 0) this.onDisconnect();else config.emitter.emit('change', {
194
- accounts: accounts.map(x => getAddress(x))
195
- });
189
+ //Only emit if the account is an evm account
190
+ const shouldEmit = accounts.some(account => account.startsWith('0x'));
191
+ if (accounts.length === 0) {
192
+ this.onDisconnect();
193
+ } else if (shouldEmit) {
194
+ config.emitter.emit('change', {
195
+ accounts: accounts.map(x => getAddress(x))
196
+ });
197
+ }
196
198
  },
197
199
  onChainChanged(chain) {
198
200
  const chainId = Number(chain);
199
- config.emitter.emit('change', {
200
- chainId
201
- });
201
+
202
+ //Only emit if the chain is in the config (evm)
203
+ const shouldEmit = config.chains.some(c => c.id === chainId);
204
+ if (shouldEmit) {
205
+ config.emitter.emit('change', {
206
+ chainId
207
+ });
208
+ }
202
209
  },
203
- onDisconnect: () => {
210
+ async onDisconnect() {
204
211
  config.emitter.emit('disconnect');
212
+ try {
213
+ const _provider = await this.getProvider();
214
+ cleanupEventListeners(_provider);
215
+ } catch (error) {
216
+ // If provider is not available, still clean up local references
217
+ // to prevent memory leaks
218
+ cleanupEventListeners(null);
219
+ }
220
+ },
221
+ onSessionDelete() {
222
+ this.onDisconnect();
205
223
  }
206
224
  }));
207
225
  }
@@ -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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"}
1
+ {"version":3,"names":["getAddress","numberToHex","SwitchChainError","UserRejectedRequestError","ChainNotConfiguredError","createConnector","ProviderNotFoundError","UniversalConnector","appKitProvidedConnector","provider","accountsChanged","chainChanged","sessionDelete","disconnect","cleanupEventListeners","_provider","off","undefined","config","id","name","type","ready","getProvider","setup","catch","onSessionDelete","bind","on","connect","chainId","accountAddresses","getAccounts","length","Error","currentChainId","getChainId","switchChain","onAccountsChanged","onChainChanged","onDisconnect","accounts","error","emitter","emit","test","message","namespaces","getNamespaces","eip155Accounts","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,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import { WagmiAdapter } from './adapter';
2
4
  export { WagmiAdapter };
3
5
  export { formatNetworks, formatNetwork } from './utils/helpers';
@@ -1 +1 @@
1
- {"version":3,"names":["WagmiAdapter","formatNetworks","formatNetwork"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,YAAY,QAAQ,WAAW;AAExC,SAASA,YAAY;AACrB,SAASC,cAAc,EAAEC,aAAa,QAAQ,iBAAiB"}
1
+ {"version":3,"names":["WagmiAdapter","formatNetworks","formatNetwork"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,WAAW;AAExC,SAASA,YAAY;AACrB,SAASC,cAAc,EAAEC,aAAa,QAAQ,iBAAiB","ignoreList":[]}
@@ -1,11 +1,12 @@
1
- import { CoreHelperUtil } from '@reown/appkit-react-native';
2
- import { PresetsUtil, ConstantsUtil } from '@reown/appkit-common-react-native';
1
+ "use strict";
2
+
3
3
  import { http } from 'viem';
4
+ import { PresetsUtil, ConstantsUtil } from '@reown/appkit-common-react-native';
4
5
  export function getTransport({
5
6
  chainId,
6
7
  projectId
7
8
  }) {
8
- const RPC_URL = CoreHelperUtil.getBlockchainApiUrl();
9
+ const RPC_URL = ConstantsUtil.BLOCKCHAIN_API_RPC_URL;
9
10
  if (!PresetsUtil.RpcChainIds.includes(chainId)) {
10
11
  return http();
11
12
  }
@@ -1 +1 @@
1
- {"version":3,"names":["CoreHelperUtil","PresetsUtil","ConstantsUtil","http","getTransport","chainId","projectId","RPC_URL","getBlockchainApiUrl","RpcChainIds","includes","EIP155","formatNetwork","network","rpcUrls","chainNamespace","caipNetworkId","id","formatNetworks","networks","map"],"sourceRoot":"../../../src","sources":["utils/helpers.ts"],"mappings":"AAAA,SAASA,cAAc,QAAQ,4BAA4B;AAC3D,SACEC,WAAW,EACXC,aAAa,QAGR,mCAAmC;AAC1C,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;AAEA,OAAO,SAASM,aAAaA,CAACC,OAAgB,EAAiB;EAC7D,OAAO;IACL,GAAGA,OAAO;IACVC,OAAO,EAAE;MAAE,GAAGD,OAAO,CAACC;IAAQ,CAAC;IAC/BC,cAAc,EAAE,QAAQ;IACxBC,aAAa,EAAG,UAASH,OAAO,CAACI,EAAG;EACtC,CAAC;AACH;AAEA,OAAO,SAASC,cAAcA,CAACC,QAAmB,EAAmB;EACnE,OAAOA,QAAQ,CAACC,GAAG,CAACR,aAAa,CAAC;AACpC"}
1
+ {"version":3,"names":["http","PresetsUtil","ConstantsUtil","getTransport","chainId","projectId","RPC_URL","BLOCKCHAIN_API_RPC_URL","RpcChainIds","includes","EIP155","formatNetwork","network","rpcUrls","chainNamespace","caipNetworkId","id","formatNetworks","networks","map"],"sourceRoot":"../../../src","sources":["utils/helpers.ts"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,MAAM;AAC3B,SACEC,WAAW,EACXC,aAAa,QAGR,mCAAmC;AAE1C,OAAO,SAASC,YAAYA,CAAC;EAAEC,OAAO;EAAEC;AAAkD,CAAC,EAAE;EAC3F,MAAMC,OAAO,GAAGJ,aAAa,CAACK,sBAAsB;EAEpD,IAAI,CAACN,WAAW,CAACO,WAAW,CAACC,QAAQ,CAACL,OAAO,CAAC,EAAE;IAC9C,OAAOJ,IAAI,CAAC,CAAC;EACf;EAEA,OAAOA,IAAI,CAAC,GAAGM,OAAO,gBAAgBJ,aAAa,CAACQ,MAAM,IAAIN,OAAO,cAAcC,SAAS,EAAE,CAAC;AACjG;AAEA,OAAO,SAASM,aAAaA,CAACC,OAAgB,EAAiB;EAC7D,OAAO;IACL,GAAGA,OAAO;IACVC,OAAO,EAAE;MAAE,GAAGD,OAAO,CAACC;IAAQ,CAAC;IAC/BC,cAAc,EAAE,QAAQ;IACxBC,aAAa,EAAE,UAAUH,OAAO,CAACI,EAAE;EACrC,CAAC;AACH;AAEA,OAAO,SAASC,cAAcA,CAACC,QAAmB,EAAmB;EACnE,OAAOA,QAAQ,CAACC,GAAG,CAACR,aAAa,CAAC;AACpC","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> & {
@@ -11,6 +11,7 @@ export declare class WagmiAdapter extends EVMAdapter {
11
11
  wagmiChains: readonly Chain[] | undefined;
12
12
  wagmiConfig: Config;
13
13
  private wagmiConfigConnector?;
14
+ private unsubscribeWatchAccount?;
14
15
  constructor(configParams: ConfigParams);
15
16
  private createWagmiInternalConfig;
16
17
  switchNetwork(network: AppKitNetwork): Promise<void>;
@@ -18,7 +19,9 @@ export declare class WagmiAdapter extends EVMAdapter {
18
19
  getAccounts(): CaipAddress[] | undefined;
19
20
  disconnect(): Promise<void>;
20
21
  getSupportedNamespace(): ChainNamespace;
21
- setConnector(_connector: WalletConnector): void;
22
+ subscribeToEvents(): void;
23
+ init({ connector: _connector }: BlockchainAdapterInitParams): void;
24
+ setupWatchers(): void;
22
25
  }
23
26
  export {};
24
27
  //# 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;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,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;IACzC,OAAO,CAAC,uBAAuB,CAAC,CAAa;gBAEjC,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;IAoBjC,qBAAqB,IAAI,cAAc;IAM9B,iBAAiB,IAAI,IAAI;IAIzB,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,2BAA2B,GAAG,IAAI;IAgC3E,aAAa;CA+Bd"}
@@ -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,oFA+O1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,OAAO,EACb,MAAM,mCAAmC,CAAC;AAG3C,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,kDAQ1F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAO7D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAEnE"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,OAAO,EACb,MAAM,mCAAmC,CAAC;AAE3C,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,kDAQ1F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAO7D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAEnE"}
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@reown/appkit-wagmi-react-native",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "main": "lib/commonjs/index.js",
5
5
  "types": "lib/typescript/index.d.ts",
6
6
  "module": "lib/module/index.js",
7
+ "react-native": "src/index.tsx",
7
8
  "source": "src/index.tsx",
8
9
  "scripts": {
9
10
  "build": "bob build",
@@ -28,46 +29,29 @@
28
29
  "wagmi"
29
30
  ],
30
31
  "repository": "https://github.com/reown-com/appkit-react-native",
31
- "author": "Reown <support@reown.com> (https://reown.com)",
32
+ "author": "Reown (https://discord.gg/reown)",
32
33
  "homepage": "https://reown.com/appkit",
33
- "license": "Apache-2.0",
34
+ "license": "SEE LICENSE IN LICENSE.md",
34
35
  "bugs": {
35
36
  "url": "https://github.com/reown-com/appkit-react-native/issues"
36
37
  },
37
38
  "publishConfig": {
38
39
  "registry": "https://registry.npmjs.org/",
39
- "access": "public"
40
+ "access": "public",
41
+ "provenance": true
40
42
  },
41
43
  "dependencies": {
42
- "@reown/appkit-common-react-native": "2.0.0",
43
- "@reown/appkit-react-native": "2.0.0",
44
- "@reown/appkit-scaffold-utils-react-native": "2.0.0",
45
- "@reown/appkit-siwe-react-native": "1.2.4"
44
+ "@reown/appkit-common-react-native": "2.0.1",
45
+ "@reown/appkit-react-native": "2.0.1"
46
46
  },
47
47
  "peerDependencies": {
48
- "@react-native-async-storage/async-storage": ">=1.17.0",
49
48
  "@react-native-community/netinfo": "*",
50
- "@walletconnect/react-native-compat": ">=2.13.1",
51
- "react": ">=17",
52
- "react-native": ">=0.68.5",
49
+ "@walletconnect/react-native-compat": ">=2.16.1",
50
+ "react": ">=18",
51
+ "react-native": ">=0.72",
53
52
  "react-native-get-random-values": "*",
54
- "viem": ">=2.21.4",
55
- "wagmi": ">=2.12.10"
56
- },
57
- "react-native": "src/index.tsx",
58
- "react-native-builder-bob": {
59
- "source": "src",
60
- "output": "lib",
61
- "targets": [
62
- "commonjs",
63
- "module",
64
- [
65
- "typescript",
66
- {
67
- "tsc": "../../node_modules/.bin/tsc"
68
- }
69
- ]
70
- ]
53
+ "viem": ">=2 <3.0.0",
54
+ "wagmi": ">=2 <3.0.0"
71
55
  },
72
56
  "eslintIgnore": [
73
57
  "node_modules/",
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';
@@ -33,11 +34,12 @@ export class WagmiAdapter extends EVMAdapter {
33
34
  public wagmiChains: readonly Chain[] | undefined;
34
35
  public wagmiConfig!: Config;
35
36
  private wagmiConfigConnector?: Connector;
37
+ private unsubscribeWatchAccount?: () => void;
36
38
 
37
39
  constructor(configParams: ConfigParams) {
38
40
  super({
39
- projectId: configParams.projectId,
40
- supportedNamespace: WagmiAdapter.supportedNamespace
41
+ supportedNamespace: WagmiAdapter.supportedNamespace,
42
+ adapterType: 'wagmi'
41
43
  });
42
44
  this.wagmiChains = configParams.networks;
43
45
  this.wagmiConfig = this.createWagmiInternalConfig(configParams);
@@ -105,7 +107,7 @@ export class WagmiAdapter extends EVMAdapter {
105
107
  const formattedBalance = {
106
108
  amount: formatUnits(balance.value, balance.decimals),
107
109
  symbol: balance.symbol,
108
- contractAddress: token ? (`${network.caipNetworkId}:${token}` as CaipAddress) : undefined
110
+ address: token ? (`${network.caipNetworkId}:${token}` as CaipAddress) : undefined
109
111
  };
110
112
 
111
113
  this.emit('balanceChanged', { address: balanceAddress, balance: formattedBalance });
@@ -130,6 +132,11 @@ export class WagmiAdapter extends EVMAdapter {
130
132
  }
131
133
 
132
134
  async disconnect(): Promise<void> {
135
+ if (this.unsubscribeWatchAccount) {
136
+ this.unsubscribeWatchAccount();
137
+ this.unsubscribeWatchAccount = undefined;
138
+ }
139
+
133
140
  if (this.wagmiConfigConnector) {
134
141
  await disconnectWagmiCore(this.wagmiConfig, { connector: this.wagmiConfigConnector });
135
142
  this.wagmiConfigConnector = undefined;
@@ -148,8 +155,14 @@ export class WagmiAdapter extends EVMAdapter {
148
155
  return WagmiAdapter.supportedNamespace;
149
156
  }
150
157
 
151
- override setConnector(_connector: WalletConnector): void {
152
- super.setConnector(_connector);
158
+ // Override subscribeToEvents to prevent double subscription
159
+ // Wagmi handles provider events through its connector system and watchAccount
160
+ override subscribeToEvents(): void {
161
+ // Do nothing - wagmi's watchAccount in setupWatchers handles all events
162
+ }
163
+
164
+ override init({ connector: _connector }: BlockchainAdapterInitParams): void {
165
+ super.init({ connector: _connector });
153
166
 
154
167
  if (_connector && this.wagmiChains) {
155
168
  if (!this.wagmiConfigConnector) {
@@ -176,5 +189,39 @@ export class WagmiAdapter extends EVMAdapter {
176
189
  }
177
190
  }
178
191
  }
192
+
193
+ this.setupWatchers();
194
+ }
195
+
196
+ setupWatchers() {
197
+ // Clean up existing subscription if any
198
+ this.unsubscribeWatchAccount?.();
199
+
200
+ this.unsubscribeWatchAccount = watchAccount(this.wagmiConfig, {
201
+ onChange: (accountData, prevAccountData) => {
202
+ if (!this.connector) return;
203
+
204
+ // Handle disconnect
205
+ if (accountData.status === 'disconnected' && prevAccountData.address) {
206
+ this.onDisconnect();
207
+
208
+ return;
209
+ }
210
+
211
+ // Handle account address changes
212
+ if (
213
+ accountData?.addresses &&
214
+ accountData?.address &&
215
+ accountData.address !== prevAccountData?.address
216
+ ) {
217
+ this.onAccountsChanged([...accountData.addresses]);
218
+ }
219
+
220
+ // Handle chain changes
221
+ if (accountData?.chainId && accountData.chainId !== prevAccountData?.chainId) {
222
+ this.onChainChanged(accountData.chainId?.toString());
223
+ }
224
+ }
225
+ });
179
226
  }
180
227
  }