@reown/appkit-core-react-native 0.0.0-feat-onramp-20250602154313 → 0.0.0-feat-multichain-20250604171123

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 (146) hide show
  1. package/lib/commonjs/controllers/ApiController.js +11 -11
  2. package/lib/commonjs/controllers/ApiController.js.map +1 -1
  3. package/lib/commonjs/controllers/BlockchainApiController.js +102 -14
  4. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  5. package/lib/commonjs/controllers/ConnectionController.js +7 -1
  6. package/lib/commonjs/controllers/ConnectionController.js.map +1 -1
  7. package/lib/commonjs/controllers/ConnectionsController.js +205 -0
  8. package/lib/commonjs/controllers/ConnectionsController.js.map +1 -0
  9. package/lib/commonjs/controllers/ConnectorController.js +1 -0
  10. package/lib/commonjs/controllers/ConnectorController.js.map +1 -1
  11. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  12. package/lib/commonjs/controllers/OnRampController.js +1 -2
  13. package/lib/commonjs/controllers/OnRampController.js.map +1 -1
  14. package/lib/commonjs/controllers/OptionsController.js +3 -3
  15. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  16. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  17. package/lib/commonjs/controllers/SendController.js +5 -5
  18. package/lib/commonjs/controllers/SendController.js.map +1 -1
  19. package/lib/commonjs/controllers/SwapController.js +51 -40
  20. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  21. package/lib/commonjs/controllers/ThemeController.js +9 -1
  22. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  23. package/lib/commonjs/controllers/TransactionsController.js +2 -2
  24. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  25. package/lib/commonjs/index.js +3 -3
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/utils/AssetUtil.js +5 -6
  28. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  29. package/lib/commonjs/utils/ConstantsUtil.js +217 -7
  30. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  31. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  32. package/lib/commonjs/utils/StorageUtil.js +67 -0
  33. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  34. package/lib/commonjs/utils/SwapApiUtil.js +19 -10
  35. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  36. package/lib/module/controllers/ApiController.js +11 -11
  37. package/lib/module/controllers/ApiController.js.map +1 -1
  38. package/lib/module/controllers/BlockchainApiController.js +102 -14
  39. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  40. package/lib/module/controllers/ConnectionController.js +7 -1
  41. package/lib/module/controllers/ConnectionController.js.map +1 -1
  42. package/lib/module/controllers/ConnectionsController.js +200 -0
  43. package/lib/module/controllers/ConnectionsController.js.map +1 -0
  44. package/lib/module/controllers/ConnectorController.js +1 -0
  45. package/lib/module/controllers/ConnectorController.js.map +1 -1
  46. package/lib/module/controllers/ModalController.js.map +1 -1
  47. package/lib/module/controllers/OnRampController.js +1 -2
  48. package/lib/module/controllers/OnRampController.js.map +1 -1
  49. package/lib/module/controllers/OptionsController.js +3 -3
  50. package/lib/module/controllers/OptionsController.js.map +1 -1
  51. package/lib/module/controllers/RouterController.js.map +1 -1
  52. package/lib/module/controllers/SendController.js +5 -5
  53. package/lib/module/controllers/SendController.js.map +1 -1
  54. package/lib/module/controllers/SwapController.js +51 -40
  55. package/lib/module/controllers/SwapController.js.map +1 -1
  56. package/lib/module/controllers/ThemeController.js +9 -1
  57. package/lib/module/controllers/ThemeController.js.map +1 -1
  58. package/lib/module/controllers/TransactionsController.js +2 -2
  59. package/lib/module/controllers/TransactionsController.js.map +1 -1
  60. package/lib/module/index.js +1 -1
  61. package/lib/module/index.js.map +1 -1
  62. package/lib/module/utils/AssetUtil.js +5 -6
  63. package/lib/module/utils/AssetUtil.js.map +1 -1
  64. package/lib/module/utils/ConstantsUtil.js +217 -7
  65. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  66. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  67. package/lib/module/utils/StorageUtil.js +67 -0
  68. package/lib/module/utils/StorageUtil.js.map +1 -1
  69. package/lib/module/utils/SwapApiUtil.js +19 -10
  70. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  71. package/lib/typescript/controllers/AccountController.d.ts +2 -2
  72. package/lib/typescript/controllers/AccountController.d.ts.map +1 -1
  73. package/lib/typescript/controllers/ApiController.d.ts +1 -1
  74. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  75. package/lib/typescript/controllers/BlockchainApiController.d.ts +14 -1
  76. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  77. package/lib/typescript/controllers/ConnectionController.d.ts +2 -0
  78. package/lib/typescript/controllers/ConnectionController.d.ts.map +1 -1
  79. package/lib/typescript/controllers/ConnectionsController.d.ts +43 -0
  80. package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -0
  81. package/lib/typescript/controllers/ConnectorController.d.ts.map +1 -1
  82. package/lib/typescript/controllers/ModalController.d.ts +1 -1
  83. package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
  84. package/lib/typescript/controllers/NetworkController.d.ts +1 -1
  85. package/lib/typescript/controllers/NetworkController.d.ts.map +1 -1
  86. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
  87. package/lib/typescript/controllers/OptionsController.d.ts +3 -2
  88. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
  89. package/lib/typescript/controllers/PublicStateController.d.ts +1 -1
  90. package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -1
  91. package/lib/typescript/controllers/RouterController.d.ts +2 -1
  92. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  93. package/lib/typescript/controllers/SwapController.d.ts +1 -1
  94. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  95. package/lib/typescript/controllers/ThemeController.d.ts +1 -1
  96. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
  97. package/lib/typescript/index.d.ts +1 -1
  98. package/lib/typescript/index.d.ts.map +1 -1
  99. package/lib/typescript/utils/AssetUtil.d.ts +2 -2
  100. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
  101. package/lib/typescript/utils/ConstantsUtil.d.ts +103 -1
  102. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  103. package/lib/typescript/utils/CoreHelperUtil.d.ts +2 -2
  104. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  105. package/lib/typescript/utils/FetchUtil.d.ts +1 -1
  106. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  107. package/lib/typescript/utils/NetworkUtil.d.ts +1 -1
  108. package/lib/typescript/utils/NetworkUtil.d.ts.map +1 -1
  109. package/lib/typescript/utils/StorageUtil.d.ts +13 -1
  110. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  111. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  112. package/lib/typescript/utils/TypeUtil.d.ts +3 -14
  113. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  114. package/package.json +2 -2
  115. package/src/controllers/AccountController.ts +2 -2
  116. package/src/controllers/ApiController.ts +12 -7
  117. package/src/controllers/BlockchainApiController.ts +134 -14
  118. package/src/controllers/ConnectionController.ts +10 -2
  119. package/src/controllers/ConnectionsController.ts +291 -0
  120. package/src/controllers/ConnectorController.ts +1 -0
  121. package/src/controllers/ModalController.ts +2 -1
  122. package/src/controllers/NetworkController.ts +1 -1
  123. package/src/controllers/OnRampController.ts +1 -5
  124. package/src/controllers/OptionsController.ts +7 -6
  125. package/src/controllers/PublicStateController.ts +1 -1
  126. package/src/controllers/RouterController.ts +2 -1
  127. package/src/controllers/SendController.ts +5 -5
  128. package/src/controllers/SwapController.ts +58 -48
  129. package/src/controllers/ThemeController.ts +11 -2
  130. package/src/controllers/TransactionsController.ts +2 -2
  131. package/src/index.ts +5 -1
  132. package/src/utils/AssetUtil.ts +5 -7
  133. package/src/utils/ConstantsUtil.ts +221 -7
  134. package/src/utils/CoreHelperUtil.ts +8 -3
  135. package/src/utils/FetchUtil.ts +1 -1
  136. package/src/utils/NetworkUtil.ts +1 -1
  137. package/src/utils/StorageUtil.ts +82 -1
  138. package/src/utils/SwapApiUtil.ts +22 -10
  139. package/src/utils/TypeUtil.ts +5 -19
  140. package/lib/commonjs/utils/ConnectionUtil.js +0 -33
  141. package/lib/commonjs/utils/ConnectionUtil.js.map +0 -1
  142. package/lib/module/utils/ConnectionUtil.js +0 -27
  143. package/lib/module/utils/ConnectionUtil.js.map +0 -1
  144. package/lib/typescript/utils/ConnectionUtil.d.ts +0 -4
  145. package/lib/typescript/utils/ConnectionUtil.d.ts.map +0 -1
  146. package/src/utils/ConnectionUtil.ts +0 -27
