@reown/appkit-wagmi-react-native 0.0.0-develop-20250728153935 → 0.0.0-develop-20251008155354

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/lib/commonjs/adapter.js +183 -0
  2. package/lib/commonjs/adapter.js.map +1 -0
  3. package/lib/commonjs/connectors/UniversalConnector.js +230 -0
  4. package/lib/commonjs/connectors/UniversalConnector.js.map +1 -0
  5. package/lib/commonjs/index.js +8 -121
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/package.json +1 -0
  8. package/lib/commonjs/utils/helpers.js +16 -45
  9. package/lib/commonjs/utils/helpers.js.map +1 -1
  10. package/lib/module/adapter.js +178 -0
  11. package/lib/module/adapter.js.map +1 -0
  12. package/lib/module/connectors/UniversalConnector.js +226 -0
  13. package/lib/module/connectors/UniversalConnector.js.map +1 -0
  14. package/lib/module/index.js +4 -91
  15. package/lib/module/index.js.map +1 -1
  16. package/lib/module/utils/helpers.js +16 -41
  17. package/lib/module/utils/helpers.js.map +1 -1
  18. package/lib/typescript/adapter.d.ts +27 -0
  19. package/lib/typescript/adapter.d.ts.map +1 -0
  20. package/lib/typescript/connectors/UniversalConnector.d.ts +9 -0
  21. package/lib/typescript/connectors/UniversalConnector.d.ts.map +1 -0
  22. package/lib/typescript/index.d.ts +3 -24
  23. package/lib/typescript/index.d.ts.map +1 -1
  24. package/lib/typescript/utils/helpers.d.ts +3 -13
  25. package/lib/typescript/utils/helpers.d.ts.map +1 -1
  26. package/package.json +12 -28
  27. package/src/adapter.ts +227 -0
  28. package/src/connectors/UniversalConnector.ts +265 -0
  29. package/src/index.tsx +3 -121
  30. package/src/utils/helpers.ts +17 -57
  31. package/lib/commonjs/client.js +0 -516
  32. package/lib/commonjs/client.js.map +0 -1
  33. package/lib/commonjs/connectors/WalletConnectConnector.js +0 -355
  34. package/lib/commonjs/connectors/WalletConnectConnector.js.map +0 -1
  35. package/lib/commonjs/utils/defaultWagmiConfig.js +0 -46
  36. package/lib/commonjs/utils/defaultWagmiConfig.js.map +0 -1
  37. package/lib/module/client.js +0 -510
  38. package/lib/module/client.js.map +0 -1
  39. package/lib/module/connectors/WalletConnectConnector.js +0 -350
  40. package/lib/module/connectors/WalletConnectConnector.js.map +0 -1
  41. package/lib/module/utils/defaultWagmiConfig.js +0 -40
  42. package/lib/module/utils/defaultWagmiConfig.js.map +0 -1
  43. package/lib/typescript/client.d.ts +0 -40
  44. package/lib/typescript/client.d.ts.map +0 -1
  45. package/lib/typescript/connectors/WalletConnectConnector.d.ts +0 -74
  46. package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +0 -1
  47. package/lib/typescript/utils/defaultWagmiConfig.d.ts +0 -11
  48. package/lib/typescript/utils/defaultWagmiConfig.d.ts.map +0 -1
  49. package/src/client.ts +0 -644
  50. package/src/connectors/WalletConnectConnector.ts +0 -472
  51. package/src/utils/defaultWagmiConfig.ts +0 -53
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WagmiAdapter = void 0;
7
+ var _appkitCommonReactNative = require("@reown/appkit-common-react-native");
8
+ var _core = require("@wagmi/core");
9
+ var _helpers = require("./utils/helpers");
10
+ var _viem = require("viem");
11
+ var _UniversalConnector = require("./connectors/UniversalConnector");
12
+ class WagmiAdapter extends _appkitCommonReactNative.EVMAdapter {
13
+ static supportedNamespace = 'eip155';
14
+ constructor(configParams) {
15
+ super({
16
+ supportedNamespace: WagmiAdapter.supportedNamespace,
17
+ adapterType: 'wagmi'
18
+ });
19
+ this.wagmiChains = configParams.networks;
20
+ this.wagmiConfig = this.createWagmiInternalConfig(configParams);
21
+ }
22
+ createWagmiInternalConfig(configParams) {
23
+ // Connectors are typically added via wagmiConfig.connectors, but here AppKit manages the connection.
24
+ // We'll use the `connect` action with our dynamically created connector instance.
25
+ // So, the `connectors` array for createConfig can be empty and is added later.
26
+ const initialConnectors = [];
27
+ const transportsArr = configParams.networks.map(chain => [chain.id, (0, _helpers.getTransport)({
28
+ chainId: chain.id,
29
+ projectId: configParams.projectId
30
+ })]);
31
+ const transports = Object.fromEntries(transportsArr);
32
+ return (0, _core.createConfig)({
33
+ chains: configParams.networks,
34
+ connectors: initialConnectors,
35
+ // Empty, as we connect programmatically
36
+ transports,
37
+ multiInjectedProviderDiscovery: false
38
+ });
39
+ }
40
+ async switchNetwork(network) {
41
+ if (!this.wagmiConfigConnector) {
42
+ throw new Error('WagmiAdapter: AppKit connector not set or not connected via Wagmi.');
43
+ }
44
+ await (0, _core.switchChain)(this.wagmiConfig, {
45
+ chainId: network.id,
46
+ connector: this.wagmiConfigConnector
47
+ });
48
+ }
49
+ async getBalance(params) {
50
+ const {
51
+ network,
52
+ address,
53
+ tokens
54
+ } = params;
55
+ if (!this.connector) throw new Error('No active AppKit connector (EVMAdapter.connector)');
56
+ if (!network) throw new Error('No network provided');
57
+ if (!this.wagmiConfigConnector) {
58
+ throw new Error('WagmiAdapter: AppKit connector not properly configured with Wagmi.');
59
+ }
60
+ const balanceAddress = address || this.getAccounts()?.find(acc => acc.includes(network.id.toString()));
61
+ if (!balanceAddress) {
62
+ return Promise.resolve({
63
+ amount: '0.00',
64
+ symbol: network.nativeCurrency.symbol || 'ETH'
65
+ });
66
+ }
67
+ const accountHex = balanceAddress.split(':')[2];
68
+ const token = network?.caipNetworkId && tokens?.[network.caipNetworkId]?.address;
69
+ const balance = await (0, _core.getBalance)(this.wagmiConfig, {
70
+ address: accountHex,
71
+ chainId: network.id,
72
+ token
73
+ });
74
+ const formattedBalance = {
75
+ amount: (0, _viem.formatUnits)(balance.value, balance.decimals),
76
+ symbol: balance.symbol,
77
+ address: token ? `${network.caipNetworkId}:${token}` : undefined
78
+ };
79
+ this.emit('balanceChanged', {
80
+ address: balanceAddress,
81
+ balance: formattedBalance
82
+ });
83
+ return Promise.resolve(formattedBalance);
84
+ }
85
+ getAccounts() {
86
+ if (!this.connector) {
87
+ return undefined;
88
+ }
89
+ const namespaces = this.connector.getNamespaces();
90
+ if (!namespaces) {
91
+ return undefined;
92
+ }
93
+ const supportedNamespaceKey = this.getSupportedNamespace();
94
+ const accountsForNamespace = namespaces[supportedNamespaceKey];
95
+ return accountsForNamespace?.accounts;
96
+ }
97
+ async disconnect() {
98
+ if (this.unsubscribeWatchAccount) {
99
+ this.unsubscribeWatchAccount();
100
+ this.unsubscribeWatchAccount = undefined;
101
+ }
102
+ if (this.wagmiConfigConnector) {
103
+ await (0, _core.disconnect)(this.wagmiConfig, {
104
+ connector: this.wagmiConfigConnector
105
+ });
106
+ this.wagmiConfigConnector = undefined;
107
+ } else if (this.connector) {
108
+ await this.connector.disconnect();
109
+ this.onDisconnect();
110
+ }
111
+ const evmAdapterInstance = this;
112
+ if ('connector' in evmAdapterInstance) {
113
+ evmAdapterInstance.connector = undefined;
114
+ }
115
+ }
116
+ getSupportedNamespace() {
117
+ return WagmiAdapter.supportedNamespace;
118
+ }
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
+ });
131
+ if (_connector && this.wagmiChains) {
132
+ if (!this.wagmiConfigConnector) {
133
+ // Manually add the connector to the wagmiConfig
134
+ const connectorInstance = this.wagmiConfig._internal.connectors.setup((0, _UniversalConnector.UniversalConnector)(_connector));
135
+ this.wagmiConfig._internal.connectors.setState(prev => [...prev, connectorInstance]);
136
+ this.wagmiConfigConnector = connectorInstance;
137
+ connectorInstance.emitter.on('message', ({
138
+ type
139
+ }) => {
140
+ if (type === 'externalDisconnect') {
141
+ this.onDisconnect();
142
+ this.wagmiConfigConnector = undefined;
143
+ }
144
+ });
145
+ try {
146
+ (0, _core.connect)(this.wagmiConfig, {
147
+ connector: connectorInstance
148
+ });
149
+ } catch (error) {
150
+ this.wagmiConfigConnector = undefined;
151
+ }
152
+ }
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
+ });
180
+ }
181
+ }
182
+ exports.WagmiAdapter = WagmiAdapter;
183
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
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":[]}
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UniversalConnector = UniversalConnector;
7
+ var _viem = require("viem");
8
+ var _wagmi = require("wagmi");
9
+ function UniversalConnector(appKitProvidedConnector) {
10
+ let provider;
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
+ }
33
+ return (0, _wagmi.createConnector)(config => ({
34
+ id: 'walletconnect',
35
+ name: 'WalletConnect',
36
+ type: 'walletconnect',
37
+ ready: !!appKitProvidedConnector.getProvider('eip155'),
38
+ async setup() {
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);
46
+ }
47
+ },
48
+ async connect({
49
+ chainId
50
+ } = {}) {
51
+ try {
52
+ const _provider = appKitProvidedConnector.getProvider('eip155');
53
+ if (!_provider) throw new _wagmi.ProviderNotFoundError();
54
+
55
+ // AppKit connector is already connected or handles its own connection.
56
+ // We just need to sync its state with Wagmi.
57
+ const accountAddresses = await this.getAccounts();
58
+ if (!accountAddresses || accountAddresses.length === 0) {
59
+ throw new _viem.UserRejectedRequestError(new Error('No accounts found or user rejected connection via AppKit.'));
60
+ }
61
+ let currentChainId = await this.getChainId();
62
+
63
+ // Handle chain switching if requested and different
64
+ if (chainId && currentChainId !== chainId) {
65
+ await this.switchChain?.({
66
+ chainId
67
+ });
68
+ currentChainId = chainId;
69
+ }
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
+ }
86
+ return {
87
+ accounts: accountAddresses,
88
+ chainId: currentChainId
89
+ };
90
+ } catch (error) {
91
+ if (error instanceof _viem.UserRejectedRequestError) throw error;
92
+ throw new _viem.UserRejectedRequestError(error); // Generalize other errors as user rejection for simplicity
93
+ }
94
+ },
95
+ async disconnect() {
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);
108
+ }
109
+ },
110
+ async getAccounts() {
111
+ const namespaces = appKitProvidedConnector.getNamespaces();
112
+ const eip155Accounts = namespaces?.['eip155']?.accounts;
113
+ if (!eip155Accounts) return [];
114
+ return eip155Accounts.map(caipAddr => {
115
+ const parts = caipAddr.split(':');
116
+ return parts.length === 3 ? parts[2] : null;
117
+ }).filter(addrPart => !!addrPart).map(addrPart => (0, _viem.getAddress)(addrPart));
118
+ },
119
+ async getChainId() {
120
+ const chainId = appKitProvidedConnector.getChainId('eip155')?.split(':')[1];
121
+ if (chainId) return parseInt(chainId, 10);
122
+
123
+ // Fallback: Try to get from CAIP accounts if available
124
+ const namespaces = appKitProvidedConnector.getNamespaces();
125
+ const eip155Accounts = namespaces?.['eip155']?.accounts;
126
+ if (eip155Accounts && eip155Accounts.length > 0) {
127
+ const parts = eip155Accounts[0]?.split(':');
128
+ if (parts && parts.length > 1 && typeof parts[1] === 'string') {
129
+ const chainIdNum = parseInt(parts[1], 10);
130
+ if (!isNaN(chainIdNum)) {
131
+ return chainIdNum;
132
+ }
133
+ }
134
+ }
135
+ if (config.chains && config.chains.length > 0) return config.chains[0].id;
136
+ throw new Error('Unable to determine chainId.');
137
+ },
138
+ async getProvider() {
139
+ if (!provider) {
140
+ provider = appKitProvidedConnector.getProvider('eip155');
141
+ }
142
+ return provider;
143
+ },
144
+ async isAuthorized() {
145
+ try {
146
+ const accounts = await this.getAccounts();
147
+ return !!(accounts && accounts.length > 0);
148
+ } catch {
149
+ return false;
150
+ }
151
+ },
152
+ async switchChain({
153
+ chainId
154
+ }) {
155
+ const _provider = appKitProvidedConnector.getProvider('eip155');
156
+ if (!_provider) throw new Error('Provider not available for switching chain.');
157
+ const newChain = config.chains.find(c => c.id === chainId);
158
+ if (!newChain) throw new _viem.SwitchChainError(new _wagmi.ChainNotConfiguredError());
159
+ try {
160
+ await _provider.request({
161
+ method: 'wallet_switchEthereumChain',
162
+ params: [{
163
+ chainId: (0, _viem.numberToHex)(chainId)
164
+ }]
165
+ });
166
+ return newChain;
167
+ } catch (err) {
168
+ const error = err;
169
+ if (/(user rejected)/i.test(error.message)) throw new _viem.UserRejectedRequestError(error);
170
+ if (error?.code === 4902 || error?.data?.originalError?.code === 4902) {
171
+ // Indicates chain is not added to provider
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
+ };
180
+ await _provider.request({
181
+ method: 'wallet_addEthereumChain',
182
+ params: [addEthereumChainParams]
183
+ });
184
+ return newChain;
185
+ } catch (addError) {
186
+ throw new _viem.UserRejectedRequestError(addError);
187
+ }
188
+ }
189
+ throw new _viem.SwitchChainError(error);
190
+ }
191
+ },
192
+ onAccountsChanged(accounts) {
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
+ },
203
+ onChainChanged(chain) {
204
+ const chainId = Number(chain);
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
+ }
213
+ },
214
+ async onDisconnect() {
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();
227
+ }
228
+ }));
229
+ }
230
+ //# sourceMappingURL=UniversalConnector.js.map
@@ -0,0 +1 @@
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":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAQA,IAAAC,MAAA,GAAAD,OAAA;AAeO,SAASE,kBAAkBA,CAACC,uBAAwC,EAAE;EAC3E,IAAIC,QAA8B;EAElC,IAAIC,eAAoE;EACxE,IAAIC,YAA8D;EAClE,IAAIC,aAAgE;EACpE,IAAIC,UAA0D;EAE9D,SAASC,qBAAqBA,CAACC,SAA2B,EAAE;IAC1D,IAAIL,eAAe,EAAE;MACnBK,SAAS,EAAEC,GAAG,CAAC,iBAAiB,EAAEN,eAAe,CAAC;MAClDA,eAAe,GAAGO,SAAS;IAC7B;IACA,IAAIN,YAAY,EAAE;MAChBI,SAAS,EAAEC,GAAG,CAAC,cAAc,EAAEL,YAAY,CAAC;MAC5CA,YAAY,GAAGM,SAAS;IAC1B;IACA,IAAIJ,UAAU,EAAE;MACdE,SAAS,EAAEC,GAAG,CAAC,YAAY,EAAEH,UAAU,CAAC;MACxCA,UAAU,GAAGI,SAAS;IACxB;IACA,IAAIL,aAAa,EAAE;MACjBG,SAAS,EAAEC,GAAG,CAAC,gBAAgB,EAAEJ,aAAa,CAAC;MAC/CA,aAAa,GAAGK,SAAS;IAC3B;EACF;EAEA,OAAO,IAAAC,sBAAe,EAAuBC,MAAM,KAAK;IACtDC,EAAE,EAAE,eAAe;IACnBC,IAAI,EAAE,eAAe;IACrBC,IAAI,EAAE,eAAwB;IAC9BC,KAAK,EAAE,CAAC,CAACf,uBAAuB,CAACgB,WAAW,CAAC,QAAQ,CAAC;IAEtD,MAAMC,KAAKA,CAAA,EAAG;MACZ,MAAMV,SAAS,GAAG,MAAM,IAAI,CAACS,WAAW,CAAC,CAAC,CAACE,KAAK,CAAC,MAAM,IAAI,CAAC;MAC5D,IAAI,CAACX,SAAS,EAAE;QACd;MACF;MACA,IAAI,CAACH,aAAa,EAAE;QAClBA,aAAa,GAAG,IAAI,CAACe,eAAe,CAACC,IAAI,CAAC,IAAI,CAAC;QAC/Cb,SAAS,CAACc,EAAE,CAAC,gBAAgB,EAAEjB,aAAa,CAAC;MAC/C;IACF,CAAC;IAED,MAAMkB,OAAOA,CAAC;MAAEC;IAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;MAC9B,IAAI;QACF,MAAMhB,SAAS,GAAGP,uBAAuB,CAACgB,WAAW,CAAC,QAAQ,CAAC;QAC/D,IAAI,CAACT,SAAS,EAAE,MAAM,IAAIiB,4BAAqB,CAAC,CAAC;;QAEjD;QACA;QACA,MAAMC,gBAAgB,GAAG,MAAM,IAAI,CAACC,WAAW,CAAC,CAAC;QACjD,IAAI,CAACD,gBAAgB,IAAIA,gBAAgB,CAACE,MAAM,KAAK,CAAC,EAAE;UACtD,MAAM,IAAIC,8BAAwB,CAChC,IAAIC,KAAK,CAAC,2DAA2D,CACvE,CAAC;QACH;QAEA,IAAIC,cAAc,GAAG,MAAM,IAAI,CAACC,UAAU,CAAC,CAAC;;QAE5C;QACA,IAAIR,OAAO,IAAIO,cAAc,KAAKP,OAAO,EAAE;UACzC,MAAM,IAAI,CAACS,WAAW,GAAG;YAAET;UAAQ,CAAC,CAAC;UACrCO,cAAc,GAAGP,OAAO;QAC1B;QACA,IAAI,CAACrB,eAAe,EAAE;UACpBA,eAAe,GAAG,IAAI,CAAC+B,iBAAiB,CAACb,IAAI,CAAC,IAAI,CAAC;UACnDb,SAAS,CAACc,EAAE,CAAC,iBAAiB,EAAEnB,eAAe,CAAC;QAClD;QACA,IAAI,CAACC,YAAY,EAAE;UACjBA,YAAY,GAAG,IAAI,CAAC+B,cAAc,CAACd,IAAI,CAAC,IAAI,CAAC;UAC7Cb,SAAS,CAACc,EAAE,CAAC,cAAc,EAAElB,YAAY,CAAC;QAC5C;QACA,IAAI,CAACE,UAAU,EAAE;UACfA,UAAU,GAAG,IAAI,CAAC8B,YAAY,CAACf,IAAI,CAAC,IAAI,CAAC;UACzCb,SAAS,CAACc,EAAE,CAAC,YAAY,EAAEhB,UAAU,CAAC;QACxC;QACA,IAAI,CAACD,aAAa,EAAE;UAClBA,aAAa,GAAG,IAAI,CAACe,eAAe,CAACC,IAAI,CAAC,IAAI,CAAC;UAC/Cb,SAAS,CAACc,EAAE,CAAC,gBAAgB,EAAEjB,aAAa,CAAC;QAC/C;QAEA,OAAO;UAAEgC,QAAQ,EAAEX,gBAAgB;UAAEF,OAAO,EAAEO;QAAe,CAAC;MAChE,CAAC,CAAC,OAAOO,KAAK,EAAE;QACd,IAAIA,KAAK,YAAYT,8BAAwB,EAAE,MAAMS,KAAK;QAC1D,MAAM,IAAIT,8BAAwB,CAACS,KAAc,CAAC,CAAC,CAAC;MACtD;IACF,CAAC;IAED,MAAMhC,UAAUA,CAAA,EAAG;MACjB,MAAME,SAAS,GAAG,MAAM,IAAI,CAACS,WAAW,CAAC,CAAC,CAACE,KAAK,CAAC,MAAM,IAAI,CAAC;MAC5D,IAAI;QACF,MAAMlB,uBAAuB,CAACK,UAAU,CAAC,CAAC;QAC1CM,MAAM,CAAC2B,OAAO,CAACC,IAAI,CAAC,SAAS,EAAE;UAAEzB,IAAI,EAAE;QAAqB,CAAC,CAAC;MAChE,CAAC,CAAC,OAAOuB,KAAK,EAAE;QACd,IAAI,CAAC,kBAAkB,CAACG,IAAI,CAAEH,KAAK,CAAWI,OAAO,CAAC,EAAE;UACtD,MAAMJ,KAAK;QACb;MACF,CAAC,SAAS;QACR/B,qBAAqB,CAACC,SAAS,CAAC;MAClC;IACF,CAAC;IAED,MAAMmB,WAAWA,CAAA,EAAG;MAClB,MAAMgB,UAAU,GAAG1C,uBAAuB,CAAC2C,aAAa,CAAC,CAAC;MAC1D,MAAMC,cAAc,GAAGF,UAAU,GAAG,QAAQ,CAAC,EAAEN,QAAgC;MAC/E,IAAI,CAACQ,cAAc,EAAE,OAAO,EAAE;MAE9B,OAAOA,cAAc,CAClBC,GAAG,CAAEC,QAAgB,IAAK;QACzB,MAAMC,KAAK,GAAGD,QAAQ,CAACE,KAAK,CAAC,GAAG,CAAC;QAEjC,OAAOD,KAAK,CAACpB,MAAM,KAAK,CAAC,GAAGoB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;MAC7C,CAAC,CAAC,CACDE,MAAM,CAAEC,QAAQ,IAAyB,CAAC,CAACA,QAAQ,CAAC,CACpDL,GAAG,CAAEK,QAAgB,IAAK,IAAAC,gBAAU,EAACD,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,MAAMnB,UAAUA,CAAA,EAAG;MACjB,MAAMR,OAAO,GAAGvB,uBAAuB,CAAC+B,UAAU,CAAC,QAAQ,CAAC,EAAEiB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MAE3E,IAAIzB,OAAO,EAAE,OAAO6B,QAAQ,CAAC7B,OAAO,EAAE,EAAE,CAAC;;MAEzC;MACA,MAAMmB,UAAU,GAAG1C,uBAAuB,CAAC2C,aAAa,CAAC,CAAC;MAC1D,MAAMC,cAAc,GAAGF,UAAU,GAAG,QAAQ,CAAC,EAAEN,QAAgC;MAC/E,IAAIQ,cAAc,IAAIA,cAAc,CAACjB,MAAM,GAAG,CAAC,EAAE;QAC/C,MAAMoB,KAAK,GAAGH,cAAc,CAAC,CAAC,CAAC,EAAEI,KAAK,CAAC,GAAG,CAAC;QAC3C,IAAID,KAAK,IAAIA,KAAK,CAACpB,MAAM,GAAG,CAAC,IAAI,OAAOoB,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;UAC7D,MAAMM,UAAU,GAAGD,QAAQ,CAACL,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;UACzC,IAAI,CAACO,KAAK,CAACD,UAAU,CAAC,EAAE;YACtB,OAAOA,UAAU;UACnB;QACF;MACF;MACA,IAAI1C,MAAM,CAAC4C,MAAM,IAAI5C,MAAM,CAAC4C,MAAM,CAAC5B,MAAM,GAAG,CAAC,EAAE,OAAOhB,MAAM,CAAC4C,MAAM,CAAC,CAAC,CAAC,CAAC3C,EAAE;MACzE,MAAM,IAAIiB,KAAK,CAAC,8BAA8B,CAAC;IACjD,CAAC;IAED,MAAMb,WAAWA,CAAA,EAAG;MAClB,IAAI,CAACf,QAAQ,EAAE;QACbA,QAAQ,GAAGD,uBAAuB,CAACgB,WAAW,CAAC,QAAQ,CAAC;MAC1D;MAEA,OAAOf,QAAQ;IACjB,CAAC;IAED,MAAMuD,YAAYA,CAAA,EAAG;MACnB,IAAI;QACF,MAAMpB,QAAQ,GAAG,MAAM,IAAI,CAACV,WAAW,CAAC,CAAC;QAEzC,OAAO,CAAC,EAAEU,QAAQ,IAAIA,QAAQ,CAACT,MAAM,GAAG,CAAC,CAAC;MAC5C,CAAC,CAAC,MAAM;QACN,OAAO,KAAK;MACd;IACF,CAAC;IAED,MAAMK,WAAWA,CAAC;MAAET;IAAQ,CAAC,EAAE;MAC7B,MAAMhB,SAAS,GAAGP,uBAAuB,CAACgB,WAAW,CAAC,QAAQ,CAAC;MAC/D,IAAI,CAACT,SAAS,EAAE,MAAM,IAAIsB,KAAK,CAAC,6CAA6C,CAAC;MAC9E,MAAM4B,QAAQ,GAAG9C,MAAM,CAAC4C,MAAM,CAACG,IAAI,CAACC,CAAC,IAAIA,CAAC,CAAC/C,EAAE,KAAKW,OAAO,CAAC;MAE1D,IAAI,CAACkC,QAAQ,EAAE,MAAM,IAAIG,sBAAgB,CAAC,IAAIC,8BAAuB,CAAC,CAAC,CAAC;MAExE,IAAI;QACF,MAAMtD,SAAS,CAACuD,OAAO,CAAC;UACtBC,MAAM,EAAE,4BAA4B;UACpCC,MAAM,EAAE,CAAC;YAAEzC,OAAO,EAAE,IAAA0C,iBAAW,EAAC1C,OAAO;UAAE,CAAC;QAC5C,CAAC,CAAC;QAEF,OAAOkC,QAAQ;MACjB,CAAC,CAAC,OAAOS,GAAG,EAAE;QACZ,MAAM7B,KAAK,GAAG6B,GAAe;QAE7B,IAAI,kBAAkB,CAAC1B,IAAI,CAACH,KAAK,CAACI,OAAO,CAAC,EAAE,MAAM,IAAIb,8BAAwB,CAACS,KAAK,CAAC;QAErF,IAAKA,KAAK,EAAU8B,IAAI,KAAK,IAAI,IAAK9B,KAAK,EAAU+B,IAAI,EAAEC,aAAa,EAAEF,IAAI,KAAK,IAAI,EAAE;UACvF;UACA,IAAI;YACF,MAAMG,sBAAsB,GAAG;cAC7B/C,OAAO,EAAE,IAAA0C,iBAAW,EAAC1C,OAAO,CAAC;cAC7BgD,SAAS,EAAEd,QAAQ,CAAC5C,IAAI;cACxB2D,cAAc,EAAEf,QAAQ,CAACe,cAAc;cACvCC,OAAO,EAAE,CAAChB,QAAQ,CAACgB,OAAO,CAACC,OAAO,EAAEC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;cAClDC,iBAAiB,EAAE,CAACnB,QAAQ,CAACoB,cAAc,EAAEH,OAAO,EAAEI,GAAG;YAC3D,CAAC;YAED,MAAMvE,SAAS,CAACuD,OAAO,CAAC;cACtBC,MAAM,EAAE,yBAAyB;cACjCC,MAAM,EAAE,CAACM,sBAAsB;YACjC,CAAC,CAAC;YAEF,OAAOb,QAAQ;UACjB,CAAC,CAAC,OAAOsB,QAAQ,EAAE;YACjB,MAAM,IAAInD,8BAAwB,CAACmD,QAAiB,CAAC;UACvD;QACF;QACA,MAAM,IAAInB,sBAAgB,CAACvB,KAAc,CAAC;MAC5C;IACF,CAAC;IAEDJ,iBAAiBA,CAACG,QAAkB,EAAE;MACpC;MACA,MAAM4C,UAAU,GAAG5C,QAAQ,CAAC6C,IAAI,CAACC,OAAO,IAAIA,OAAO,CAACC,UAAU,CAAC,IAAI,CAAC,CAAC;MAErE,IAAI/C,QAAQ,CAACT,MAAM,KAAK,CAAC,EAAE;QACzB,IAAI,CAACQ,YAAY,CAAC,CAAC;MACrB,CAAC,MAAM,IAAI6C,UAAU,EAAE;QACrBrE,MAAM,CAAC2B,OAAO,CAACC,IAAI,CAAC,QAAQ,EAAE;UAAEH,QAAQ,EAAEA,QAAQ,CAACS,GAAG,CAACuC,CAAC,IAAI,IAAAjC,gBAAU,EAACiC,CAAC,CAAC;QAAE,CAAC,CAAC;MAC/E;IACF,CAAC;IAEDlD,cAAcA,CAACmD,KAAa,EAAE;MAC5B,MAAM9D,OAAO,GAAG+D,MAAM,CAACD,KAAK,CAAC;;MAE7B;MACA,MAAML,UAAU,GAAGrE,MAAM,CAAC4C,MAAM,CAAC0B,IAAI,CAACtB,CAAC,IAAIA,CAAC,CAAC/C,EAAE,KAAKW,OAAO,CAAC;MAC5D,IAAIyD,UAAU,EAAE;QACdrE,MAAM,CAAC2B,OAAO,CAACC,IAAI,CAAC,QAAQ,EAAE;UAAEhB;QAAQ,CAAC,CAAC;MAC5C;IACF,CAAC;IAED,MAAMY,YAAYA,CAAA,EAAG;MACnBxB,MAAM,CAAC2B,OAAO,CAACC,IAAI,CAAC,YAAY,CAAC;MAEjC,IAAI;QACF,MAAMhC,SAAS,GAAG,MAAM,IAAI,CAACS,WAAW,CAAC,CAAC;QAC1CV,qBAAqB,CAACC,SAAS,CAAC;MAClC,CAAC,CAAC,OAAO8B,KAAK,EAAE;QACd;QACA;QACA/B,qBAAqB,CAAC,IAAI,CAAC;MAC7B;IACF,CAAC;IAEDa,eAAeA,CAAA,EAAG;MAChB,IAAI,CAACgB,YAAY,CAAC,CAAC;IACrB;EACF,CAAC,CAAC,CAAC;AACL","ignoreList":[]}
@@ -3,137 +3,24 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "AccountButton", {
6
+ Object.defineProperty(exports, "WagmiAdapter", {
7
7
  enumerable: true,
8
8
  get: function () {
9
- return _appkitScaffoldReactNative.AccountButton;
9
+ return _adapter.WagmiAdapter;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "AppKit", {
12
+ Object.defineProperty(exports, "formatNetwork", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _appkitScaffoldReactNative.AppKit;
15
+ return _helpers.formatNetwork;
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "AppKitButton", {
18
+ Object.defineProperty(exports, "formatNetworks", {
19
19
  enumerable: true,
20
20
  get: function () {
21
- return _appkitScaffoldReactNative.AppKitButton;
21
+ return _helpers.formatNetworks;
22
22
  }
23
23
  });
24
- Object.defineProperty(exports, "ConnectButton", {
25
- enumerable: true,
26
- get: function () {
27
- return _appkitScaffoldReactNative.ConnectButton;
28
- }
29
- });
30
- Object.defineProperty(exports, "NetworkButton", {
31
- enumerable: true,
32
- get: function () {
33
- return _appkitScaffoldReactNative.NetworkButton;
34
- }
35
- });
36
- exports.createAppKit = createAppKit;
37
- Object.defineProperty(exports, "defaultWagmiConfig", {
38
- enumerable: true,
39
- get: function () {
40
- return _defaultWagmiConfig.defaultWagmiConfig;
41
- }
42
- });
43
- exports.useAppKit = useAppKit;
44
- exports.useAppKitEventSubscription = useAppKitEventSubscription;
45
- exports.useAppKitEvents = useAppKitEvents;
46
- exports.useAppKitState = useAppKitState;
47
- exports.useWalletInfo = useWalletInfo;
48
- require("@walletconnect/react-native-compat");
49
- var _react = require("react");
50
- var _appkitScaffoldReactNative = require("@reown/appkit-scaffold-react-native");
51
- var _appkitCommonReactNative = require("@reown/appkit-common-react-native");
52
- var _defaultWagmiConfig = require("./utils/defaultWagmiConfig");
53
- var _client = require("./client");
54
- // -- Types -------------------------------------------------------------------
55
-
56
- // -- Setup -------------------------------------------------------------------
57
- let modal;
58
- function createAppKit(options) {
59
- if (!modal) {
60
- modal = new _client.AppKit({
61
- ...options,
62
- _sdkVersion: `react-native-wagmi-${_appkitCommonReactNative.ConstantsUtil.VERSION}`
63
- });
64
- }
65
- return modal;
66
- }
67
-
68
- // -- Hooks -------------------------------------------------------------------
69
- function useAppKit() {
70
- if (!modal) {
71
- throw new Error('Please call "createAppKit" before using "useAppKit" hook');
72
- }
73
- async function open(options) {
74
- await modal?.open(options);
75
- }
76
- async function close() {
77
- await modal?.close();
78
- }
79
- return {
80
- open,
81
- close
82
- };
83
- }
84
- function useAppKitState() {
85
- if (!modal) {
86
- throw new Error('Please call "createAppKit" before using "useAppKitState" hook');
87
- }
88
- const [state, setState] = (0, _react.useState)(modal.getState());
89
- (0, _react.useEffect)(() => {
90
- const unsubscribe = modal?.subscribeState(newState => {
91
- if (newState) setState({
92
- ...newState
93
- });
94
- });
95
- return () => {
96
- unsubscribe?.();
97
- };
98
- }, []);
99
- return state;
100
- }
101
- function useWalletInfo() {
102
- if (!modal) {
103
- throw new Error('Please call "createAppKit" before using "useWalletInfo" hook');
104
- }
105
- const walletInfo = (0, _react.useSyncExternalStore)(modal.subscribeWalletInfo, modal.getWalletInfo, modal.getWalletInfo);
106
- return {
107
- walletInfo
108
- };
109
- }
110
- function useAppKitEvents(callback) {
111
- if (!modal) {
112
- throw new Error('Please call "createAppKit" before using "useAppKitEvents" hook');
113
- }
114
- const [event, setEvents] = (0, _react.useState)(modal.getEvent());
115
- (0, _react.useEffect)(() => {
116
- const unsubscribe = modal?.subscribeEvents(newEvent => {
117
- setEvents({
118
- ...newEvent
119
- });
120
- callback?.(newEvent);
121
- });
122
- return () => {
123
- unsubscribe?.();
124
- };
125
- }, [callback]);
126
- return event;
127
- }
128
- function useAppKitEventSubscription(event, callback) {
129
- if (!modal) {
130
- throw new Error('Please call "createAppKit" before using "useAppKitEventSubscription" hook');
131
- }
132
- (0, _react.useEffect)(() => {
133
- const unsubscribe = modal?.subscribeEvent(event, callback);
134
- return () => {
135
- unsubscribe?.();
136
- };
137
- }, [callback, event]);
138
- }
24
+ var _adapter = require("./adapter");
25
+ var _helpers = require("./utils/helpers");
139
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["require","_react","_appkitScaffoldReactNative","_appkitCommonReactNative","_defaultWagmiConfig","_client","modal","createAppKit","options","AppKit","_sdkVersion","ConstantsUtil","VERSION","useAppKit","Error","open","close","useAppKitState","state","setState","useState","getState","useEffect","unsubscribe","subscribeState","newState","useWalletInfo","walletInfo","useSyncExternalStore","subscribeWalletInfo","getWalletInfo","useAppKitEvents","callback","event","setEvents","getEvent","subscribeEvents","newEvent","useAppKitEventSubscription","subscribeEvent"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_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"}