@reown/appkit-core-react-native 0.0.0-fix-approved-networks-20250822000414 → 0.0.0-fix-improvements-20250827190629

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 (245) hide show
  1. package/lib/commonjs/controllers/ApiController.js +75 -38
  2. package/lib/commonjs/controllers/ApiController.js.map +1 -1
  3. package/lib/commonjs/controllers/AssetController.js +0 -4
  4. package/lib/commonjs/controllers/AssetController.js.map +1 -1
  5. package/lib/commonjs/controllers/BlockchainApiController.js +156 -57
  6. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  7. package/lib/commonjs/controllers/ConnectionsController.js +402 -0
  8. package/lib/commonjs/controllers/ConnectionsController.js.map +1 -0
  9. package/lib/commonjs/controllers/EnsController.js.map +1 -1
  10. package/lib/commonjs/controllers/EventsController.js.map +1 -1
  11. package/lib/commonjs/controllers/ModalController.js +6 -7
  12. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  13. package/lib/commonjs/controllers/OnRampController.js +29 -19
  14. package/lib/commonjs/controllers/OnRampController.js.map +1 -1
  15. package/lib/commonjs/controllers/OptionsController.js +22 -7
  16. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  17. package/lib/commonjs/controllers/PublicStateController.js.map +1 -1
  18. package/lib/commonjs/controllers/RouterController.js +7 -22
  19. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  20. package/lib/commonjs/controllers/SendController.js +96 -96
  21. package/lib/commonjs/controllers/SendController.js.map +1 -1
  22. package/lib/commonjs/controllers/SnackController.js +29 -5
  23. package/lib/commonjs/controllers/SnackController.js.map +1 -1
  24. package/lib/commonjs/controllers/SwapController.js +154 -151
  25. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  26. package/lib/commonjs/controllers/ThemeController.js +9 -1
  27. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  28. package/lib/commonjs/controllers/TransactionsController.js +22 -18
  29. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  30. package/lib/commonjs/controllers/WcController.js +73 -0
  31. package/lib/commonjs/controllers/WcController.js.map +1 -0
  32. package/lib/commonjs/index.js +13 -41
  33. package/lib/commonjs/index.js.map +1 -1
  34. package/lib/commonjs/package.json +1 -0
  35. package/lib/commonjs/utils/ApiUtil.js.map +1 -1
  36. package/lib/commonjs/utils/AssetUtil.js +15 -19
  37. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  38. package/lib/commonjs/utils/ConstantsUtil.js +122 -5
  39. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  40. package/lib/commonjs/utils/CoreHelperUtil.js +19 -7
  41. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  42. package/lib/commonjs/utils/EventUtil.js.map +1 -1
  43. package/lib/commonjs/utils/FetchUtil.js.map +1 -1
  44. package/lib/commonjs/utils/RouterUtil.js.map +1 -1
  45. package/lib/commonjs/utils/StorageUtil.js +90 -108
  46. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  47. package/lib/commonjs/utils/SwapApiUtil.js +15 -21
  48. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  49. package/lib/commonjs/utils/SwapCalculationUtil.js.map +1 -1
  50. package/lib/commonjs/utils/WalletUtil.js +23 -0
  51. package/lib/commonjs/utils/WalletUtil.js.map +1 -0
  52. package/lib/module/controllers/ApiController.js +77 -38
  53. package/lib/module/controllers/ApiController.js.map +1 -1
  54. package/lib/module/controllers/AssetController.js +2 -4
  55. package/lib/module/controllers/AssetController.js.map +1 -1
  56. package/lib/module/controllers/BlockchainApiController.js +158 -57
  57. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  58. package/lib/module/controllers/ConnectionsController.js +399 -0
  59. package/lib/module/controllers/ConnectionsController.js.map +1 -0
  60. package/lib/module/controllers/EnsController.js +2 -0
  61. package/lib/module/controllers/EnsController.js.map +1 -1
  62. package/lib/module/controllers/EventsController.js +2 -0
  63. package/lib/module/controllers/EventsController.js.map +1 -1
  64. package/lib/module/controllers/ModalController.js +8 -7
  65. package/lib/module/controllers/ModalController.js.map +1 -1
  66. package/lib/module/controllers/OnRampController.js +27 -15
  67. package/lib/module/controllers/OnRampController.js.map +1 -1
  68. package/lib/module/controllers/OptionsController.js +24 -7
  69. package/lib/module/controllers/OptionsController.js.map +1 -1
  70. package/lib/module/controllers/PublicStateController.js +2 -0
  71. package/lib/module/controllers/PublicStateController.js.map +1 -1
  72. package/lib/module/controllers/RouterController.js +9 -22
  73. package/lib/module/controllers/RouterController.js.map +1 -1
  74. package/lib/module/controllers/SendController.js +98 -96
  75. package/lib/module/controllers/SendController.js.map +1 -1
  76. package/lib/module/controllers/SnackController.js +31 -5
  77. package/lib/module/controllers/SnackController.js.map +1 -1
  78. package/lib/module/controllers/SwapController.js +156 -151
  79. package/lib/module/controllers/SwapController.js.map +1 -1
  80. package/lib/module/controllers/ThemeController.js +11 -1
  81. package/lib/module/controllers/ThemeController.js.map +1 -1
  82. package/lib/module/controllers/TransactionsController.js +24 -18
  83. package/lib/module/controllers/TransactionsController.js.map +1 -1
  84. package/lib/module/controllers/WcController.js +70 -0
  85. package/lib/module/controllers/WcController.js.map +1 -0
  86. package/lib/module/index.js +7 -7
  87. package/lib/module/index.js.map +1 -1
  88. package/lib/module/utils/ApiUtil.js +2 -0
  89. package/lib/module/utils/ApiUtil.js.map +1 -1
  90. package/lib/module/utils/AssetUtil.js +17 -19
  91. package/lib/module/utils/AssetUtil.js.map +1 -1
  92. package/lib/module/utils/ConstantsUtil.js +124 -5
  93. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  94. package/lib/module/utils/CoreHelperUtil.js +21 -5
  95. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  96. package/lib/module/utils/EventUtil.js +2 -0
  97. package/lib/module/utils/EventUtil.js.map +1 -1
  98. package/lib/module/utils/FetchUtil.js +2 -0
  99. package/lib/module/utils/FetchUtil.js.map +1 -1
  100. package/lib/module/utils/RouterUtil.js +2 -0
  101. package/lib/module/utils/RouterUtil.js.map +1 -1
  102. package/lib/module/utils/StorageUtil.js +93 -108
  103. package/lib/module/utils/StorageUtil.js.map +1 -1
  104. package/lib/module/utils/SwapApiUtil.js +17 -21
  105. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  106. package/lib/module/utils/SwapCalculationUtil.js +3 -0
  107. package/lib/module/utils/SwapCalculationUtil.js.map +1 -1
  108. package/lib/module/utils/WalletUtil.js +19 -0
  109. package/lib/module/utils/WalletUtil.js.map +1 -0
  110. package/lib/typescript/controllers/ApiController.d.ts +4 -5
  111. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  112. package/lib/typescript/controllers/AssetController.d.ts +0 -2
  113. package/lib/typescript/controllers/AssetController.d.ts.map +1 -1
  114. package/lib/typescript/controllers/BlockchainApiController.d.ts +29 -11
  115. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  116. package/lib/typescript/controllers/ConnectionsController.d.ts +45 -0
  117. package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -0
  118. package/lib/typescript/controllers/EnsController.d.ts +1 -1
  119. package/lib/typescript/controllers/EventsController.d.ts +1 -1
  120. package/lib/typescript/controllers/EventsController.d.ts.map +1 -1
  121. package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
  122. package/lib/typescript/controllers/OnRampController.d.ts +2 -2
  123. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
  124. package/lib/typescript/controllers/OptionsController.d.ts +9 -4
  125. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
  126. package/lib/typescript/controllers/PublicStateController.d.ts +1 -1
  127. package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -1
  128. package/lib/typescript/controllers/RouterController.d.ts +6 -20
  129. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  130. package/lib/typescript/controllers/SendController.d.ts +5 -7
  131. package/lib/typescript/controllers/SendController.d.ts.map +1 -1
  132. package/lib/typescript/controllers/SnackController.d.ts +3 -3
  133. package/lib/typescript/controllers/SnackController.d.ts.map +1 -1
  134. package/lib/typescript/controllers/SwapController.d.ts +12 -12
  135. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  136. package/lib/typescript/controllers/ThemeController.d.ts +1 -1
  137. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
  138. package/lib/typescript/controllers/TransactionsController.d.ts +3 -3
  139. package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -1
  140. package/lib/typescript/controllers/WcController.d.ts +27 -0
  141. package/lib/typescript/controllers/WcController.d.ts.map +1 -0
  142. package/lib/typescript/index.d.ts +3 -8
  143. package/lib/typescript/index.d.ts.map +1 -1
  144. package/lib/typescript/utils/AssetUtil.d.ts +3 -4
  145. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
  146. package/lib/typescript/utils/ConstantsUtil.d.ts +12 -2
  147. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  148. package/lib/typescript/utils/CoreHelperUtil.d.ts +5 -4
  149. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  150. package/lib/typescript/utils/EventUtil.d.ts +1 -1
  151. package/lib/typescript/utils/EventUtil.d.ts.map +1 -1
  152. package/lib/typescript/utils/FetchUtil.d.ts +2 -2
  153. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  154. package/lib/typescript/utils/StorageUtil.d.ts +15 -16
  155. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  156. package/lib/typescript/utils/SwapApiUtil.d.ts +3 -4
  157. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  158. package/lib/typescript/utils/SwapCalculationUtil.d.ts +1 -1
  159. package/lib/typescript/utils/SwapCalculationUtil.d.ts.map +1 -1
  160. package/lib/typescript/utils/WalletUtil.d.ts +5 -0
  161. package/lib/typescript/utils/WalletUtil.d.ts.map +1 -0
  162. package/package.json +8 -22
  163. package/src/controllers/ApiController.ts +83 -40
  164. package/src/controllers/AssetController.ts +0 -6
  165. package/src/controllers/BlockchainApiController.ts +136 -44
  166. package/src/controllers/ConnectionsController.ts +521 -0
  167. package/src/controllers/EnsController.ts +1 -1
  168. package/src/controllers/EventsController.ts +1 -1
  169. package/src/controllers/ModalController.ts +6 -7
  170. package/src/controllers/OnRampController.ts +37 -18
  171. package/src/controllers/OptionsController.ts +37 -14
  172. package/src/controllers/PublicStateController.ts +1 -1
  173. package/src/controllers/RouterController.ts +17 -54
  174. package/src/controllers/SendController.ts +122 -111
  175. package/src/controllers/SnackController.ts +31 -5
  176. package/src/controllers/SwapController.ts +177 -183
  177. package/src/controllers/ThemeController.ts +11 -2
  178. package/src/controllers/TransactionsController.ts +25 -19
  179. package/src/controllers/WcController.ts +93 -0
  180. package/src/index.ts +6 -20
  181. package/src/utils/AssetUtil.ts +17 -22
  182. package/src/utils/ConstantsUtil.ts +126 -6
  183. package/src/utils/CoreHelperUtil.ts +45 -7
  184. package/src/utils/EventUtil.ts +1 -1
  185. package/src/utils/FetchUtil.ts +2 -2
  186. package/src/utils/StorageUtil.ts +163 -131
  187. package/src/utils/SwapApiUtil.ts +30 -37
  188. package/src/utils/SwapCalculationUtil.ts +1 -2
  189. package/src/utils/WalletUtil.ts +14 -0
  190. package/lib/commonjs/controllers/AccountController.js +0 -93
  191. package/lib/commonjs/controllers/AccountController.js.map +0 -1
  192. package/lib/commonjs/controllers/ConnectionController.js +0 -126
  193. package/lib/commonjs/controllers/ConnectionController.js.map +0 -1
  194. package/lib/commonjs/controllers/ConnectorController.js +0 -49
  195. package/lib/commonjs/controllers/ConnectorController.js.map +0 -1
  196. package/lib/commonjs/controllers/NetworkController.js +0 -90
  197. package/lib/commonjs/controllers/NetworkController.js.map +0 -1
  198. package/lib/commonjs/controllers/WebviewController.js +0 -52
  199. package/lib/commonjs/controllers/WebviewController.js.map +0 -1
  200. package/lib/commonjs/utils/ConnectionUtil.js +0 -33
  201. package/lib/commonjs/utils/ConnectionUtil.js.map +0 -1
  202. package/lib/commonjs/utils/NetworkUtil.js +0 -46
  203. package/lib/commonjs/utils/NetworkUtil.js.map +0 -1
  204. package/lib/commonjs/utils/TypeUtil.js +0 -35
  205. package/lib/commonjs/utils/TypeUtil.js.map +0 -1
  206. package/lib/module/controllers/AccountController.js +0 -88
  207. package/lib/module/controllers/AccountController.js.map +0 -1
  208. package/lib/module/controllers/ConnectionController.js +0 -121
  209. package/lib/module/controllers/ConnectionController.js.map +0 -1
  210. package/lib/module/controllers/ConnectorController.js +0 -44
  211. package/lib/module/controllers/ConnectorController.js.map +0 -1
  212. package/lib/module/controllers/NetworkController.js +0 -85
  213. package/lib/module/controllers/NetworkController.js.map +0 -1
  214. package/lib/module/controllers/WebviewController.js +0 -47
  215. package/lib/module/controllers/WebviewController.js.map +0 -1
  216. package/lib/module/utils/ConnectionUtil.js +0 -27
  217. package/lib/module/utils/ConnectionUtil.js.map +0 -1
  218. package/lib/module/utils/NetworkUtil.js +0 -40
  219. package/lib/module/utils/NetworkUtil.js.map +0 -1
  220. package/lib/module/utils/TypeUtil.js +0 -28
  221. package/lib/module/utils/TypeUtil.js.map +0 -1
  222. package/lib/typescript/controllers/AccountController.d.ts +0 -33
  223. package/lib/typescript/controllers/AccountController.d.ts.map +0 -1
  224. package/lib/typescript/controllers/ConnectionController.d.ts +0 -66
  225. package/lib/typescript/controllers/ConnectionController.d.ts.map +0 -1
  226. package/lib/typescript/controllers/ConnectorController.d.ts +0 -18
  227. package/lib/typescript/controllers/ConnectorController.d.ts.map +0 -1
  228. package/lib/typescript/controllers/NetworkController.d.ts +0 -35
  229. package/lib/typescript/controllers/NetworkController.d.ts.map +0 -1
  230. package/lib/typescript/controllers/WebviewController.d.ts +0 -21
  231. package/lib/typescript/controllers/WebviewController.d.ts.map +0 -1
  232. package/lib/typescript/utils/ConnectionUtil.d.ts +0 -4
  233. package/lib/typescript/utils/ConnectionUtil.d.ts.map +0 -1
  234. package/lib/typescript/utils/NetworkUtil.d.ts +0 -8
  235. package/lib/typescript/utils/NetworkUtil.d.ts.map +0 -1
  236. package/lib/typescript/utils/TypeUtil.d.ts +0 -850
  237. package/lib/typescript/utils/TypeUtil.d.ts.map +0 -1
  238. package/src/controllers/AccountController.ts +0 -128
  239. package/src/controllers/ConnectionController.ts +0 -200
  240. package/src/controllers/ConnectorController.ts +0 -63
  241. package/src/controllers/NetworkController.ts +0 -120
  242. package/src/controllers/WebviewController.ts +0 -63
  243. package/src/utils/ConnectionUtil.ts +0 -27
  244. package/src/utils/NetworkUtil.ts +0 -33
  245. package/src/utils/TypeUtil.ts +0 -1039
