@reown/appkit-wagmi-react-native 0.0.0-feat-onramp-20250409135734 → 0.0.0-feat-multichain-20250512202036

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 (50) hide show
  1. package/lib/commonjs/adapter.js +151 -0
  2. package/lib/commonjs/adapter.js.map +1 -0
  3. package/lib/commonjs/connectors/UniversalConnector.js +216 -0
  4. package/lib/commonjs/connectors/UniversalConnector.js.map +1 -0
  5. package/lib/commonjs/index.js +3 -129
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/utils/helpers.js +2 -45
  8. package/lib/commonjs/utils/helpers.js.map +1 -1
  9. package/lib/module/adapter.js +144 -0
  10. package/lib/module/adapter.js.map +1 -0
  11. package/lib/module/connectors/UniversalConnector.js +210 -0
  12. package/lib/module/connectors/UniversalConnector.js.map +1 -0
  13. package/lib/module/index.js +2 -92
  14. package/lib/module/index.js.map +1 -1
  15. package/lib/module/utils/helpers.js +1 -40
  16. package/lib/module/utils/helpers.js.map +1 -1
  17. package/lib/typescript/adapter.d.ts +25 -0
  18. package/lib/typescript/adapter.d.ts.map +1 -0
  19. package/lib/typescript/connectors/UniversalConnector.d.ts +5 -0
  20. package/lib/typescript/connectors/UniversalConnector.d.ts.map +1 -0
  21. package/lib/typescript/index.d.ts +2 -25
  22. package/lib/typescript/index.d.ts.map +1 -1
  23. package/lib/typescript/utils/helpers.d.ts +0 -13
  24. package/lib/typescript/utils/helpers.d.ts.map +1 -1
  25. package/package.json +5 -5
  26. package/src/adapter.ts +192 -0
  27. package/src/connectors/UniversalConnector.ts +224 -0
  28. package/src/index.tsx +2 -122
  29. package/src/utils/helpers.ts +2 -59
  30. package/lib/commonjs/client.js +0 -516
  31. package/lib/commonjs/client.js.map +0 -1
  32. package/lib/commonjs/connectors/WalletConnectConnector.js +0 -353
  33. package/lib/commonjs/connectors/WalletConnectConnector.js.map +0 -1
  34. package/lib/commonjs/utils/defaultWagmiConfig.js +0 -46
  35. package/lib/commonjs/utils/defaultWagmiConfig.js.map +0 -1
  36. package/lib/module/client.js +0 -510
  37. package/lib/module/client.js.map +0 -1
  38. package/lib/module/connectors/WalletConnectConnector.js +0 -348
  39. package/lib/module/connectors/WalletConnectConnector.js.map +0 -1
  40. package/lib/module/utils/defaultWagmiConfig.js +0 -40
  41. package/lib/module/utils/defaultWagmiConfig.js.map +0 -1
  42. package/lib/typescript/client.d.ts +0 -40
  43. package/lib/typescript/client.d.ts.map +0 -1
  44. package/lib/typescript/connectors/WalletConnectConnector.d.ts +0 -74
  45. package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +0 -1
  46. package/lib/typescript/utils/defaultWagmiConfig.d.ts +0 -11
  47. package/lib/typescript/utils/defaultWagmiConfig.d.ts.map +0 -1
  48. package/src/client.ts +0 -644
  49. package/src/connectors/WalletConnectConnector.ts +0 -469
  50. package/src/utils/defaultWagmiConfig.ts +0 -53
