@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.
- package/lib/commonjs/adapter.js +45 -5
- package/lib/commonjs/adapter.js.map +1 -1
- package/lib/commonjs/connectors/UniversalConnector.js +105 -89
- package/lib/commonjs/connectors/UniversalConnector.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/utils/helpers.js +2 -3
- package/lib/commonjs/utils/helpers.js.map +1 -1
- package/lib/module/adapter.js +48 -6
- package/lib/module/adapter.js.map +1 -1
- package/lib/module/connectors/UniversalConnector.js +107 -89
- package/lib/module/connectors/UniversalConnector.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/helpers.js +4 -3
- package/lib/module/utils/helpers.js.map +1 -1
- package/lib/typescript/adapter.d.ts +5 -2
- package/lib/typescript/adapter.d.ts.map +1 -1
- package/lib/typescript/connectors/UniversalConnector.d.ts +7 -3
- package/lib/typescript/connectors/UniversalConnector.d.ts.map +1 -1
- package/lib/typescript/utils/helpers.d.ts.map +1 -1
- package/package.json +13 -29
- package/src/adapter.ts +54 -7
- package/src/connectors/UniversalConnector.ts +123 -86
- package/src/utils/helpers.ts +2 -3
package/lib/commonjs/adapter.js
CHANGED
|
@@ -13,8 +13,8 @@ class WagmiAdapter extends _appkitCommonReactNative.EVMAdapter {
|
|
|
13
13
|
static supportedNamespace = 'eip155';
|
|
14
14
|
constructor(configParams) {
|
|
15
15
|
super({
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
supportedNamespace: WagmiAdapter.supportedNamespace,
|
|
17
|
+
adapterType: 'wagmi'
|
|
18
18
|
});
|
|
19
19
|
this.wagmiChains = configParams.networks;
|
|
20
20
|
this.wagmiConfig = this.createWagmiInternalConfig(configParams);
|
|
@@ -74,7 +74,7 @@ class WagmiAdapter extends _appkitCommonReactNative.EVMAdapter {
|
|
|
74
74
|
const formattedBalance = {
|
|
75
75
|
amount: (0, _viem.formatUnits)(balance.value, balance.decimals),
|
|
76
76
|
symbol: balance.symbol,
|
|
77
|
-
|
|
77
|
+
address: token ? `${network.caipNetworkId}:${token}` : undefined
|
|
78
78
|
};
|
|
79
79
|
this.emit('balanceChanged', {
|
|
80
80
|
address: balanceAddress,
|
|
@@ -95,6 +95,10 @@ class WagmiAdapter extends _appkitCommonReactNative.EVMAdapter {
|
|
|
95
95
|
return accountsForNamespace?.accounts;
|
|
96
96
|
}
|
|
97
97
|
async disconnect() {
|
|
98
|
+
if (this.unsubscribeWatchAccount) {
|
|
99
|
+
this.unsubscribeWatchAccount();
|
|
100
|
+
this.unsubscribeWatchAccount = undefined;
|
|
101
|
+
}
|
|
98
102
|
if (this.wagmiConfigConnector) {
|
|
99
103
|
await (0, _core.disconnect)(this.wagmiConfig, {
|
|
100
104
|
connector: this.wagmiConfigConnector
|
|
@@ -112,8 +116,18 @@ class WagmiAdapter extends _appkitCommonReactNative.EVMAdapter {
|
|
|
112
116
|
getSupportedNamespace() {
|
|
113
117
|
return WagmiAdapter.supportedNamespace;
|
|
114
118
|
}
|
|
115
|
-
|
|
116
|
-
|
|
119
|
+
|
|
120
|
+
// Override subscribeToEvents to prevent double subscription
|
|
121
|
+
// Wagmi handles provider events through its connector system and watchAccount
|
|
122
|
+
subscribeToEvents() {
|
|
123
|
+
// Do nothing - wagmi's watchAccount in setupWatchers handles all events
|
|
124
|
+
}
|
|
125
|
+
init({
|
|
126
|
+
connector: _connector
|
|
127
|
+
}) {
|
|
128
|
+
super.init({
|
|
129
|
+
connector: _connector
|
|
130
|
+
});
|
|
117
131
|
if (_connector && this.wagmiChains) {
|
|
118
132
|
if (!this.wagmiConfigConnector) {
|
|
119
133
|
// Manually add the connector to the wagmiConfig
|
|
@@ -137,6 +151,32 @@ class WagmiAdapter extends _appkitCommonReactNative.EVMAdapter {
|
|
|
137
151
|
}
|
|
138
152
|
}
|
|
139
153
|
}
|
|
154
|
+
this.setupWatchers();
|
|
155
|
+
}
|
|
156
|
+
setupWatchers() {
|
|
157
|
+
// Clean up existing subscription if any
|
|
158
|
+
this.unsubscribeWatchAccount?.();
|
|
159
|
+
this.unsubscribeWatchAccount = (0, _core.watchAccount)(this.wagmiConfig, {
|
|
160
|
+
onChange: (accountData, prevAccountData) => {
|
|
161
|
+
if (!this.connector) return;
|
|
162
|
+
|
|
163
|
+
// Handle disconnect
|
|
164
|
+
if (accountData.status === 'disconnected' && prevAccountData.address) {
|
|
165
|
+
this.onDisconnect();
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// Handle account address changes
|
|
170
|
+
if (accountData?.addresses && accountData?.address && accountData.address !== prevAccountData?.address) {
|
|
171
|
+
this.onAccountsChanged([...accountData.addresses]);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// Handle chain changes
|
|
175
|
+
if (accountData?.chainId && accountData.chainId !== prevAccountData?.chainId) {
|
|
176
|
+
this.onChainChanged(accountData.chainId?.toString());
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
});
|
|
140
180
|
}
|
|
141
181
|
}
|
|
142
182
|
exports.WagmiAdapter = WagmiAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_appkitCommonReactNative","require","_core","_helpers","_viem","_UniversalConnector","WagmiAdapter","EVMAdapter","supportedNamespace","constructor","configParams","
|
|
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","unsubscribeWatchAccount","disconnectWagmiCore","onDisconnect","evmAdapterInstance","subscribeToEvents","init","_connector","connectorInstance","_internal","setup","UniversalConnector","setState","prev","emitter","on","type","connectWagmi","error","setupWatchers","watchAccount","onChange","accountData","prevAccountData","status","addresses","onAccountsChanged","onChainChanged","exports"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,52 +6,50 @@ 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
|
|
13
|
-
let
|
|
14
|
-
let
|
|
11
|
+
let accountsChanged;
|
|
12
|
+
let chainChanged;
|
|
13
|
+
let sessionDelete;
|
|
14
|
+
let disconnect;
|
|
15
|
+
function cleanupEventListeners(_provider) {
|
|
16
|
+
if (accountsChanged) {
|
|
17
|
+
_provider?.off('accountsChanged', accountsChanged);
|
|
18
|
+
accountsChanged = undefined;
|
|
19
|
+
}
|
|
20
|
+
if (chainChanged) {
|
|
21
|
+
_provider?.off('chainChanged', chainChanged);
|
|
22
|
+
chainChanged = undefined;
|
|
23
|
+
}
|
|
24
|
+
if (disconnect) {
|
|
25
|
+
_provider?.off('disconnect', disconnect);
|
|
26
|
+
disconnect = undefined;
|
|
27
|
+
}
|
|
28
|
+
if (sessionDelete) {
|
|
29
|
+
_provider?.off('session_delete', sessionDelete);
|
|
30
|
+
sessionDelete = undefined;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
15
33
|
return (0, _wagmi.createConnector)(config => ({
|
|
16
34
|
id: 'walletconnect',
|
|
17
35
|
name: 'WalletConnect',
|
|
18
36
|
type: 'walletconnect',
|
|
19
|
-
ready: !!appKitProvidedConnector.getProvider(),
|
|
37
|
+
ready: !!appKitProvidedConnector.getProvider('eip155'),
|
|
20
38
|
async setup() {
|
|
21
|
-
|
|
22
|
-
if (
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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);
|
|
39
|
+
const _provider = await this.getProvider().catch(() => null);
|
|
40
|
+
if (!_provider) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (!sessionDelete) {
|
|
44
|
+
sessionDelete = this.onSessionDelete.bind(this);
|
|
45
|
+
_provider.on('session_delete', sessionDelete);
|
|
48
46
|
}
|
|
49
47
|
},
|
|
50
48
|
async connect({
|
|
51
49
|
chainId
|
|
52
50
|
} = {}) {
|
|
53
51
|
try {
|
|
54
|
-
const _provider =
|
|
52
|
+
const _provider = appKitProvidedConnector.getProvider('eip155');
|
|
55
53
|
if (!_provider) throw new _wagmi.ProviderNotFoundError();
|
|
56
54
|
|
|
57
55
|
// AppKit connector is already connected or handles its own connection.
|
|
@@ -69,7 +67,22 @@ function UniversalConnector(appKitProvidedConnector) {
|
|
|
69
67
|
});
|
|
70
68
|
currentChainId = chainId;
|
|
71
69
|
}
|
|
72
|
-
|
|
70
|
+
if (!accountsChanged) {
|
|
71
|
+
accountsChanged = this.onAccountsChanged.bind(this);
|
|
72
|
+
_provider.on('accountsChanged', accountsChanged);
|
|
73
|
+
}
|
|
74
|
+
if (!chainChanged) {
|
|
75
|
+
chainChanged = this.onChainChanged.bind(this);
|
|
76
|
+
_provider.on('chainChanged', chainChanged);
|
|
77
|
+
}
|
|
78
|
+
if (!disconnect) {
|
|
79
|
+
disconnect = this.onDisconnect.bind(this);
|
|
80
|
+
_provider.on('disconnect', disconnect);
|
|
81
|
+
}
|
|
82
|
+
if (!sessionDelete) {
|
|
83
|
+
sessionDelete = this.onSessionDelete.bind(this);
|
|
84
|
+
_provider.on('session_delete', sessionDelete);
|
|
85
|
+
}
|
|
73
86
|
return {
|
|
74
87
|
accounts: accountAddresses,
|
|
75
88
|
chainId: currentChainId
|
|
@@ -79,27 +92,24 @@ function UniversalConnector(appKitProvidedConnector) {
|
|
|
79
92
|
throw new _viem.UserRejectedRequestError(error); // Generalize other errors as user rejection for simplicity
|
|
80
93
|
}
|
|
81
94
|
},
|
|
82
|
-
|
|
83
95
|
async disconnect() {
|
|
84
|
-
await
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
+
const _provider = await this.getProvider().catch(() => null);
|
|
97
|
+
try {
|
|
98
|
+
await appKitProvidedConnector.disconnect();
|
|
99
|
+
config.emitter.emit('message', {
|
|
100
|
+
type: 'externalDisconnect'
|
|
101
|
+
});
|
|
102
|
+
} catch (error) {
|
|
103
|
+
if (!/No matching key/i.test(error.message)) {
|
|
104
|
+
throw error;
|
|
105
|
+
}
|
|
106
|
+
} finally {
|
|
107
|
+
cleanupEventListeners(_provider);
|
|
96
108
|
}
|
|
97
|
-
this.ready = false;
|
|
98
109
|
},
|
|
99
110
|
async getAccounts() {
|
|
100
111
|
const namespaces = appKitProvidedConnector.getNamespaces();
|
|
101
|
-
|
|
102
|
-
const eip155Accounts = namespaces?.eip155?.accounts;
|
|
112
|
+
const eip155Accounts = namespaces?.['eip155']?.accounts;
|
|
103
113
|
if (!eip155Accounts) return [];
|
|
104
114
|
return eip155Accounts.map(caipAddr => {
|
|
105
115
|
const parts = caipAddr.split(':');
|
|
@@ -112,8 +122,7 @@ function UniversalConnector(appKitProvidedConnector) {
|
|
|
112
122
|
|
|
113
123
|
// Fallback: Try to get from CAIP accounts if available
|
|
114
124
|
const namespaces = appKitProvidedConnector.getNamespaces();
|
|
115
|
-
|
|
116
|
-
const eip155Accounts = namespaces?.eip155?.accounts;
|
|
125
|
+
const eip155Accounts = namespaces?.['eip155']?.accounts;
|
|
117
126
|
if (eip155Accounts && eip155Accounts.length > 0) {
|
|
118
127
|
const parts = eip155Accounts[0]?.split(':');
|
|
119
128
|
if (parts && parts.length > 1 && typeof parts[1] === 'string') {
|
|
@@ -128,18 +137,9 @@ function UniversalConnector(appKitProvidedConnector) {
|
|
|
128
137
|
},
|
|
129
138
|
async getProvider() {
|
|
130
139
|
if (!provider) {
|
|
131
|
-
provider = appKitProvidedConnector.getProvider();
|
|
140
|
+
provider = appKitProvidedConnector.getProvider('eip155');
|
|
132
141
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
//TODO: Review this with gancho
|
|
136
|
-
const _provider = {
|
|
137
|
-
...provider,
|
|
138
|
-
request: args => {
|
|
139
|
-
return provider?.request(args, `eip155:${chainId}`);
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
return Promise.resolve(_provider);
|
|
142
|
+
return provider;
|
|
143
143
|
},
|
|
144
144
|
async isAuthorized() {
|
|
145
145
|
try {
|
|
@@ -152,7 +152,7 @@ function UniversalConnector(appKitProvidedConnector) {
|
|
|
152
152
|
async switchChain({
|
|
153
153
|
chainId
|
|
154
154
|
}) {
|
|
155
|
-
const _provider =
|
|
155
|
+
const _provider = appKitProvidedConnector.getProvider('eip155');
|
|
156
156
|
if (!_provider) throw new Error('Provider not available for switching chain.');
|
|
157
157
|
const newChain = config.chains.find(c => c.id === chainId);
|
|
158
158
|
if (!newChain) throw new _viem.SwitchChainError(new _wagmi.ChainNotConfiguredError());
|
|
@@ -163,29 +163,23 @@ function UniversalConnector(appKitProvidedConnector) {
|
|
|
163
163
|
chainId: (0, _viem.numberToHex)(chainId)
|
|
164
164
|
}]
|
|
165
165
|
});
|
|
166
|
-
config.emitter.emit('change', {
|
|
167
|
-
chainId
|
|
168
|
-
});
|
|
169
166
|
return newChain;
|
|
170
|
-
} catch (
|
|
171
|
-
|
|
172
|
-
|
|
167
|
+
} catch (err) {
|
|
168
|
+
const error = err;
|
|
169
|
+
if (/(user rejected)/i.test(error.message)) throw new _viem.UserRejectedRequestError(error);
|
|
173
170
|
if (error?.code === 4902 || error?.data?.originalError?.code === 4902) {
|
|
171
|
+
// Indicates chain is not added to provider
|
|
174
172
|
try {
|
|
173
|
+
const addEthereumChainParams = {
|
|
174
|
+
chainId: (0, _viem.numberToHex)(chainId),
|
|
175
|
+
chainName: newChain.name,
|
|
176
|
+
nativeCurrency: newChain.nativeCurrency,
|
|
177
|
+
rpcUrls: [newChain.rpcUrls.default?.http[0] ?? ''],
|
|
178
|
+
blockExplorerUrls: [newChain.blockExplorers?.default?.url]
|
|
179
|
+
};
|
|
175
180
|
await _provider.request({
|
|
176
181
|
method: 'wallet_addEthereumChain',
|
|
177
|
-
params: [
|
|
178
|
-
chainId: (0, _viem.numberToHex)(chainId),
|
|
179
|
-
chainName: newChain.name,
|
|
180
|
-
nativeCurrency: newChain.nativeCurrency,
|
|
181
|
-
rpcUrls: [newChain.rpcUrls.default?.http[0] ?? ''],
|
|
182
|
-
// Take first default HTTP RPC URL
|
|
183
|
-
blockExplorerUrls: [newChain.blockExplorers?.default?.url]
|
|
184
|
-
}]
|
|
185
|
-
});
|
|
186
|
-
await appKitProvidedConnector.switchNetwork((0, _helpers.formatNetwork)(newChain));
|
|
187
|
-
config.emitter.emit('change', {
|
|
188
|
-
chainId
|
|
182
|
+
params: [addEthereumChainParams]
|
|
189
183
|
});
|
|
190
184
|
return newChain;
|
|
191
185
|
} catch (addError) {
|
|
@@ -196,18 +190,40 @@ function UniversalConnector(appKitProvidedConnector) {
|
|
|
196
190
|
}
|
|
197
191
|
},
|
|
198
192
|
onAccountsChanged(accounts) {
|
|
199
|
-
if
|
|
200
|
-
|
|
201
|
-
|
|
193
|
+
//Only emit if the account is an evm account
|
|
194
|
+
const shouldEmit = accounts.some(account => account.startsWith('0x'));
|
|
195
|
+
if (accounts.length === 0) {
|
|
196
|
+
this.onDisconnect();
|
|
197
|
+
} else if (shouldEmit) {
|
|
198
|
+
config.emitter.emit('change', {
|
|
199
|
+
accounts: accounts.map(x => (0, _viem.getAddress)(x))
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
202
|
},
|
|
203
203
|
onChainChanged(chain) {
|
|
204
204
|
const chainId = Number(chain);
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
205
|
+
|
|
206
|
+
//Only emit if the chain is in the config (evm)
|
|
207
|
+
const shouldEmit = config.chains.some(c => c.id === chainId);
|
|
208
|
+
if (shouldEmit) {
|
|
209
|
+
config.emitter.emit('change', {
|
|
210
|
+
chainId
|
|
211
|
+
});
|
|
212
|
+
}
|
|
208
213
|
},
|
|
209
|
-
onDisconnect
|
|
214
|
+
async onDisconnect() {
|
|
210
215
|
config.emitter.emit('disconnect');
|
|
216
|
+
try {
|
|
217
|
+
const _provider = await this.getProvider();
|
|
218
|
+
cleanupEventListeners(_provider);
|
|
219
|
+
} catch (error) {
|
|
220
|
+
// If provider is not available, still clean up local references
|
|
221
|
+
// to prevent memory leaks
|
|
222
|
+
cleanupEventListeners(null);
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
onSessionDelete() {
|
|
226
|
+
this.onDisconnect();
|
|
211
227
|
}
|
|
212
228
|
}));
|
|
213
229
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_viem","require","_wagmi","
|
|
1
|
+
{"version":3,"names":["_viem","require","_wagmi","UniversalConnector","appKitProvidedConnector","provider","accountsChanged","chainChanged","sessionDelete","disconnect","cleanupEventListeners","_provider","off","undefined","createConnector","config","id","name","type","ready","getProvider","setup","catch","onSessionDelete","bind","on","connect","chainId","ProviderNotFoundError","accountAddresses","getAccounts","length","UserRejectedRequestError","Error","currentChainId","getChainId","switchChain","onAccountsChanged","onChainChanged","onDisconnect","accounts","error","emitter","emit","test","message","namespaces","getNamespaces","eip155Accounts","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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_adapter","require","_helpers"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA"}
|
|
1
|
+
{"version":3,"names":["_adapter","require","_helpers"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -6,14 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.formatNetwork = formatNetwork;
|
|
7
7
|
exports.formatNetworks = formatNetworks;
|
|
8
8
|
exports.getTransport = getTransport;
|
|
9
|
-
var _appkitReactNative = require("@reown/appkit-react-native");
|
|
10
|
-
var _appkitCommonReactNative = require("@reown/appkit-common-react-native");
|
|
11
9
|
var _viem = require("viem");
|
|
10
|
+
var _appkitCommonReactNative = require("@reown/appkit-common-react-native");
|
|
12
11
|
function getTransport({
|
|
13
12
|
chainId,
|
|
14
13
|
projectId
|
|
15
14
|
}) {
|
|
16
|
-
const RPC_URL =
|
|
15
|
+
const RPC_URL = _appkitCommonReactNative.ConstantsUtil.BLOCKCHAIN_API_RPC_URL;
|
|
17
16
|
if (!_appkitCommonReactNative.PresetsUtil.RpcChainIds.includes(chainId)) {
|
|
18
17
|
return (0, _viem.http)();
|
|
19
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_viem","require","_appkitCommonReactNative","getTransport","chainId","projectId","RPC_URL","ConstantsUtil","BLOCKCHAIN_API_RPC_URL","PresetsUtil","RpcChainIds","includes","http","EIP155","formatNetwork","network","rpcUrls","chainNamespace","caipNetworkId","id","formatNetworks","networks","map"],"sourceRoot":"../../../src","sources":["utils/helpers.ts"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AAOO,SAASE,YAAYA,CAAC;EAAEC,OAAO;EAAEC;AAAkD,CAAC,EAAE;EAC3F,MAAMC,OAAO,GAAGC,sCAAa,CAACC,sBAAsB;EAEpD,IAAI,CAACC,oCAAW,CAACC,WAAW,CAACC,QAAQ,CAACP,OAAO,CAAC,EAAE;IAC9C,OAAO,IAAAQ,UAAI,EAAC,CAAC;EACf;EAEA,OAAO,IAAAA,UAAI,EAAC,GAAGN,OAAO,gBAAgBC,sCAAa,CAACM,MAAM,IAAIT,OAAO,cAAcC,SAAS,EAAE,CAAC;AACjG;AAEO,SAASS,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;AAEO,SAASC,cAAcA,CAACC,QAAmB,EAAmB;EACnE,OAAOA,QAAQ,CAACC,GAAG,CAACR,aAAa,CAAC;AACpC","ignoreList":[]}
|
package/lib/module/adapter.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
1
3
|
import { EVMAdapter } from '@reown/appkit-common-react-native';
|
|
2
|
-
import { createConfig, getBalance as getBalanceWagmi, switchChain as switchChainWagmi, disconnect as disconnectWagmiCore, connect as connectWagmi } from '@wagmi/core';
|
|
4
|
+
import { createConfig, getBalance as getBalanceWagmi, switchChain as switchChainWagmi, disconnect as disconnectWagmiCore, connect as connectWagmi, watchAccount } from '@wagmi/core';
|
|
3
5
|
import { getTransport } from './utils/helpers';
|
|
4
6
|
import { formatUnits } from 'viem';
|
|
5
7
|
import { UniversalConnector } from './connectors/UniversalConnector';
|
|
@@ -7,8 +9,8 @@ export class WagmiAdapter extends EVMAdapter {
|
|
|
7
9
|
static supportedNamespace = 'eip155';
|
|
8
10
|
constructor(configParams) {
|
|
9
11
|
super({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
supportedNamespace: WagmiAdapter.supportedNamespace,
|
|
13
|
+
adapterType: 'wagmi'
|
|
12
14
|
});
|
|
13
15
|
this.wagmiChains = configParams.networks;
|
|
14
16
|
this.wagmiConfig = this.createWagmiInternalConfig(configParams);
|
|
@@ -68,7 +70,7 @@ export class WagmiAdapter extends EVMAdapter {
|
|
|
68
70
|
const formattedBalance = {
|
|
69
71
|
amount: formatUnits(balance.value, balance.decimals),
|
|
70
72
|
symbol: balance.symbol,
|
|
71
|
-
|
|
73
|
+
address: token ? `${network.caipNetworkId}:${token}` : undefined
|
|
72
74
|
};
|
|
73
75
|
this.emit('balanceChanged', {
|
|
74
76
|
address: balanceAddress,
|
|
@@ -89,6 +91,10 @@ export class WagmiAdapter extends EVMAdapter {
|
|
|
89
91
|
return accountsForNamespace?.accounts;
|
|
90
92
|
}
|
|
91
93
|
async disconnect() {
|
|
94
|
+
if (this.unsubscribeWatchAccount) {
|
|
95
|
+
this.unsubscribeWatchAccount();
|
|
96
|
+
this.unsubscribeWatchAccount = undefined;
|
|
97
|
+
}
|
|
92
98
|
if (this.wagmiConfigConnector) {
|
|
93
99
|
await disconnectWagmiCore(this.wagmiConfig, {
|
|
94
100
|
connector: this.wagmiConfigConnector
|
|
@@ -106,8 +112,18 @@ export class WagmiAdapter extends EVMAdapter {
|
|
|
106
112
|
getSupportedNamespace() {
|
|
107
113
|
return WagmiAdapter.supportedNamespace;
|
|
108
114
|
}
|
|
109
|
-
|
|
110
|
-
|
|
115
|
+
|
|
116
|
+
// Override subscribeToEvents to prevent double subscription
|
|
117
|
+
// Wagmi handles provider events through its connector system and watchAccount
|
|
118
|
+
subscribeToEvents() {
|
|
119
|
+
// Do nothing - wagmi's watchAccount in setupWatchers handles all events
|
|
120
|
+
}
|
|
121
|
+
init({
|
|
122
|
+
connector: _connector
|
|
123
|
+
}) {
|
|
124
|
+
super.init({
|
|
125
|
+
connector: _connector
|
|
126
|
+
});
|
|
111
127
|
if (_connector && this.wagmiChains) {
|
|
112
128
|
if (!this.wagmiConfigConnector) {
|
|
113
129
|
// Manually add the connector to the wagmiConfig
|
|
@@ -131,6 +147,32 @@ export class WagmiAdapter extends EVMAdapter {
|
|
|
131
147
|
}
|
|
132
148
|
}
|
|
133
149
|
}
|
|
150
|
+
this.setupWatchers();
|
|
151
|
+
}
|
|
152
|
+
setupWatchers() {
|
|
153
|
+
// Clean up existing subscription if any
|
|
154
|
+
this.unsubscribeWatchAccount?.();
|
|
155
|
+
this.unsubscribeWatchAccount = watchAccount(this.wagmiConfig, {
|
|
156
|
+
onChange: (accountData, prevAccountData) => {
|
|
157
|
+
if (!this.connector) return;
|
|
158
|
+
|
|
159
|
+
// Handle disconnect
|
|
160
|
+
if (accountData.status === 'disconnected' && prevAccountData.address) {
|
|
161
|
+
this.onDisconnect();
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// Handle account address changes
|
|
166
|
+
if (accountData?.addresses && accountData?.address && accountData.address !== prevAccountData?.address) {
|
|
167
|
+
this.onAccountsChanged([...accountData.addresses]);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// Handle chain changes
|
|
171
|
+
if (accountData?.chainId && accountData.chainId !== prevAccountData?.chainId) {
|
|
172
|
+
this.onChainChanged(accountData.chainId?.toString());
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
});
|
|
134
176
|
}
|
|
135
177
|
}
|
|
136
178
|
//# 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","
|
|
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","unsubscribeWatchAccount","onDisconnect","evmAdapterInstance","subscribeToEvents","init","_connector","connectorInstance","_internal","setup","setState","prev","emitter","on","type","error","setupWatchers","onChange","accountData","prevAccountData","status","addresses","onAccountsChanged","onChainChanged"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
|