@@ -1,5 +1,5 @@
1
- import { subscribeKey as subKey } from 'valtio/vanilla/utils';
2
- import { proxy, subscribe as sub } from 'valtio/vanilla';
1
+ import { subscribeKey as subKey } from 'valtio/utils';
2
+ import { proxy, subscribe as sub } from 'valtio';
3
3
  import {
4
4
  type OnRampPaymentMethod,
5
5
  type OnRampCountry,
@@ -12,17 +12,16 @@ import {
12
12
  type OnRampErrorTypeValues,
13
13
  type OnRampCountryDefaults,
14
14
  BlockchainOnRampError
15
- } from '../utils/TypeUtil';
15
+ } from '@reown/appkit-common-react-native';
16
16
 
17
17
  import { CoreHelperUtil } from '../utils/CoreHelperUtil';
18
- import { NetworkController } from './NetworkController';
19
- import { AccountController } from './AccountController';
20
18
  import { OptionsController } from './OptionsController';
21
19
  import { ConstantsUtil, OnRampErrorType } from '../utils/ConstantsUtil';
22
20
  import { StorageUtil } from '../utils/StorageUtil';
23
21
  import { SnackController } from './SnackController';
24
22
  import { EventsController } from './EventsController';
25
23
  import { BlockchainApiController, EXCLUDED_ONRAMP_PROVIDERS } from './BlockchainApiController';