@@ -0,0 +1,151 @@
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
+ projectId: configParams.projectId,
17
+ supportedNamespace: WagmiAdapter.supportedNamespace
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
+ } = params;
54
+ if (!this.connector) throw new Error('No active AppKit connector (EVMAdapter.connector)');
55
+ if (!network) throw new Error('No network provided');
56
+ if (!this.wagmiConfigConnector) {
57
+ throw new Error('WagmiAdapter: AppKit connector not properly configured with Wagmi.');
58
+ }
59
+ const balanceAddress = address || this.getAccounts()?.find(acc => acc.includes(network.id.toString()));
60
+ if (!balanceAddress) {
61
+ return Promise.resolve({
62
+ amount: '0.00',
63
+ symbol: network.nativeCurrency.symbol || 'ETH'
64
+ });
65
+ }
66
+ const accountHex = balanceAddress.split(':')[2];
67
+ const token = network?.caipNetworkId && params.tokens?.[network.caipNetworkId]?.address;
68
+ const balance = await (0, _core.getBalance)(this.wagmiConfig, {
69
+ address: accountHex,
70
+ chainId: network.id,
71
+ token
72
+ });
73
+ const formattedBalance = {
74
+ amount: (0, _viem.formatUnits)(balance.value, balance.decimals),
75
+ symbol: balance.symbol,
76
+ contractAddress: token ? `${network.caipNetworkId}:${token}` : undefined
77
+ };
78
+ this.emit('balanceChanged', {
79
+ namespace: this.getSupportedNamespace(),
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.wagmiConfigConnector) {
99
+ await (0, _core.disconnect)(this.wagmiConfig, {
100
+ connector: this.wagmiConfigConnector
101
+ });
102
+ this.wagmiConfigConnector = undefined;
103
+ } else if (this.connector) {
104
+ await this.connector.disconnect();
105
+ this.onDisconnect();
106
+ }
107
+ const evmAdapterInstance = this;
108
+ if ('connector' in evmAdapterInstance) {
109
+ evmAdapterInstance.connector = undefined;
110
+ }
111
+ }
112
+ async request(method, params) {
113
+ if (!this.connector) throw new Error('WagmiAdapter: No active AppKit connector');
114
+ const provider = this.connector.getProvider();
115
+ return provider.request({
116
+ method,
117
+ params
118
+ });
119
+ }
120
+ getSupportedNamespace() {
121
+ return WagmiAdapter.supportedNamespace;
122
+ }
123
+ setConnector(_connector) {
124
+ super.setConnector(_connector);
125
+ if (_connector && this.wagmiChains) {
126
+ if (!this.wagmiConfigConnector) {
127
+ // Manually add the connector to the wagmiConfig
128
+ const connectorInstance = this.wagmiConfig._internal.connectors.setup((0, _UniversalConnector.UniversalConnector)(_connector));
129
+ this.wagmiConfig._internal.connectors.setState(prev => [...prev, connectorInstance]);
130
+ this.wagmiConfigConnector = connectorInstance;
131
+ connectorInstance.emitter.on('message', ({
132
+ type
133
+ }) => {
134
+ if (type === 'externalDisconnect') {
135
+ this.onDisconnect();
136
+ this.wagmiConfigConnector = undefined;
137
+ }
138
+ });
139
+ try {
140
+ (0, _core.connect)(this.wagmiConfig, {
141
+ connector: connectorInstance
142
+ });
143
+ } catch (error) {
144
+ this.wagmiConfigConnector = undefined;
145
+ }
146
+ }
147
+ }
148
+ }
149
+ }
150
+ exports.WagmiAdapter = WagmiAdapter;
151
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_appkitCommonReactNative","require","_core","_helpers","_viem","_UniversalConnector","WagmiAdapter","EVMAdapter","supportedNamespace","constructor","configParams","projectId","wagmiChains","networks","wagmiConfig","createWagmiInternalConfig","initialConnectors","transportsArr","map","chain","id","getTransport","chainId","transports","Object","fromEntries","createConfig","chains","connectors","multiInjectedProviderDiscovery","switchNetwork","network","wagmiConfigConnector","Error","switchChainWagmi","connector","getBalance","params","address","balanceAddress","getAccounts","find","acc","includes","toString","Promise","resolve","amount","symbol","nativeCurrency","accountHex","split","token","caipNetworkId","tokens","balance","getBalanceWagmi","formattedBalance","formatUnits","value","decimals","contractAddress","undefined","emit","namespace","getSupportedNamespace","namespaces","getNamespaces","supportedNamespaceKey","accountsForNamespace","accounts","disconnect","disconnectWagmiCore","onDisconnect","evmAdapterInstance","request","method","provider","getProvider","setConnector","_connector","connectorInstance","_internal","setup","UniversalConnector","setState","prev","emitter","on","type","connectWagmi","error","exports"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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"}
@@ -0,0 +1,216 @@
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 accountsChangedHandler;
12
+ let chainChangedHandler;
13
+ let disconnectHandler;
14
+ return (0, _wagmi.createConnector)(config => ({
15
+ id: 'walletconnect',
16
+ name: 'WalletConnect',
17
+ type: 'walletconnect',
18
+ ready: !!appKitProvidedConnector.getProvider(),
19
+ async setup() {
20
+ provider = appKitProvidedConnector.getProvider();
21
+ // appkitConnector = appKitProvidedConnector;
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);
48
+ }
49
+ },
50
+ async connect({
51
+ chainId
52
+ } = {}) {
53
+ try {
54
+ const _provider = await this.getProvider();
55
+ if (!_provider) throw new _wagmi.ProviderNotFoundError();
56
+
57
+ // AppKit connector is already connected or handles its own connection.
58
+ // We just need to sync its state with Wagmi.
59
+ const accountAddresses = await this.getAccounts();
60
+ if (!accountAddresses || accountAddresses.length === 0) {
61
+ throw new _viem.UserRejectedRequestError(new Error('No accounts found or user rejected connection via AppKit.'));
62
+ }
63
+ let currentChainId = await this.getChainId();
64
+
65
+ // Handle chain switching if requested and different
66
+ if (chainId && currentChainId !== chainId) {
67
+ await this.switchChain?.({
68
+ chainId
69
+ });
70
+ currentChainId = chainId;
71
+ }
72
+ this.ready = true;
73
+ return {
74
+ accounts: accountAddresses,
75
+ chainId: currentChainId
76
+ };
77
+ } catch (error) {
78
+ if (error instanceof _viem.UserRejectedRequestError) throw error;
79
+ throw new _viem.UserRejectedRequestError(error); // Generalize other errors as user rejection for simplicity
80
+ }
81
+ },
82
+
83
+ async disconnect() {
84
+ await appKitProvidedConnector.disconnect();
85
+ config.emitter.emit('message', {
86
+ type: 'externalDisconnect'
87
+ });
88
+ if (provider?.off && accountsChangedHandler && chainChangedHandler && disconnectHandler) {
89
+ provider.off('accountsChanged', accountsChangedHandler);
90
+ provider.off('chainChanged', chainChangedHandler);
91
+ provider.off('disconnect', disconnectHandler);
92
+ provider.off('session_delete', disconnectHandler);
93
+ accountsChangedHandler = undefined;
94
+ chainChangedHandler = undefined;
95
+ disconnectHandler = undefined;
96
+ }
97
+ this.ready = false;
98
+ },
99
+ async getAccounts() {
100
+ const namespaces = appKitProvidedConnector.getNamespaces();
101
+ // @ts-ignore
102
+ const eip155Accounts = namespaces?.eip155?.accounts;
103
+ if (!eip155Accounts) return [];
104
+ return eip155Accounts.map(caipAddr => {
105
+ const parts = caipAddr.split(':');
106
+ return parts.length === 3 ? parts[2] : null;
107
+ }).filter(addrPart => !!addrPart).map(addrPart => (0, _viem.getAddress)(addrPart));
108
+ },
109
+ async getChainId() {
110
+ const _provider = appKitProvidedConnector.getProvider();
111
+ if (_provider) {
112
+ try {
113
+ const chainId = await _provider.request({
114
+ method: 'eth_chainId'
115
+ });
116
+ return parseInt(chainId, 10);
117
+ } catch (e) {
118
+ // console.warn("Could not get chainId from provider", e);
119
+ }
120
+ }
121
+ // Fallback: Try to get from CAIP accounts if available
122
+ const namespaces = appKitProvidedConnector.getNamespaces();
123
+ // @ts-ignore
124
+ const eip155Accounts = namespaces?.eip155?.accounts;
125
+ if (eip155Accounts && eip155Accounts.length > 0) {
126
+ const parts = eip155Accounts[0]?.split(':');
127
+ if (parts && parts.length > 1 && typeof parts[1] === 'string') {
128
+ const chainIdNum = parseInt(parts[1], 10);
129
+ if (!isNaN(chainIdNum)) {
130
+ return chainIdNum;
131
+ }
132
+ }
133
+ }
134
+ if (config.chains && config.chains.length > 0) return config.chains[0].id;
135
+ throw new Error('Unable to determine chainId.');
136
+ },
137
+ async getProvider() {
138
+ if (!provider) {
139
+ provider = appKitProvidedConnector.getProvider();
140
+ }
141
+ return Promise.resolve(provider);
142
+ },
143
+ async isAuthorized() {
144
+ try {
145
+ const accounts = await this.getAccounts();
146
+ return !!(accounts && accounts.length > 0);
147
+ } catch {
148
+ return false;
149
+ }
150
+ },
151
+ async switchChain({
152
+ chainId
153
+ }) {
154
+ const _provider = await this.getProvider();
155
+ if (!_provider) throw new Error('Provider not available for switching chain.');
156
+ const currentChainId = await this.getChainId();
157
+ if (currentChainId === chainId) return config.chains.find(c => c.id === chainId);
158
+ try {
159
+ await _provider.request({
160
+ method: 'wallet_switchEthereumChain',
161
+ params: [{
162
+ chainId: (0, _viem.numberToHex)(chainId)
163
+ }]
164
+ });
165
+ config.emitter.emit('change', {
166
+ chainId
167
+ });
168
+ return config.chains.find(c => c.id === chainId);
169
+ } catch (error) {
170
+ const chain = config.chains.find(c => c.id === chainId);
171
+ // Check if chain is not configured
172
+ if (!chain) throw new _viem.SwitchChainError(new _wagmi.ChainNotConfiguredError());
173
+
174
+ // Try to add chain if switch failed (common pattern)
175
+ //4902 in MetaMask: Unrecognized chain ID
176
+ if (error?.code === 4902 || error?.data?.originalError?.code === 4902) {
177
+ try {
178
+ await _provider.request({
179
+ method: 'wallet_addEthereumChain',
180
+ params: [{
181
+ chainId: (0, _viem.numberToHex)(chainId),
182
+ chainName: chain.name,
183
+ nativeCurrency: chain.nativeCurrency,
184
+ rpcUrls: [chain.rpcUrls.default?.http[0] ?? ''],
185
+ // Take first default HTTP RPC URL
186
+ blockExplorerUrls: [chain.blockExplorers?.default?.url]
187
+ }]
188
+ });
189
+ config.emitter.emit('change', {
190
+ chainId
191
+ });
192
+ return chain;
193
+ } catch (addError) {
194
+ throw new _viem.UserRejectedRequestError(addError);
195
+ }
196
+ }
197
+ throw new _viem.SwitchChainError(error);
198
+ }
199
+ },
200
+ onAccountsChanged(accounts) {
201
+ if (accounts.length === 0) this.onDisconnect();else config.emitter.emit('change', {
202
+ accounts: accounts.map(x => (0, _viem.getAddress)(x))
203
+ });
204
+ },
205
+ onChainChanged(chain) {
206
+ const chainId = Number(chain);
207
+ config.emitter.emit('change', {
208
+ chainId
209
+ });
210
+ },
211
+ onDisconnect: () => {
212
+ config.emitter.emit('disconnect');
213
+ }
214
+ }));
215
+ }
216
+ //# sourceMappingURL=UniversalConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_viem","require","_wagmi","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","request","method","e","chainIdNum","isNaN","chains","Promise","resolve","isAuthorized","find","c","params","numberToHex","chain","SwitchChainError","ChainNotConfiguredError","code","data","originalError","chainName","nativeCurrency","rpcUrls","default","http","blockExplorerUrls","blockExplorers","url","addError","onAccountsChanged","onDisconnect","x","onChainChanged","Number"],"sourceRoot":"../../../src","sources":["connectors/UniversalConnector.ts"],"mappings":"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"}
@@ -3,137 +3,11 @@
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", {
13
- enumerable: true,
14
- get: function () {
15
- return _appkitScaffoldReactNative.AppKit;
16
- }
17
- });
18
- Object.defineProperty(exports, "AppKitButton", {
19
- enumerable: true,
20
- get: function () {
21
- return _appkitScaffoldReactNative.AppKitButton;
22
- }
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
- }
12
+ var _adapter = require("./adapter");
139
13
  //# 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"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA"}
@@ -3,61 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getAuthCaipNetworks = getAuthCaipNetworks;
7
- exports.getCaipDefaultChain = getCaipDefaultChain;
8
6
  exports.getTransport = getTransport;
9
- exports.getWalletConnectCaipNetworks = getWalletConnectCaipNetworks;
10
- exports.requireCaipAddress = requireCaipAddress;
11
- var _appkitScaffoldReactNative = require("@reown/appkit-scaffold-react-native");
7
+ var _appkitReactNative = require("@reown/appkit-react-native");
12
8
  var _appkitCommonReactNative = require("@reown/appkit-common-react-native");
13
9
  var _viem = require("viem");
14
- function getCaipDefaultChain(chain) {
15
- if (!chain) {
16
- return undefined;
17
- }
18
- return {
19
- id: `${_appkitCommonReactNative.ConstantsUtil.EIP155}:${chain.id}`,
20
- name: chain.name,
21
- imageId: _appkitCommonReactNative.PresetsUtil.EIP155NetworkImageIds[chain.id]
22
- };
23
- }
24
- async function getWalletConnectCaipNetworks(connector) {
25
- if (!connector) {
26
- throw new Error('networkControllerClient:getApprovedCaipNetworks - connector is undefined');
27
- }
28
- const provider = await connector?.getProvider();
29
- const ns = provider?.signer?.session?.namespaces;
30
- const nsMethods = ns?.[_appkitCommonReactNative.ConstantsUtil.EIP155]?.methods;
31
- const nsChains = ns?.[_appkitCommonReactNative.ConstantsUtil.EIP155]?.chains;
32
- return {
33
- supportsAllNetworks: Boolean(nsMethods?.includes(_appkitCommonReactNative.ConstantsUtil.ADD_CHAIN_METHOD)),
34
- approvedCaipNetworkIds: nsChains
35
- };
36
- }
37
- function getAuthCaipNetworks() {
38
- return {
39
- supportsAllNetworks: false,
40
- approvedCaipNetworkIds: _appkitCommonReactNative.PresetsUtil.RpcChainIds.map(id => `${_appkitCommonReactNative.ConstantsUtil.EIP155}:${id}`)
41
- };
42
- }
43
10
  function getTransport({
44
11
  chainId,
45
12
  projectId
46
13
  }) {
47
- const RPC_URL = _appkitScaffoldReactNative.CoreHelperUtil.getBlockchainApiUrl();
14
+ const RPC_URL = _appkitReactNative.CoreHelperUtil.getBlockchainApiUrl();
48
15
  if (!_appkitCommonReactNative.PresetsUtil.RpcChainIds.includes(chainId)) {
49
16
  return (0, _viem.http)();
50
17
  }
51
18
  return (0, _viem.http)(`${RPC_URL}/v1/?chainId=${_appkitCommonReactNative.ConstantsUtil.EIP155}:${chainId}&projectId=${projectId}`);
52
19
  }
53
- function requireCaipAddress(caipAddress) {
54
- if (!caipAddress) {
55
- throw new Error('No CAIP address provided');
56
- }
57
- const account = caipAddress.split(':')[2];
58
- if (!account) {
59
- throw new Error('Invalid CAIP address');
60
- }
61
- return account;
62
- }
63
20
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_appkitScaffoldReactNative","require","_appkitCommonReactNative","_viem","getCaipDefaultChain","chain","undefined","id","ConstantsUtil","EIP155","name","imageId","PresetsUtil","EIP155NetworkImageIds","getWalletConnectCaipNetworks","connector","Error","provider","getProvider","ns","signer","session","namespaces","nsMethods","methods","nsChains","chains","supportsAllNetworks","Boolean","includes","ADD_CHAIN_METHOD","approvedCaipNetworkIds","getAuthCaipNetworks","RpcChainIds","map","getTransport","chainId","projectId","RPC_URL","CoreHelperUtil","getBlockchainApiUrl","http","requireCaipAddress","caipAddress","account","split"],"sourceRoot":"../../../src","sources":["utils/helpers.ts"],"mappings":";;;;;;;;;;AAAA,IAAAA,0BAAA,GAAAC,OAAA;AAKA,IAAAC,wBAAA,GAAAD,OAAA;AAIA,IAAAE,KAAA,GAAAF,OAAA;AAEO,SAASG,mBAAmBA,CAACC,KAA2C,EAAE;EAC/E,IAAI,CAACA,KAAK,EAAE;IACV,OAAOC,SAAS;EAClB;EAEA,OAAO;IACLC,EAAE,EAAG,GAAEC,sCAAa,CAACC,MAAO,IAAGJ,KAAK,CAACE,EAAG,EAAC;IACzCG,IAAI,EAAEL,KAAK,CAACK,IAAI;IAChBC,OAAO,EAAEC,oCAAW,CAACC,qBAAqB,CAACR,KAAK,CAACE,EAAE;EACrD,CAAC;AACH;AAEO,eAAeO,4BAA4BA,CAACC,SAAqB,EAAE;EACxE,IAAI,CAACA,SAAS,EAAE;IACd,MAAM,IAAIC,KAAK,CAAC,0EAA0E,CAAC;EAC7F;EACA,MAAMC,QAAQ,GAAI,MAAMF,SAAS,EAAEG,WAAW,CAAC,CAE9C;EACD,MAAMC,EAAE,GAAGF,QAAQ,EAAEG,MAAM,EAAEC,OAAO,EAAEC,UAAU;EAChD,MAAMC,SAAS,GAAGJ,EAAE,GAAGX,sCAAa,CAACC,MAAM,CAAC,EAAEe,OAAO;EACrD,MAAMC,QAAQ,GAAGN,EAAE,GAAGX,sCAAa,CAACC,MAAM,CAAC,EAAEiB,MAAyB;EAEtE,OAAO;IACLC,mBAAmB,EAAEC,OAAO,CAACL,SAAS,EAAEM,QAAQ,CAACrB,sCAAa,CAACsB,gBAAgB,CAAC,CAAC;IACjFC,sBAAsB,EAAEN;EAC1B,CAAC;AACH;AAEO,SAASO,mBAAmBA,CAAA,EAAG;EACpC,OAAO;IACLL,mBAAmB,EAAE,KAAK;IAC1BI,sBAAsB,EAAEnB,oCAAW,CAACqB,WAAW,CAACC,GAAG,CACjD3B,EAAE,IAAK,GAAEC,sCAAa,CAACC,MAAO,IAAGF,EAAG,EACtC;EACF,CAAC;AACH;AAEO,SAAS4B,YAAYA,CAAC;EAAEC,OAAO;EAAEC;AAAkD,CAAC,EAAE;EAC3F,MAAMC,OAAO,GAAGC,yCAAc,CAACC,mBAAmB,CAAC,CAAC;EAEpD,IAAI,CAAC5B,oCAAW,CAACqB,WAAW,CAACJ,QAAQ,CAACO,OAAO,CAAC,EAAE;IAC9C,OAAO,IAAAK,UAAI,EAAC,CAAC;EACf;EAEA,OAAO,IAAAA,UAAI,EAAE,GAAEH,OAAQ,gBAAe9B,sCAAa,CAACC,MAAO,IAAG2B,OAAQ,cAAaC,SAAU,EAAC,CAAC;AACjG;AAEO,SAASK,kBAAkBA,CAACC,WAAmB,EAAE;EACtD,IAAI,CAACA,WAAW,EAAE;IAChB,MAAM,IAAI3B,KAAK,CAAC,0BAA0B,CAAC;EAC7C;EACA,MAAM4B,OAAO,GAAGD,WAAW,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAQ;EAChD,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAI5B,KAAK,CAAC,sBAAsB,CAAC;EACzC;EAEA,OAAO4B,OAAO;AAChB"}
1
+ {"version":3,"names":["_appkitReactNative","require","_appkitCommonReactNative","_viem","getTransport","chainId","projectId","RPC_URL","CoreHelperUtil","getBlockchainApiUrl","PresetsUtil","RpcChainIds","includes","http","ConstantsUtil","EIP155"],"sourceRoot":"../../../src","sources":["utils/helpers.ts"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEO,SAASG,YAAYA,CAAC;EAAEC,OAAO;EAAEC;AAAkD,CAAC,EAAE;EAC3F,MAAMC,OAAO,GAAGC,iCAAc,CAACC,mBAAmB,CAAC,CAAC;EAEpD,IAAI,CAACC,oCAAW,CAACC,WAAW,CAACC,QAAQ,CAACP,OAAO,CAAC,EAAE;IAC9C,OAAO,IAAAQ,UAAI,EAAC,CAAC;EACf;EAEA,OAAO,IAAAA,UAAI,EAAE,GAAEN,OAAQ,gBAAeO,sCAAa,CAACC,MAAO,IAAGV,OAAQ,cAAaC,SAAU,EAAC,CAAC;AACjG"}