@reown/appkit-core-react-native 1.2.4 → 2.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) 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 +187 -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/OnRampController.js +421 -0
  12. package/lib/commonjs/controllers/OnRampController.js.map +1 -0
  13. package/lib/commonjs/controllers/OptionsController.js +11 -3
  14. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  15. package/lib/commonjs/controllers/RouterController.js +3 -2
  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 +10 -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 +599 -6
  30. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  31. package/lib/commonjs/utils/CoreHelperUtil.js +28 -0
  32. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  33. package/lib/commonjs/utils/FetchUtil.js +15 -4
  34. package/lib/commonjs/utils/FetchUtil.js.map +1 -1
  35. package/lib/commonjs/utils/StorageUtil.js +218 -0
  36. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  37. package/lib/commonjs/utils/SwapApiUtil.js +19 -10
  38. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  39. package/lib/module/controllers/ApiController.js +11 -11
  40. package/lib/module/controllers/ApiController.js.map +1 -1
  41. package/lib/module/controllers/BlockchainApiController.js +187 -14
  42. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  43. package/lib/module/controllers/ConnectionController.js +7 -1
  44. package/lib/module/controllers/ConnectionController.js.map +1 -1
  45. package/lib/module/controllers/ConnectionsController.js +200 -0
  46. package/lib/module/controllers/ConnectionsController.js.map +1 -0
  47. package/lib/module/controllers/ConnectorController.js +1 -0
  48. package/lib/module/controllers/ConnectorController.js.map +1 -1
  49. package/lib/module/controllers/OnRampController.js +416 -0
  50. package/lib/module/controllers/OnRampController.js.map +1 -0
  51. package/lib/module/controllers/OptionsController.js +11 -3
  52. package/lib/module/controllers/OptionsController.js.map +1 -1
  53. package/lib/module/controllers/RouterController.js +3 -2
  54. package/lib/module/controllers/RouterController.js.map +1 -1
  55. package/lib/module/controllers/SendController.js +5 -5
  56. package/lib/module/controllers/SendController.js.map +1 -1
  57. package/lib/module/controllers/SwapController.js +51 -40
  58. package/lib/module/controllers/SwapController.js.map +1 -1
  59. package/lib/module/controllers/ThemeController.js +9 -1
  60. package/lib/module/controllers/ThemeController.js.map +1 -1
  61. package/lib/module/controllers/TransactionsController.js +2 -2
  62. package/lib/module/controllers/TransactionsController.js.map +1 -1
  63. package/lib/module/index.js +2 -1
  64. package/lib/module/index.js.map +1 -1
  65. package/lib/module/utils/AssetUtil.js +5 -6
  66. package/lib/module/utils/AssetUtil.js.map +1 -1
  67. package/lib/module/utils/ConstantsUtil.js +598 -5
  68. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  69. package/lib/module/utils/CoreHelperUtil.js +26 -0
  70. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  71. package/lib/module/utils/FetchUtil.js +15 -4
  72. package/lib/module/utils/FetchUtil.js.map +1 -1
  73. package/lib/module/utils/StorageUtil.js +219 -0
  74. package/lib/module/utils/StorageUtil.js.map +1 -1
  75. package/lib/module/utils/SwapApiUtil.js +19 -10
  76. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  77. package/lib/typescript/controllers/AccountController.d.ts +2 -2
  78. package/lib/typescript/controllers/AccountController.d.ts.map +1 -1
  79. package/lib/typescript/controllers/ApiController.d.ts +1 -1
  80. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  81. package/lib/typescript/controllers/BlockchainApiController.d.ts +27 -2
  82. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  83. package/lib/typescript/controllers/ConnectionController.d.ts +2 -0
  84. package/lib/typescript/controllers/ConnectionController.d.ts.map +1 -1
  85. package/lib/typescript/controllers/ConnectionsController.d.ts +43 -0
  86. package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -0
  87. package/lib/typescript/controllers/ConnectorController.d.ts.map +1 -1
  88. package/lib/typescript/controllers/NetworkController.d.ts +1 -1
  89. package/lib/typescript/controllers/NetworkController.d.ts.map +1 -1
  90. package/lib/typescript/controllers/OnRampController.d.ts +54 -0
  91. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -0
  92. package/lib/typescript/controllers/OptionsController.d.ts +7 -2
  93. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
  94. package/lib/typescript/controllers/PublicStateController.d.ts +1 -1
  95. package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -1
  96. package/lib/typescript/controllers/RouterController.d.ts +5 -3
  97. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  98. package/lib/typescript/controllers/SwapController.d.ts +1 -1
  99. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  100. package/lib/typescript/controllers/ThemeController.d.ts +1 -1
  101. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
  102. package/lib/typescript/index.d.ts +2 -1
  103. package/lib/typescript/index.d.ts.map +1 -1
  104. package/lib/typescript/utils/AssetUtil.d.ts +2 -2
  105. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
  106. package/lib/typescript/utils/ConstantsUtil.d.ts +474 -1
  107. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  108. package/lib/typescript/utils/CoreHelperUtil.d.ts +5 -2
  109. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  110. package/lib/typescript/utils/FetchUtil.d.ts +5 -5
  111. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  112. package/lib/typescript/utils/NetworkUtil.d.ts +1 -1
  113. package/lib/typescript/utils/NetworkUtil.d.ts.map +1 -1
  114. package/lib/typescript/utils/StorageUtil.d.ts +26 -2
  115. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  116. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  117. package/lib/typescript/utils/TypeUtil.d.ts +164 -25
  118. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  119. package/package.json +3 -2
  120. package/src/controllers/AccountController.ts +2 -2
  121. package/src/controllers/ApiController.ts +12 -7
  122. package/src/controllers/BlockchainApiController.ts +238 -15
  123. package/src/controllers/ConnectionController.ts +10 -2
  124. package/src/controllers/ConnectionsController.ts +291 -0
  125. package/src/controllers/ConnectorController.ts +1 -0
  126. package/src/controllers/NetworkController.ts +1 -1
  127. package/src/controllers/OnRampController.ts +585 -0
  128. package/src/controllers/OptionsController.ts +19 -13
  129. package/src/controllers/PublicStateController.ts +1 -1
  130. package/src/controllers/RouterController.ts +17 -3
  131. package/src/controllers/SendController.ts +5 -5
  132. package/src/controllers/SwapController.ts +58 -48
  133. package/src/controllers/ThemeController.ts +11 -2
  134. package/src/controllers/TransactionsController.ts +2 -2
  135. package/src/index.ts +6 -1
  136. package/src/utils/AssetUtil.ts +5 -7
  137. package/src/utils/ConstantsUtil.ts +584 -5
  138. package/src/utils/CoreHelperUtil.ts +38 -3
  139. package/src/utils/FetchUtil.ts +16 -9
  140. package/src/utils/NetworkUtil.ts +1 -1
  141. package/src/utils/StorageUtil.ts +267 -2
  142. package/src/utils/SwapApiUtil.ts +22 -10
  143. package/src/utils/TypeUtil.ts +185 -29
  144. package/lib/commonjs/utils/ConnectionUtil.js +0 -33
  145. package/lib/commonjs/utils/ConnectionUtil.js.map +0 -1
  146. package/lib/module/utils/ConnectionUtil.js +0 -27
  147. package/lib/module/utils/ConnectionUtil.js.map +0 -1
  148. package/lib/typescript/utils/ConnectionUtil.d.ts +0 -4
  149. package/lib/typescript/utils/ConnectionUtil.d.ts.map +0 -1
  150. package/src/utils/ConnectionUtil.ts +0 -27