24
+ import { ConnectionsController } from './ConnectionsController';
26
25
 
27
26
  // -- Helpers ------------------------------------------- //
28
27
 
@@ -188,16 +187,16 @@ export const OnRampController = {
188
187
 
189
188
  updateSelectedPurchaseCurrency() {
190
189
  let selectedCurrency;
191
- if (NetworkController.state.caipNetwork?.id) {
190
+ if (ConnectionsController.state.activeNetwork?.caipNetworkId) {
192
191
  const defaultCurrency =
193
192
  ConstantsUtil.NETWORK_DEFAULT_CURRENCIES[
194
- NetworkController.state.caipNetwork
195
- ?.id as keyof typeof ConstantsUtil.NETWORK_DEFAULT_CURRENCIES
193
+ ConnectionsController.state.activeNetwork
194
+ ?.caipNetworkId as keyof typeof ConstantsUtil.NETWORK_DEFAULT_CURRENCIES
196
195
  ];
197
196
  selectedCurrency = state.purchaseCurrencies?.find(c => c.currencyCode === defaultCurrency);
198
197
  }
199
198
 
200
- state.purchaseCurrency = selectedCurrency ?? state.purchaseCurrencies?.[0] ?? undefined;
199
+ state.purchaseCurrency = selectedCurrency ?? undefined;
201
200
  },
202
201
 
203
202
  getServiceProviderImage(serviceProviderName?: string) {
@@ -328,16 +327,16 @@ export const OnRampController = {
328
327
  state.purchaseCurrencies = cryptoCurrencies || [];
329
328
 
330
329
  let selectedCurrency;
331
- if (NetworkController.state.caipNetwork?.id) {
330
+ if (ConnectionsController.state.activeNetwork?.caipNetworkId) {
332
331
  const defaultCurrency =
333
332
  ConstantsUtil.NETWORK_DEFAULT_CURRENCIES[
334
- NetworkController.state.caipNetwork
335
- ?.id as keyof typeof ConstantsUtil.NETWORK_DEFAULT_CURRENCIES
336
- ] || 'ETH';
333
+ ConnectionsController.state.activeNetwork
334
+ ?.caipNetworkId as keyof typeof ConstantsUtil.NETWORK_DEFAULT_CURRENCIES
335
+ ];
337
336
  selectedCurrency = state.purchaseCurrencies?.find(c => c.currencyCode === defaultCurrency);
338
337
  }
339
338
 
340
- state.purchaseCurrency = selectedCurrency || cryptoCurrencies?.[0] || undefined;
339
+ state.purchaseCurrency = selectedCurrency || undefined;
341
340
  } catch (error) {
342
341
  state.error = {
343
342
  type: OnRampErrorType.FAILED_TO_LOAD_CURRENCIES,
@@ -420,7 +419,7 @@ export const OnRampController = {
420
419
  !state.selectedCountry?.countryCode ||
421
420
  !state.purchaseCurrency?.currencyCode ||
422
421
  !state.paymentCurrency?.currencyCode ||
423
- !AccountController.state.address
422
+ !ConnectionsController.state.activeAddress
424
423
  ) {
425
424
  throw new BlockchainOnRampError(OnRampErrorType.UNKNOWN, 'Invalid quote parameters');
426
425
  }
@@ -430,12 +429,20 @@ export const OnRampController = {
430
429
  state.selectedServiceProvider = undefined;
431
430
  state.error = undefined;
432
431
 
432
+ const plainAddress = CoreHelperUtil.getPlainAddress(
433
+ ConnectionsController.state.activeAddress
434
+ );
435
+
436
+ if (!plainAddress) {
437
+ throw new Error('Invalid address');
438
+ }
439
+
433
440
  const body = {
434
441
  countryCode: state.selectedCountry.countryCode,
435
442
  destinationCurrencyCode: state.purchaseCurrency.currencyCode,
436
443
  sourceAmount: state.paymentAmount!,
437
444
  sourceCurrencyCode: state.paymentCurrency.currencyCode,
438
- walletAddress: AccountController.state.address,
445
+ walletAddress: plainAddress,
439
446
  excludeProviders: EXCLUDED_ONRAMP_PROVIDERS
440
447
  };
441
448
 
@@ -524,7 +531,7 @@ export const OnRampController = {
524
531
  state.paymentCurrency?.currencyCode &&
525
532
  state.selectedCountry &&
526
533
  !state.loading &&
527
- AccountController.state.address
534
+ ConnectionsController.state.activeAddress
528
535
  );
529
536
  },
530
537
 
@@ -551,6 +558,10 @@ export const OnRampController = {
551
558
  },
552
559
 
553
560
  async generateWidget({ quote }: { quote: OnRampQuote }) {
561
+ if (!ConnectionsController.state.activeAddress) {
562
+ throw new Error('No active address');
563
+ }
564
+
554
565
  const metadata = OptionsController.state.metadata;
555
566
  const eventProperties = {
556
567
  asset: quote.destinationCurrencyCode,
@@ -567,6 +578,14 @@ export const OnRampController = {
567
578
  throw new Error('Invalid quote');
568
579
  }
569
580
 
581
+ const plainAddress = CoreHelperUtil.getPlainAddress(
582
+ ConnectionsController.state.activeAddress
583
+ );
584
+
585
+ if (!plainAddress) {
586
+ throw new Error('Invalid address');
587
+ }
588
+
570
589
  const body = {
571
590
  countryCode: quote.countryCode,
572
591
  destinationCurrencyCode: quote.destinationCurrencyCode,
@@ -574,7 +593,7 @@ export const OnRampController = {
574
593
  serviceProvider: quote.serviceProvider,
575
594
  sourceAmount: quote.sourceAmount,
576
595
  sourceCurrencyCode: quote.sourceCurrencyCode,
577
- walletAddress: AccountController.state.address!,
596
+ walletAddress: plainAddress,
578
597
  redirectUrl: metadata?.redirect?.universal ?? metadata?.redirect?.native
579
598
  };
580
599
 
@@ -1,13 +1,15 @@
1
1
  import { proxy, ref } from 'valtio';
2
2
  import type {
3
+ Storage,
4
+ Metadata,
5
+ AppKitNetwork,
3
6
  CustomWallet,
4
7
  Features,
5
- Metadata,
6
8
  ProjectId,
7
9
  SdkType,
8
- SdkVersion,
9
- Tokens
10
- } from '../utils/TypeUtil';
10
+ SdkVersion
11
+ } from '@reown/appkit-common-react-native';
12
+
11
13
  import { ConstantsUtil } from '../utils/ConstantsUtil';
12
14
 
13
15
  // -- Types --------------------------------------------- //
@@ -17,12 +19,12 @@ export interface ClipboardClient {
17
19
 
18
20
  export interface OptionsControllerState {
19
21
  projectId: ProjectId;
20
- _clipboardClient?: ClipboardClient;
22
+ clipboardClient?: ClipboardClient;
23
+ storage?: Storage;
21
24
  includeWalletIds?: string[];
22
25
  excludeWalletIds?: string[];
23
26
  featuredWalletIds?: string[];
24
27
  customWallets?: CustomWallet[];
25
- tokens?: Tokens;
26
28
  enableAnalytics?: boolean;
27
29
  sdkType: SdkType;
28
30
  sdkVersion: SdkVersion;
@@ -31,14 +33,17 @@ export interface OptionsControllerState {
31
33
  isOnRampEnabled?: boolean;
32
34
  features?: Features;
33
35
  debug?: boolean;
36
+ defaultNetwork?: AppKitNetwork;
37
+ requestedNetworks?: AppKitNetwork[];
34
38
  }
35
39
 
36
40
  // -- State --------------------------------------------- //
37
41
  const state = proxy<OptionsControllerState>({
38
42
  projectId: '',
39
43
  sdkType: 'appkit',
40
- sdkVersion: 'react-native-wagmi-undefined',
44
+ sdkVersion: 'react-native-undefined-undefined',
41
45
  features: ConstantsUtil.DEFAULT_FEATURES,
46
+ customWallets: [],
42
47
  debug: false
43
48
  });
44
49
 
@@ -47,7 +52,7 @@ export const OptionsController = {
47
52
  state,
48
53
 
49
54
  setClipboardClient(client: ClipboardClient) {
50
- state._clipboardClient = ref(client);
55
+ state.clipboardClient = ref(client);
51
56
  },
52
57
 
53
58
  setProjectId(projectId: OptionsControllerState['projectId']) {
@@ -66,10 +71,6 @@ export const OptionsController = {
66
71
  state.featuredWalletIds = featuredWalletIds;
67
72
  },
68
73
 
69
- setTokens(tokens: OptionsControllerState['tokens']) {
70
- state.tokens = tokens;
71
- },
72
-
73
74
  setCustomWallets(customWallets: OptionsControllerState['customWallets']) {
74
75
  state.customWallets = customWallets;
75
76
  },
@@ -102,12 +103,34 @@ export const OptionsController = {
102
103
  state.isOnRampEnabled = isOnRampEnabled;
103
104
  },
104
105
 
106
+ setStorage(storage?: OptionsControllerState['storage']) {
107
+ if (storage) {
108
+ state.storage = ref(storage);
109
+ }
110
+ },
111
+
112
+ setDefaultNetwork(defaultNetwork?: OptionsControllerState['defaultNetwork']) {
113
+ state.defaultNetwork = defaultNetwork;
114
+ },
115
+
116
+ setRequestedNetworks(requestedNetworks?: OptionsControllerState['requestedNetworks']) {
117
+ state.requestedNetworks = requestedNetworks;
118
+ },
119
+
105
120
  isClipboardAvailable() {
106
- return !!state._clipboardClient;
121
+ return !!state.clipboardClient;
122
+ },
123
+
124
+ getStorage() {
125
+ if (!state.storage) {
126
+ throw new Error('AppKit: Storage is not set');
127
+ }
128
+
129
+ return state.storage;
107
130
  },
108
131
 
109
132
  copyToClipboard(value: string) {
110
- const client = state._clipboardClient;
133
+ const client = state.clipboardClient;
111
134
  if (client) {
112
135
  client?.setString(value);
113
136
  }
@@ -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,22 +1,12 @@
1
1
  import { proxy } from 'valtio';
2
2
  import type {
3
+ AppKitNetwork,
4
+ SocialProvider,
3
5
  WcWallet,
4
- CaipNetwork,
5
- Connector,
6
- SwapInputTarget,
7
6
  OnRampTransactionResult
8
- } from '../utils/TypeUtil';
7
+ } from '@reown/appkit-common-react-native';
9
8
 
10
9
  // -- Types --------------------------------------------- //
11
- type TransactionAction = {
12
- goBack: boolean;
13
- view: RouterControllerState['view'] | null;
14
- close?: boolean;
15
- replace?: boolean;
16
- onSuccess?: () => void;
17
- onCancel?: () => void;
18
- };
19
-
20
10
  export interface RouterControllerState {
21
11
  view:
22
12
  | 'Account'
@@ -27,11 +17,7 @@ export interface RouterControllerState {
27
17
  | 'ConnectingExternal'
28
18
  | 'ConnectingSiwe'
29
19
  | 'ConnectingSocial'
30
- | 'ConnectingFarcaster'
31
20
  | 'ConnectingWalletConnect'
32
- | 'Create'
33
- | 'EmailVerifyDevice'
34
- | 'EmailVerifyOtp'
35
21
  | 'GetWallet'
36
22
  | 'Networks'
37
23
  | 'OnRamp'
@@ -41,15 +27,10 @@ export interface RouterControllerState {
41
27
  | 'OnRampTransaction'
42
28
  | 'SwitchNetwork'
43
29
  | 'Swap'
44
- | 'SwapSelectToken'
45
30
  | 'SwapPreview'
46
31
  | 'Transactions'
47
32
  | 'UnsupportedChain'
48
- | 'UpdateEmailPrimaryOtp'
49
- | 'UpdateEmailSecondaryOtp'
50
- | 'UpdateEmailWallet'
51
33
  | 'UpgradeEmailWallet'
52
- | 'UpgradeToSmartAccount'
53
34
  | 'WalletCompatibleNetworks'
54
35
  | 'WalletReceive'
55
36
  | 'WalletSend'
@@ -58,62 +39,41 @@ export interface RouterControllerState {
58
39
  | 'WhatIsANetwork'
59
40
  | 'WhatIsAWallet';
60
41
  history: RouterControllerState['view'][];
42
+ navigationDirection: 'forward' | 'backward' | 'none';
61
43
  data?: {
62
- connector?: Connector;
63
44
  wallet?: WcWallet;
64
- network?: CaipNetwork;
65
- email?: string;
66
- newEmail?: string;
67
- swapTarget?: SwapInputTarget;
45
+ network?: AppKitNetwork;
68
46
  onrampResult?: OnRampTransactionResult;
47
+ socialProvider?: SocialProvider;
69
48
  };
70
- transactionStack: TransactionAction[];
71
49
  }
72
50
 
73
51
  // -- State --------------------------------------------- //
74
52
  const state = proxy<RouterControllerState>({
75
53
  view: 'Connect',
76
54
  history: ['Connect'],
77
- transactionStack: []
55
+ navigationDirection: 'none'
78
56
  });
79
57
 
80
58
  // -- Controller ---------------------------------------- //
81
59
  export const RouterController = {
82
60
  state,
83
61
 
84
- push(view: RouterControllerState['view'], data?: RouterControllerState['data']) {
62
+ push(
63
+ view: RouterControllerState['view'],
64
+ data?: RouterControllerState['data'],
65
+ direction: 'forward' | 'backward' = 'forward'
66
+ ) {
85
67
  if (view !== state.view) {
68
+ state.navigationDirection = direction;
86
69
  state.view = view;
87
70
  state.history = [...state.history, view];
88
71
  state.data = data;
89
72
  }
90
73
  },
91
74
 
92
- pushTransactionStack(action: TransactionAction) {
93
- state.transactionStack = [...state.transactionStack, action];
94
- },
95
-
96
- popTransactionStack(cancel?: boolean) {
97
- const action = state.transactionStack.pop();
98
-
99
- if (!action) {
100
- return;
101
- }
102
-
103
- if (cancel) {
104
- this.goBack();
105
- action?.onCancel?.();
106
- } else {
107
- if (action.goBack) {
108
- this.goBack();
109
- } else if (action.view) {
110
- this.reset(action.view);
111
- }
112
- action?.onSuccess?.();
113
- }
114
- },
115
-
116
75
  reset(view: RouterControllerState['view'], data?: RouterControllerState['data']) {
76
+ state.navigationDirection = 'none';
117
77
  state.view = view;
118
78
  state.history = [view];
119
79
  state.data = data;
@@ -121,6 +81,7 @@ export const RouterController = {
121
81
 
122
82
  replace(view: RouterControllerState['view'], data?: RouterControllerState['data']) {
123
83
  if (state.history.length >= 1 && state.history.at(-1) !== view) {
84
+ state.navigationDirection = 'none';
124
85
  state.view = view;
125
86
  state.history[state.history.length - 1] = view;
126
87
  state.data = data;
@@ -132,6 +93,7 @@ export const RouterController = {
132
93
  state.history.pop();
133
94
  const [last] = state.history.slice(-1);
134
95
  if (last) {
96
+ state.navigationDirection = 'backward';
135
97
  state.view = last;
136
98
  }
137
99
  }
@@ -142,6 +104,7 @@ export const RouterController = {
142
104
  state.history = state.history.slice(0, historyIndex + 1);
143
105
  const [last] = state.history.slice(-1);
144
106
  if (last) {
107
+ state.navigationDirection = 'backward';
145
108
  state.view = last;
146
109
  }
147
110
  }