@@ -0,0 +1,291 @@
1
+ import { proxy, ref } from 'valtio';
2
+ import { derive } from 'valtio/utils';
3
+ import {
4
+ EVMAdapter,
5
+ type AppKitNetwork,
6
+ type BlockchainAdapter,
7
+ type CaipAddress,
8
+ type CaipNetworkId,
9
+ type ChainNamespace,
10
+ type GetBalanceResponse,
11
+ type WalletInfo
12
+ } from '@reown/appkit-common-react-native';
13
+ import { StorageUtil } from '../utils/StorageUtil';
14
+
15
+ // -- Types --------------------------------------------- //
16
+ type Balance = GetBalanceResponse;
17
+
18
+ //TODO: balance could be elsewhere
19
+ interface Connection {
20
+ accounts: CaipAddress[];
21
+ balances: Record<CaipAddress, Balance>; //TODO: make this an array of balances
22
+ adapter: BlockchainAdapter;
23
+ caipNetwork: CaipNetworkId;
24
+ wallet?: WalletInfo;
25
+ }
26
+
27
+ export interface ConnectionsControllerState {
28
+ activeNamespace?: ChainNamespace;
29
+ connections: Map<ChainNamespace, Connection>;
30
+ networks: AppKitNetwork[];
31
+ }
32
+
33
+ // -- State --------------------------------------------- //
34
+ const baseState = proxy<ConnectionsControllerState>({
35
+ activeNamespace: undefined,
36
+ connections: new Map<ChainNamespace, Connection>(),
37
+ networks: []
38
+ });
39
+
40
+ const derivedState = derive(
41
+ {
42
+ activeAddress: (get): CaipAddress | undefined => {
43
+ const snap = get(baseState);
44
+
45
+ if (!snap.activeNamespace) {
46
+ return undefined;
47
+ }
48
+
49
+ const connection = snap.connections.get(snap.activeNamespace);
50
+
51
+ if (!connection || !connection.accounts || connection.accounts.length === 0) {
52
+ return undefined;
53
+ }
54
+
55
+ //TODO: what happens if there are several accounts on the same chain?
56
+ const activeAccount = connection.accounts.find(account =>
57
+ account.startsWith(connection.caipNetwork)
58
+ );
59
+
60
+ return activeAccount;
61
+ },
62
+ activeBalance: (get): Balance | undefined => {
63
+ const snap = get(baseState);
64
+
65
+ if (!snap.activeNamespace) return undefined;
66
+ const connection = snap.connections.get(snap.activeNamespace);
67
+
68
+ if (!connection || !connection.accounts || connection.accounts.length === 0) {
69
+ return undefined;
70
+ }
71
+
72
+ const activeAccount = connection.accounts.find(account =>
73
+ account.startsWith(connection.caipNetwork)
74
+ );
75
+
76
+ if (
77
+ !connection ||
78
+ !connection.balances ||
79
+ !activeAccount ||
80
+ Object.keys(connection.balances).length === 0
81
+ ) {
82
+ return undefined;
83
+ }
84
+
85
+ return connection.balances[activeAccount];
86
+ },
87
+ activeNetwork: (get): AppKitNetwork | undefined => {
88
+ const snap = get(baseState);
89
+
90
+ if (!snap.activeNamespace) return undefined;
91
+
92
+ const connection = snap.connections.get(snap.activeNamespace);
93
+
94
+ if (!connection) return undefined;
95
+
96
+ return snap.networks.find(
97
+ network =>
98
+ network.chainNamespace === snap.activeNamespace &&
99
+ network.id?.toString() === connection.caipNetwork?.split(':')[1]
100
+ );
101
+ },
102
+ activeCaipNetworkId: (get): CaipNetworkId | undefined => {
103
+ const snap = get(baseState);
104
+
105
+ if (!snap.activeNamespace) return undefined;
106
+
107
+ const connection = snap.connections.get(snap.activeNamespace);
108
+
109
+ if (!connection) return undefined;
110
+
111
+ return connection.caipNetwork;
112
+ },
113
+ walletInfo: (get): WalletInfo | undefined => {
114
+ const snap = get(baseState);
115
+
116
+ if (!snap.activeNamespace) return undefined;
117
+
118
+ return snap.connections.get(snap.activeNamespace)?.wallet;
119
+ }
120
+ },
121
+ {
122
+ proxy: baseState // Link derived proxy to the base state proxy
123
+ }
124
+ );
125
+
126
+ // -- Controller ---------------------------------------- //
127
+ export const ConnectionsController = {
128
+ state: derivedState,
129
+
130
+ setActiveNamespace(namespace?: ChainNamespace) {
131
+ baseState.activeNamespace = namespace;
132
+ StorageUtil.setActiveNamespace(namespace);
133
+ },
134
+
135
+ storeConnection({
136
+ namespace,
137
+ adapter,
138
+ accounts,
139
+ chains,
140
+ wallet,
141
+ caipNetwork
142
+ }: {
143
+ namespace: ChainNamespace;
144
+ adapter: BlockchainAdapter;
145
+ accounts: CaipAddress[];
146
+ chains: CaipNetworkId[];
147
+ wallet?: WalletInfo;
148
+ caipNetwork?: CaipNetworkId;
149
+ }) {
150
+ const newConnectionEntry = {
151
+ balances: {},
152
+ caipNetwork: caipNetwork ?? chains[0]!,
153
+ adapter: ref(adapter),
154
+ accounts,
155
+ chains,
156
+ wallet
157
+ };
158
+
159
+ // Create a new Map to ensure Valtio detects the change
160
+ const newConnectionsMap = new Map(baseState.connections);
161
+ newConnectionsMap.set(namespace, newConnectionEntry);
162
+ baseState.connections = newConnectionsMap;
163
+ },
164
+
165
+ updateAccounts(namespace: ChainNamespace, accounts: CaipAddress[]) {
166
+ const connection = baseState.connections.get(namespace);
167
+ if (!connection) {
168
+ return;
169
+ }
170
+
171
+ const newConnectionsMap = new Map(baseState.connections);
172
+ const updatedConnection = { ...connection, accounts };
173
+ newConnectionsMap.set(namespace, updatedConnection);
174
+ baseState.connections = newConnectionsMap;
175
+ },
176
+
177
+ updateBalance(namespace: ChainNamespace, address: CaipAddress, balance: Balance) {
178
+ const connection = baseState.connections.get(namespace);
179
+ if (!connection) {
180
+ return;
181
+ }
182
+
183
+ const newBalances = { ...connection.balances, [address]: balance };
184
+ const updatedConnection = { ...connection, balances: newBalances };
185
+ const newConnectionsMap = new Map(baseState.connections);
186
+ newConnectionsMap.set(namespace, updatedConnection);
187
+ baseState.connections = newConnectionsMap;
188
+ },
189
+
190
+ setActiveNetwork(namespace: ChainNamespace, networkId: CaipNetworkId) {
191
+ const connection = baseState.connections.get(namespace);
192
+
193
+ if (!connection) {
194
+ return;
195
+ }
196
+
197
+ baseState.connections.set(namespace, {
198
+ ...connection,
199
+ caipNetwork: networkId
200
+ });
201
+ },
202
+
203
+ setNetworks(networks: AppKitNetwork[]) {
204
+ baseState.networks = networks;
205
+ },
206
+
207
+ getConnectedNetworks() {
208
+ return baseState.networks.filter(
209
+ network =>
210
+ baseState.connections
211
+ .get(network.chainNamespace)
212
+ ?.accounts.some(account => account.startsWith(network.caipNetworkId))
213
+ );
214
+ },
215
+
216
+ async disconnect(namespace: ChainNamespace, isInternal = true) {
217
+ const connection = baseState.connections.get(namespace);
218
+ if (!connection) return;
219
+
220
+ // Get the current connector from the adapter
221
+ const connector = connection.adapter.connector;
222
+ if (!connector) return;
223
+
224
+ // Find all namespaces that use the same connector
225
+ const namespacesUsingConnector = Array.from(baseState.connections.keys()).filter(
226
+ ns => baseState.connections.get(ns)?.adapter.connector === connector
227
+ );
228
+
229
+ // Unsubscribe all event listeners from the adapter
230
+ namespacesUsingConnector.forEach(ns => {
231
+ const _connection = baseState.connections.get(ns);
232
+ if (_connection?.adapter) {
233
+ _connection.adapter.removeAllListeners();
234
+ }
235
+ });
236
+
237
+ // Disconnect the adapter
238
+ if (isInternal) {
239
+ await connection.adapter.disconnect();
240
+ }
241
+
242
+ // Remove all namespaces that used this connector
243
+ const newConnectionsMap = new Map(baseState.connections);
244
+ namespacesUsingConnector.forEach(ns => {
245
+ newConnectionsMap.delete(ns);
246
+ });
247
+ baseState.connections = newConnectionsMap;
248
+
249
+ // Remove activeNamespace if it is in the list of namespaces using the connector
250
+ if (
251
+ baseState.activeNamespace &&
252
+ (baseState.activeNamespace === namespace ||
253
+ namespacesUsingConnector.includes(baseState.activeNamespace))
254
+ ) {
255
+ baseState.activeNamespace = undefined;
256
+ StorageUtil.setActiveNamespace(undefined);
257
+ }
258
+ },
259
+
260
+ parseUnits(value: string, decimals: number) {
261
+ if (!baseState.activeNamespace) return undefined;
262
+
263
+ return baseState.connections
264
+ .get(baseState.activeNamespace)
265
+ ?.adapter.parseUnits(value, decimals);
266
+ },
267
+
268
+ async sendTransaction(args: any) {
269
+ if (!baseState.activeNamespace) return undefined;
270
+
271
+ const adapter = baseState.connections.get(baseState.activeNamespace)?.adapter;
272
+
273
+ if (adapter instanceof EVMAdapter) {
274
+ return adapter.sendTransaction(args);
275
+ }
276
+
277
+ return undefined;
278
+ },
279
+
280
+ async estimateGas(args: any) {
281
+ if (!baseState.activeNamespace) return undefined;
282
+
283
+ const adapter = baseState.connections.get(baseState.activeNamespace)?.adapter;
284
+
285
+ if (adapter instanceof EVMAdapter) {
286
+ return adapter.estimateGas(args);
287
+ }
288
+
289
+ return undefined;
290
+ }
291
+ };
@@ -50,6 +50,7 @@ export const ConnectorController = {
50
50
 
51
51
  if (saveStorage) {
52
52
  if (connectorType) {
53
+ //TODO: Check this
53
54
  StorageUtil.setConnectedConnector(connectorType);
54
55
  } else {
55
56
  StorageUtil.removeConnectedConnector();
@@ -1,6 +1,7 @@
1
1
  import { proxy } from 'valtio';
2
2
  import { AccountController } from './AccountController';
3
- import { RouterController, type RouterControllerState } from './RouterController';
3
+ import type { RouterControllerState } from './RouterController';
4
+ import { RouterController } from './RouterController';
4
5
  import { PublicStateController } from './PublicStateController';
5
6
  import { EventsController } from './EventsController';
6
7
  import { ApiController } from './ApiController';
@@ -1,5 +1,5 @@
1
1
  import { proxy, ref } from 'valtio';
2
- import type { CaipNetwork, CaipNetworkId } from '../utils/TypeUtil';
2
+ import type { CaipNetwork, CaipNetworkId } from '@reown/appkit-common-react-native';
3
3
  import { PublicStateController } from './PublicStateController';
4
4
  import { NetworkUtil } from '@reown/appkit-common-react-native';
5
5
  import { ConstantsUtil } from '../utils/ConstantsUtil';
@@ -134,10 +134,6 @@ export const OnRampController = {
134
134
 
135
135
  setSelectedPaymentMethod(paymentMethod: OnRampPaymentMethod) {
136
136
  state.selectedPaymentMethod = paymentMethod;
137
- state.paymentMethods = [
138
- paymentMethod,
139
- ...state.paymentMethods.filter(m => m.paymentMethod !== paymentMethod.paymentMethod)
140
- ];
141
137
 
142
138
  this.clearQuotes();
143
139
  },
@@ -188,7 +184,7 @@ export const OnRampController = {
188
184
  selectedCurrency = state.purchaseCurrencies?.find(c => c.currencyCode === defaultCurrency);
189
185
  }
190
186
 
191
- state.purchaseCurrency = selectedCurrency ?? state.purchaseCurrencies?.[0] ?? undefined;
187
+ state.purchaseCurrency = selectedCurrency || state.purchaseCurrencies?.[0] || undefined;
192
188
  },
193
189
 
194
190
  getServiceProviderImage(serviceProviderName?: string) {
@@ -1,13 +1,14 @@
1
1
  import { proxy, ref } from 'valtio';
2
+ import type { Tokens } from '@reown/appkit-common-react-native';
2
3
  import type {
3
4
  CustomWallet,
4
5
  Features,
5
6
  Metadata,
6
7
  ProjectId,
7
8
  SdkType,
8
- SdkVersion,
9
- Tokens
9
+ SdkVersion
10
10
  } from '../utils/TypeUtil';
11
+
11
12
  import { ConstantsUtil } from '../utils/ConstantsUtil';
12
13
 
13
14
  // -- Types --------------------------------------------- //
@@ -17,7 +18,7 @@ export interface ClipboardClient {
17
18
 
18
19
  export interface OptionsControllerState {
19
20
  projectId: ProjectId;
20
- _clipboardClient?: ClipboardClient;
21
+ clipboardClient?: ClipboardClient;
21
22
  includeWalletIds?: string[];
22
23
  excludeWalletIds?: string[];
23
24
  featuredWalletIds?: string[];
@@ -47,7 +48,7 @@ export const OptionsController = {
47
48
  state,
48
49
 
49
50
  setClipboardClient(client: ClipboardClient) {
50
- state._clipboardClient = ref(client);
51
+ state.clipboardClient = ref(client);
51
52
  },
52
53
 
53
54
  setProjectId(projectId: OptionsControllerState['projectId']) {
@@ -103,11 +104,11 @@ export const OptionsController = {
103
104
  },
104
105
 
105
106
  isClipboardAvailable() {
106
- return !!state._clipboardClient;
107
+ return !!state.clipboardClient;
107
108
  },
108
109
 
109
110
  copyToClipboard(value: string) {
110
- const client = state._clipboardClient;
111
+ const client = state.clipboardClient;
111
112
  if (client) {
112
113
  client?.setString(value);
113
114
  }
@@ -1,6 +1,6 @@
1
1
  import { proxy, subscribe as sub } from 'valtio';
2
2
  import { subscribeKey as subKey } from 'valtio/utils';
3
- import type { CaipNetworkId } from '../utils/TypeUtil.js';
3
+ import type { CaipNetworkId } from '@reown/appkit-common-react-native';
4
4
 
5
5
  // -- Types --------------------------------------------- //
6
6
  export interface PublicStateControllerState {
@@ -1,7 +1,8 @@
1
1
  import { proxy } from 'valtio';
2
+ import type { CaipNetwork } from '@reown/appkit-common-react-native';
3
+
2
4
  import type {
3
5
  WcWallet,
4
- CaipNetwork,
5
6
  Connector,
6
7
  SwapInputTarget,
7
8
  OnRampTransactionResult
@@ -6,8 +6,8 @@ import { ConnectionController } from './ConnectionController';
6
6
  import { SnackController } from './SnackController';
7
7
  import { CoreHelperUtil } from '../utils/CoreHelperUtil';
8
8
  import { EventsController } from './EventsController';
9
- import { NetworkController } from './NetworkController';
10
9
  import { RouterController } from './RouterController';
10
+ import { ConnectionsController } from './ConnectionsController';
11
11
 
12
12
  // -- Types --------------------------------------------- //
13
13
  export interface TxParams {
@@ -100,7 +100,7 @@ export const SendController = {
100
100
  isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
101
101
  token: this.state.token.address,
102
102
  amount: this.state.sendTokenAmount,
103
- network: NetworkController.state.caipNetwork?.id || ''
103
+ network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
104
104
  }
105
105
  });
106
106
  this.sendERC20Token({
@@ -123,7 +123,7 @@ export const SendController = {
123
123
  isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
124
124
  token: this.state.token?.symbol,
125
125
  amount: this.state.sendTokenAmount,
126
- network: NetworkController.state.caipNetwork?.id || ''
126
+ network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
127
127
  }
128
128
  });
129
129
  this.sendNativeToken({
@@ -165,7 +165,7 @@ export const SendController = {
165
165
  isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
166
166
  token: this.state.token?.symbol || '',
167
167
  amount: params.sendTokenAmount,
168
- network: NetworkController.state.caipNetwork?.id || ''
168
+ network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
169
169
  }
170
170
  });
171
171
  this.resetSend();
@@ -178,7 +178,7 @@ export const SendController = {
178
178
  isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
179
179
  token: this.state.token?.symbol || '',
180
180
  amount: params.sendTokenAmount,
181
- network: NetworkController.state.caipNetwork?.id || ''
181
+ network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
182
182
  }
183
183
  });
184
184
  SnackController.showError('Something went wrong');