@@ -1,5 +1,12 @@
1
1
  import { proxy } from 'valtio';
2
- import type { WcWallet, CaipNetwork, Connector, SwapInputTarget } from '../utils/TypeUtil';
2
+ import type { CaipNetwork } from '@reown/appkit-common-react-native';
3
+
4
+ import type {
5
+ WcWallet,
6
+ Connector,
7
+ SwapInputTarget,
8
+ OnRampTransactionResult
9
+ } from '../utils/TypeUtil';
3
10
 
4
11
  // -- Types --------------------------------------------- //
5
12
  type TransactionAction = {
@@ -28,6 +35,11 @@ export interface RouterControllerState {
28
35
  | 'EmailVerifyOtp'
29
36
  | 'GetWallet'
30
37
  | 'Networks'
38
+ | 'OnRamp'
39
+ | 'OnRampCheckout'
40
+ | 'OnRampLoading'
41
+ | 'OnRampSettings'
42
+ | 'OnRampTransaction'
31
43
  | 'SwitchNetwork'
32
44
  | 'Swap'
33
45
  | 'SwapSelectToken'
@@ -54,6 +66,7 @@ export interface RouterControllerState {
54
66
  email?: string;
55
67
  newEmail?: string;
56
68
  swapTarget?: SwapInputTarget;
69
+ onrampResult?: OnRampTransactionResult;
57
70
  };
58
71
  transactionStack: TransactionAction[];
59
72
  }
@@ -101,13 +114,14 @@ export const RouterController = {
101
114
  }
102
115
  },
103
116
 
104
- reset(view: RouterControllerState['view']) {
117
+ reset(view: RouterControllerState['view'], data?: RouterControllerState['data']) {
105
118
  state.view = view;
106
119
  state.history = [view];
120
+ state.data = data;
107
121
  },
108
122
 
109
123
  replace(view: RouterControllerState['view'], data?: RouterControllerState['data']) {
110
- if (state.history.length > 1 && state.history.at(-1) !== view) {
124
+ if (state.history.length >= 1 && state.history.at(-1) !== view) {
111
125
  state.view = view;
112
126
  state.history[state.history.length - 1] = view;
113
127
  state.data = data;
@@ -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');
@@ -1,10 +1,9 @@
1
1
  import { subscribeKey as subKey } from 'valtio/utils';
2
2
  import { proxy, subscribe as sub } from 'valtio';
3
- import { NumberUtil } from '@reown/appkit-common-react-native';
3
+ import { NumberUtil, type CaipAddress } from '@reown/appkit-common-react-native';
4
4
 
5
5
  import { ConstantsUtil } from '../utils/ConstantsUtil';
6
6
  import { SwapApiUtil } from '../utils/SwapApiUtil';
7
- import { NetworkController } from './NetworkController';
8
7
  import { BlockchainApiController } from './BlockchainApiController';
9
8
  import { OptionsController } from './OptionsController';
10
9
  import { SwapCalculationUtil } from '../utils/SwapCalculationUtil';
@@ -14,9 +13,9 @@ import type { SwapInputTarget, SwapTokenWithBalance } from '../utils/TypeUtil';
14
13
  import { ConnectorController } from './ConnectorController';
15
14
  import { AccountController } from './AccountController';
16
15
  import { CoreHelperUtil } from '../utils/CoreHelperUtil';
17
- import { ConnectionController } from './ConnectionController';
18
16
  import { TransactionsController } from './TransactionsController';
19
17
  import { EventsController } from './EventsController';
18
+ import { ConnectionsController } from './ConnectionsController';
20
19
 
21
20
  // -- Constants ---------------------------------------- //
22
21
  export const INITIAL_GAS_LIMIT = 150000;
@@ -158,9 +157,15 @@ export const SwapController = {
158
157
  },
159
158
 
160
159
  getParams() {
161
- const caipAddress = AccountController.state.caipAddress;
162
- const address = CoreHelperUtil.getPlainAddress(caipAddress);
163
- const networkAddress = NetworkController.getActiveNetworkTokenAddress();
160
+ const { activeAddress, activeNamespace, activeNetwork } = ConnectionsController.state;
161
+ const address = CoreHelperUtil.getPlainAddress(activeAddress);
162
+
163
+ if (!activeNamespace || !activeNetwork) {
164
+ throw new Error('No active namespace or network found to swap the tokens from.');
165
+ }
166
+
167
+ const networkAddress: CaipAddress = `${activeNetwork.caipNetworkId}:${ConstantsUtil.NATIVE_TOKEN_ADDRESS[activeNamespace]}`;
168
+
164
169
  const type = ConnectorController.state.connectedConnector;
165
170
 
166
171
  if (!address) {
@@ -178,7 +183,7 @@ export const SwapController = {
178
183
  return {
179
184
  networkAddress,
180
185
  fromAddress: address,
181
- fromCaipAddress: caipAddress,
186
+ fromCaipAddress: activeAddress,
182
187
  sourceTokenAddress: state.sourceToken?.address,
183
188
  toTokenAddress: state.toToken?.address,
184
189
  toTokenAmount: state.toTokenAmount,
@@ -189,7 +194,7 @@ export const SwapController = {
189
194
  invalidSourceToken,
190
195
  invalidSourceTokenAmount,
191
196
  availableToSwap:
192
- caipAddress && !invalidToToken && !invalidSourceToken && !invalidSourceTokenAmount,
197
+ activeAddress && !invalidToToken && !invalidSourceToken && !invalidSourceTokenAmount,
193
198
  isAuthConnector: type === 'AUTH'
194
199
  };
195
200
  },
@@ -282,7 +287,6 @@ export const SwapController = {
282
287
 
283
288
  async getMyTokensWithBalance(forceUpdate?: string) {
284
289
  const balances = await SwapApiUtil.getMyTokensWithBalance(forceUpdate);
285
-
286
290
  if (!balances) {
287
291
  return;
288
292
  }
@@ -401,7 +405,7 @@ export const SwapController = {
401
405
 
402
406
  setBalances(balances: SwapTokenWithBalance[]) {
403
407
  const { networkAddress } = this.getParams();
404
- const caipNetwork = NetworkController.state.caipNetwork;
408
+ const caipNetwork = ConnectionsController.state.activeNetwork;
405
409
 
406
410
  if (!caipNetwork) {
407
411
  return;
@@ -413,7 +417,9 @@ export const SwapController = {
413
417
  state.tokensPriceMap[token.address] = token.price || 0;
414
418
  });
415
419
 
416
- state.myTokensWithBalance = balances.filter(token => token.address?.startsWith(caipNetwork.id));
420
+ state.myTokensWithBalance = balances.filter(
421
+ token => token.address?.startsWith(caipNetwork.caipNetworkId)
422
+ );
417
423
 
418
424
  state.networkBalanceInUSD = networkToken
419
425
  ? NumberUtil.multiply(networkToken.quantity.numeric, networkToken.price).toString()
@@ -464,12 +470,12 @@ export const SwapController = {
464
470
 
465
471
  // -- Swap ---------------------------------------------- //
466
472
  async swapTokens() {
467
- const address = AccountController.state.address as `${string}:${string}:${string}`;
473
+ const address = ConnectionsController.state.activeAddress;
468
474
  const sourceToken = state.sourceToken;
469
475
  const toToken = state.toToken;
470
476
  const haveSourceTokenAmount = NumberUtil.bigNumber(state.sourceTokenAmount).isGreaterThan(0);
471
477
 
472
- if (!toToken || !sourceToken || state.loadingPrices || !haveSourceTokenAmount) {
478
+ if (!toToken || !sourceToken || state.loadingPrices || !haveSourceTokenAmount || !address) {
473
479
  return;
474
480
  }
475
481
 
@@ -479,39 +485,44 @@ export const SwapController = {
479
485
  .multipliedBy(10 ** sourceToken.decimals)
480
486
  .integerValue();
481
487
 
482
- const quoteResponse = await BlockchainApiController.fetchSwapQuote({
483
- userAddress: address,
484
- projectId: OptionsController.state.projectId,
485
- from: sourceToken.address,
486
- to: toToken.address,
487
- gasPrice: state.gasFee,
488
- amount: amountDecimal.toString()
489
- });
488
+ try {
489
+ const quoteResponse = await BlockchainApiController.fetchSwapQuote({
490
+ userAddress: address,
491
+ projectId: OptionsController.state.projectId,
492
+ from: sourceToken.address,
493
+ to: toToken.address,
494
+ gasPrice: state.gasFee,
495
+ amount: amountDecimal.toString()
496
+ });
490
497
 
491
- state.loadingQuote = false;
498
+ state.loadingQuote = false;
492
499
 
493
- const quoteToAmount = quoteResponse?.quotes?.[0]?.toAmount;
500
+ const quoteToAmount = quoteResponse?.quotes?.[0]?.toAmount;
494
501
 
495
- if (!quoteToAmount) {
496
- return;
497
- }
502
+ if (!quoteToAmount) {
503
+ return;
504
+ }
498
505
 
499
- const toTokenAmount = NumberUtil.bigNumber(quoteToAmount)
500
- .dividedBy(10 ** toToken.decimals)
501
- .toString();
506
+ const toTokenAmount = NumberUtil.bigNumber(quoteToAmount)
507
+ .dividedBy(10 ** toToken.decimals)
508
+ .toString();
502
509
 
503
- this.setToTokenAmount(toTokenAmount);
510
+ this.setToTokenAmount(toTokenAmount);
504
511
 
505
- const isInsufficientToken = this.hasInsufficientToken(
506
- state.sourceTokenAmount,
507
- sourceToken.address
508
- );
512
+ const isInsufficientToken = this.hasInsufficientToken(
513
+ state.sourceTokenAmount,
514
+ sourceToken.address
515
+ );
509
516
 
510
- if (isInsufficientToken) {
511
- state.inputError = 'Insufficient balance';
512
- } else {
513
- state.inputError = undefined;
514
- this.setTransactionDetails();
517
+ if (isInsufficientToken) {
518
+ state.inputError = 'Insufficient balance';
519
+ } else {
520
+ state.inputError = undefined;
521
+ this.setTransactionDetails();
522
+ }
523
+ } catch (error) {
524
+ SnackController.showError('Failed to get swap quote');
525
+ state.loadingQuote = false;
515
526
  }
516
527
  },
517
528
 
@@ -580,7 +591,7 @@ export const SwapController = {
580
591
  if (!response) {
581
592
  throw new Error('createAllowanceTransaction - No response from generateApproveCalldata');
582
593
  }
583
- const gasLimit = await ConnectionController.estimateGas({
594
+ const gasLimit = await ConnectionsController.estimateGas({
584
595
  address: fromAddress as `0x${string}`,
585
596
  to: CoreHelperUtil.getPlainAddress(response.tx.to) as `0x${string}`,
586
597
  data: response.tx.data
@@ -633,7 +644,7 @@ export const SwapController = {
633
644
  return undefined;
634
645
  }
635
646
 
636
- const amount = ConnectionController.parseUnits(
647
+ const amount = ConnectionsController.parseUnits(
637
648
  sourceTokenAmount,
638
649
  sourceToken.decimals
639
650
  )?.toString();
@@ -701,13 +712,13 @@ export const SwapController = {
701
712
  }
702
713
 
703
714
  try {
704
- await ConnectionController.sendTransaction({
715
+ await ConnectionsController.sendTransaction({
705
716
  address: fromAddress as `0x${string}`,
706
717
  to: data.to as `0x${string}`,
707
718
  data: data.data as `0x${string}`,
708
719
  value: BigInt(data.value),
709
720
  gasPrice: BigInt(data.gasPrice),
710
- chainNamespace: 'eip155'
721
+ chainNamespace: ConnectionsController.state.activeNamespace
711
722
  });
712
723
 
713
724
  await this.swapTokens();
@@ -726,7 +737,6 @@ export const SwapController = {
726
737
  if (!data) {
727
738
  return undefined;
728
739
  }
729
-
730
740
  const { fromAddress, toTokenAmount, isAuthConnector } = this.getParams();
731
741
 
732
742
  state.loadingTransaction = true;
@@ -753,14 +763,14 @@ export const SwapController = {
753
763
 
754
764
  try {
755
765
  const forceUpdateAddresses = [state.sourceToken?.address, state.toToken?.address].join(',');
756
- const transactionHash = await ConnectionController.sendTransaction({
766
+ const transactionHash = await ConnectionsController.sendTransaction({
757
767
  address: fromAddress as `0x${string}`,
758
768
  to: data.to as `0x${string}`,
759
769
  data: data.data as `0x${string}`,
760
770
  gas: data.gas,
761
771
  gasPrice: BigInt(data.gasPrice),
762
772
  value: data.value,
763
- chainNamespace: 'eip155'
773
+ chainNamespace: ConnectionsController.state.activeNamespace
764
774
  });
765
775
 
766
776
  state.loadingTransaction = false;
@@ -769,7 +779,7 @@ export const SwapController = {
769
779
  type: 'track',
770
780
  event: 'SWAP_SUCCESS',
771
781
  properties: {
772
- network: NetworkController.state.caipNetwork?.id || '',
782
+ network: ConnectionsController.state.activeNetwork?.caipNetworkId || '',
773
783
  swapFromToken: this.state.sourceToken?.symbol || '',
774
784
  swapToToken: this.state.toToken?.symbol || '',
775
785
  swapFromAmount: this.state.sourceTokenAmount || '',
@@ -801,7 +811,7 @@ export const SwapController = {
801
811
  event: 'SWAP_ERROR',
802
812
  properties: {
803
813
  message: error?.shortMessage ?? error?.message ?? 'Unknown',
804
- network: NetworkController.state.caipNetwork?.id || '',
814
+ network: ConnectionsController.state.activeNetwork?.caipNetworkId || '',
805
815
  swapFromToken: this.state.sourceToken?.symbol || '',
806
816
  swapToToken: this.state.toToken?.symbol || '',
807
817
  swapFromAmount: this.state.sourceTokenAmount || '',
@@ -1,10 +1,11 @@
1
+ import { Appearance } from 'react-native';
1
2
  import { proxy, subscribe as sub } from 'valtio';
2
3
  import type { ThemeMode, ThemeVariables } from '@reown/appkit-common-react-native';
3
4
 
4
5
  // -- Types --------------------------------------------- //
5
6
  export interface ThemeControllerState {
6
7
  themeMode?: ThemeMode;
7
- themeVariables: ThemeVariables;
8
+ themeVariables?: ThemeVariables;
8
9
  }
9
10
 
10
11
  // -- State --------------------------------------------- //
@@ -22,10 +23,18 @@ export const ThemeController = {
22
23
  },
23
24
 
24
25
  setThemeMode(themeMode: ThemeControllerState['themeMode']) {
25
- state.themeMode = themeMode;
26
+ if (!themeMode) {
27
+ state.themeMode = Appearance.getColorScheme() as ThemeMode;
28
+ } else {
29
+ state.themeMode = themeMode;
30
+ }
26
31
  },
27
32
 
28
33
  setThemeVariables(themeVariables: ThemeControllerState['themeVariables']) {
34
+ if (!themeVariables) {
35
+ state.themeVariables = {};
36
+ }
37
+
29
38
  state.themeVariables = { ...state.themeVariables, ...themeVariables };
30
39
  }
31
40
  };
@@ -3,9 +3,9 @@ import { proxy, subscribe as sub } from 'valtio/vanilla';
3
3
  import { OptionsController } from './OptionsController';
4
4
  import { EventsController } from './EventsController';
5
5
  import { SnackController } from './SnackController';
6
- import { NetworkController } from './NetworkController';
7
6
  import { BlockchainApiController } from './BlockchainApiController';
8
7
  import { AccountController } from './AccountController';
8
+ import { ConnectionsController } from './ConnectionsController';
9
9
 
10
10
  // -- Types --------------------------------------------- //
11
11
  type TransactionByMonthMap = Record<string, Transaction[]>;
@@ -121,7 +121,7 @@ export const TransactionsController = {
121
121
  },
122
122
 
123
123
  filterByConnectedChain(transactions: Transaction[]) {
124
- const chainId = NetworkController.state.caipNetwork?.id;
124
+ const chainId = ConnectionsController.state.activeCaipNetworkId;
125
125
  const filteredTransactions = transactions.filter(
126
126
  transaction => transaction.metadata.chain === chainId
127
127
  );
package/src/index.ts CHANGED
@@ -21,6 +21,11 @@ export {
21
21
  type ConnectionControllerState
22
22
  } from './controllers/ConnectionController';
23
23
 
24
+ export {
25
+ ConnectionsController,
26
+ type ConnectionsControllerState
27
+ } from './controllers/ConnectionsController';
28
+
24
29
  export {
25
30
  ConnectorController,
26
31
  type ConnectorControllerState
@@ -56,12 +61,12 @@ export {
56
61
 
57
62
  export { SendController, type SendControllerState } from './controllers/SendController';
58
63
 
64
+ export { OnRampController, type OnRampControllerState } from './controllers/OnRampController';
59
65
  export { WebviewController, type WebviewControllerState } from './controllers/WebviewController';
60
66
 
61
67
  // -- Utils -------------------------------------------------------------------
62
68
  export { ApiUtil } from './utils/ApiUtil';
63
69
  export { AssetUtil } from './utils/AssetUtil';
64
- export { ConnectionUtil } from './utils/ConnectionUtil';
65
70
  export { ConstantsUtil } from './utils/ConstantsUtil';
66
71
  export { CoreHelperUtil } from './utils/CoreHelperUtil';
67
72
  export { StorageUtil } from './utils/StorageUtil';
@@ -1,5 +1,5 @@
1
1
  import { AssetController } from '../controllers/AssetController';
2
- import type { CaipNetwork, Connector, WcWallet } from './TypeUtil';
2
+ import type { Connector, WcWallet } from './TypeUtil';
3
3
 
4
4
  export const AssetUtil = {
5
5
  getWalletImage(wallet?: WcWallet) {
@@ -14,13 +14,11 @@ export const AssetUtil = {
14
14
  return undefined;
15
15
  },
16
16
 
17
- getNetworkImage(network?: CaipNetwork) {
18
- if (network?.imageUrl) {
19
- return network?.imageUrl;
20
- }
17
+ getNetworkImage(networkId?: string | number) {
18
+ //TODO: check if imageUrl case is needed
21
19
 
22
- if (network?.imageId) {
23
- return AssetController.state.networkImages[network.imageId];
20
+ if (networkId) {
21
+ return AssetController.state.networkImages[networkId];
24
22
  }
25
23
 
26
24
  return undefined;