@reown/appkit-core-react-native 0.0.0-feat-multi-social-20250714211631 → 0.0.0-feat-onramp-20250718185718

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 (194) hide show
  1. package/lib/commonjs/controllers/AccountController.js +17 -20
  2. package/lib/commonjs/controllers/AccountController.js.map +1 -1
  3. package/lib/commonjs/controllers/ApiController.js +15 -17
  4. package/lib/commonjs/controllers/ApiController.js.map +1 -1
  5. package/lib/commonjs/controllers/BlockchainApiController.js +29 -110
  6. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  7. package/lib/commonjs/controllers/ConnectionController.js +8 -12
  8. package/lib/commonjs/controllers/ConnectionController.js.map +1 -1
  9. package/lib/commonjs/controllers/ConnectorController.js +49 -0
  10. package/lib/commonjs/controllers/ConnectorController.js.map +1 -0
  11. package/lib/commonjs/controllers/EnsController.js +4 -4
  12. package/lib/commonjs/controllers/EnsController.js.map +1 -1
  13. package/lib/commonjs/controllers/EventsController.js +4 -4
  14. package/lib/commonjs/controllers/EventsController.js.map +1 -1
  15. package/lib/commonjs/controllers/ModalController.js +2 -2
  16. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  17. package/lib/commonjs/controllers/OnRampController.js +60 -20
  18. package/lib/commonjs/controllers/OnRampController.js.map +1 -1
  19. package/lib/commonjs/controllers/OptionsController.js +3 -8
  20. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  21. package/lib/commonjs/controllers/RouterController.js +22 -1
  22. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  23. package/lib/commonjs/controllers/SendController.js +33 -34
  24. package/lib/commonjs/controllers/SendController.js.map +1 -1
  25. package/lib/commonjs/controllers/SnackController.js +5 -29
  26. package/lib/commonjs/controllers/SnackController.js.map +1 -1
  27. package/lib/commonjs/controllers/SwapController.js +148 -136
  28. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  29. package/lib/commonjs/controllers/ThemeController.js +1 -9
  30. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  31. package/lib/commonjs/controllers/TransactionsController.js +21 -25
  32. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  33. package/lib/commonjs/controllers/WebviewController.js +52 -0
  34. package/lib/commonjs/controllers/WebviewController.js.map +1 -0
  35. package/lib/commonjs/index.js +24 -3
  36. package/lib/commonjs/index.js.map +1 -1
  37. package/lib/commonjs/utils/AssetUtil.js +12 -8
  38. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  39. package/lib/commonjs/utils/ConnectionUtil.js +33 -0
  40. package/lib/commonjs/utils/ConnectionUtil.js.map +1 -0
  41. package/lib/commonjs/utils/ConstantsUtil.js +8 -537
  42. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  43. package/lib/commonjs/utils/CoreHelperUtil.js +4 -4
  44. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  45. package/lib/commonjs/utils/FetchUtil.js +28 -9
  46. package/lib/commonjs/utils/FetchUtil.js.map +1 -1
  47. package/lib/commonjs/utils/NetworkUtil.js +46 -0
  48. package/lib/commonjs/utils/NetworkUtil.js.map +1 -0
  49. package/lib/commonjs/utils/StorageUtil.js +42 -51
  50. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  51. package/lib/commonjs/utils/SwapApiUtil.js +21 -15
  52. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  53. package/lib/module/controllers/AccountController.js +17 -20
  54. package/lib/module/controllers/AccountController.js.map +1 -1
  55. package/lib/module/controllers/ApiController.js +15 -16
  56. package/lib/module/controllers/ApiController.js.map +1 -1
  57. package/lib/module/controllers/BlockchainApiController.js +29 -110
  58. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  59. package/lib/module/controllers/ConnectionController.js +8 -12
  60. package/lib/module/controllers/ConnectionController.js.map +1 -1
  61. package/lib/module/controllers/ConnectorController.js +44 -0
  62. package/lib/module/controllers/ConnectorController.js.map +1 -0
  63. package/lib/module/controllers/EnsController.js +2 -2
  64. package/lib/module/controllers/EnsController.js.map +1 -1
  65. package/lib/module/controllers/EventsController.js +1 -1
  66. package/lib/module/controllers/EventsController.js.map +1 -1
  67. package/lib/module/controllers/ModalController.js +2 -2
  68. package/lib/module/controllers/ModalController.js.map +1 -1
  69. package/lib/module/controllers/OnRampController.js +60 -20
  70. package/lib/module/controllers/OnRampController.js.map +1 -1
  71. package/lib/module/controllers/OptionsController.js +3 -8
  72. package/lib/module/controllers/OptionsController.js.map +1 -1
  73. package/lib/module/controllers/RouterController.js +22 -1
  74. package/lib/module/controllers/RouterController.js.map +1 -1
  75. package/lib/module/controllers/SendController.js +30 -31
  76. package/lib/module/controllers/SendController.js.map +1 -1
  77. package/lib/module/controllers/SnackController.js +5 -29
  78. package/lib/module/controllers/SnackController.js.map +1 -1
  79. package/lib/module/controllers/SwapController.js +148 -136
  80. package/lib/module/controllers/SwapController.js.map +1 -1
  81. package/lib/module/controllers/ThemeController.js +1 -9
  82. package/lib/module/controllers/ThemeController.js.map +1 -1
  83. package/lib/module/controllers/TransactionsController.js +19 -23
  84. package/lib/module/controllers/TransactionsController.js.map +1 -1
  85. package/lib/module/controllers/WebviewController.js +47 -0
  86. package/lib/module/controllers/WebviewController.js.map +1 -0
  87. package/lib/module/index.js +4 -1
  88. package/lib/module/index.js.map +1 -1
  89. package/lib/module/utils/AssetUtil.js +12 -8
  90. package/lib/module/utils/AssetUtil.js.map +1 -1
  91. package/lib/module/utils/ConnectionUtil.js +27 -0
  92. package/lib/module/utils/ConnectionUtil.js.map +1 -0
  93. package/lib/module/utils/ConstantsUtil.js +8 -537
  94. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  95. package/lib/module/utils/CoreHelperUtil.js +4 -4
  96. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  97. package/lib/module/utils/FetchUtil.js +28 -9
  98. package/lib/module/utils/FetchUtil.js.map +1 -1
  99. package/lib/module/utils/NetworkUtil.js +40 -0
  100. package/lib/module/utils/NetworkUtil.js.map +1 -0
  101. package/lib/module/utils/StorageUtil.js +42 -51
  102. package/lib/module/utils/StorageUtil.js.map +1 -1
  103. package/lib/module/utils/SwapApiUtil.js +21 -15
  104. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  105. package/lib/typescript/controllers/AccountController.d.ts +4 -4
  106. package/lib/typescript/controllers/AccountController.d.ts.map +1 -1
  107. package/lib/typescript/controllers/ApiController.d.ts +1 -1
  108. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  109. package/lib/typescript/controllers/BlockchainApiController.d.ts +4 -16
  110. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  111. package/lib/typescript/controllers/ConnectionController.d.ts +2 -2
  112. package/lib/typescript/controllers/ConnectionController.d.ts.map +1 -1
  113. package/lib/typescript/controllers/ConnectorController.d.ts +18 -0
  114. package/lib/typescript/controllers/ConnectorController.d.ts.map +1 -0
  115. package/lib/typescript/controllers/ModalController.d.ts +1 -1
  116. package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
  117. package/lib/typescript/controllers/NetworkController.d.ts +1 -1
  118. package/lib/typescript/controllers/NetworkController.d.ts.map +1 -1
  119. package/lib/typescript/controllers/OnRampController.d.ts +3 -1
  120. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
  121. package/lib/typescript/controllers/OptionsController.d.ts +2 -5
  122. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
  123. package/lib/typescript/controllers/PublicStateController.d.ts +1 -1
  124. package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -1
  125. package/lib/typescript/controllers/RouterController.d.ts +15 -4
  126. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  127. package/lib/typescript/controllers/SendController.d.ts.map +1 -1
  128. package/lib/typescript/controllers/SnackController.d.ts +3 -3
  129. package/lib/typescript/controllers/SnackController.d.ts.map +1 -1
  130. package/lib/typescript/controllers/SwapController.d.ts +9 -9
  131. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  132. package/lib/typescript/controllers/ThemeController.d.ts +1 -1
  133. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
  134. package/lib/typescript/controllers/TransactionsController.d.ts +3 -3
  135. package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -1
  136. package/lib/typescript/controllers/WebviewController.d.ts +21 -0
  137. package/lib/typescript/controllers/WebviewController.d.ts.map +1 -0
  138. package/lib/typescript/index.d.ts +4 -1
  139. package/lib/typescript/index.d.ts.map +1 -1
  140. package/lib/typescript/utils/AssetUtil.d.ts +3 -3
  141. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
  142. package/lib/typescript/utils/ConnectionUtil.d.ts +4 -0
  143. package/lib/typescript/utils/ConnectionUtil.d.ts.map +1 -0
  144. package/lib/typescript/utils/ConstantsUtil.d.ts +1 -421
  145. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  146. package/lib/typescript/utils/CoreHelperUtil.d.ts +3 -3
  147. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  148. package/lib/typescript/utils/FetchUtil.d.ts +1 -1
  149. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  150. package/lib/typescript/utils/NetworkUtil.d.ts +8 -0
  151. package/lib/typescript/utils/NetworkUtil.d.ts.map +1 -0
  152. package/lib/typescript/utils/StorageUtil.d.ts +7 -14
  153. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  154. package/lib/typescript/utils/SwapApiUtil.d.ts +3 -3
  155. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  156. package/lib/typescript/utils/TypeUtil.d.ts +159 -24
  157. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  158. package/package.json +4 -4
  159. package/src/controllers/AccountController.ts +27 -23
  160. package/src/controllers/ApiController.ts +9 -15
  161. package/src/controllers/BlockchainApiController.ts +32 -145
  162. package/src/controllers/ConnectionController.ts +12 -14
  163. package/src/controllers/ConnectorController.ts +63 -0
  164. package/src/controllers/EnsController.ts +2 -2
  165. package/src/controllers/EventsController.ts +1 -1
  166. package/src/controllers/ModalController.ts +3 -4
  167. package/src/controllers/NetworkController.ts +1 -1
  168. package/src/controllers/OnRampController.ts +91 -32
  169. package/src/controllers/OptionsController.ts +13 -14
  170. package/src/controllers/PublicStateController.ts +1 -1
  171. package/src/controllers/RouterController.ts +53 -5
  172. package/src/controllers/SendController.ts +30 -39
  173. package/src/controllers/SnackController.ts +5 -31
  174. package/src/controllers/SwapController.ts +178 -155
  175. package/src/controllers/ThemeController.ts +2 -11
  176. package/src/controllers/TransactionsController.ts +20 -26
  177. package/src/controllers/WebviewController.ts +63 -0
  178. package/src/index.ts +6 -3
  179. package/src/utils/AssetUtil.ts +14 -8
  180. package/src/utils/ConnectionUtil.ts +27 -0
  181. package/src/utils/ConstantsUtil.ts +8 -542
  182. package/src/utils/CoreHelperUtil.ts +7 -15
  183. package/src/utils/FetchUtil.ts +31 -10
  184. package/src/utils/NetworkUtil.ts +33 -0
  185. package/src/utils/StorageUtil.ts +48 -60
  186. package/src/utils/SwapApiUtil.ts +38 -27
  187. package/src/utils/TypeUtil.ts +160 -26
  188. package/lib/commonjs/controllers/ConnectionsController.js +0 -383
  189. package/lib/commonjs/controllers/ConnectionsController.js.map +0 -1
  190. package/lib/module/controllers/ConnectionsController.js +0 -378
  191. package/lib/module/controllers/ConnectionsController.js.map +0 -1
  192. package/lib/typescript/controllers/ConnectionsController.d.ts +0 -52
  193. package/lib/typescript/controllers/ConnectionsController.d.ts.map +0 -1
  194. package/src/controllers/ConnectionsController.ts +0 -503
@@ -1,10 +1,11 @@
1
- import type { CaipAddress, Transaction } from '@reown/appkit-common-react-native';
2
- import { proxy, subscribe as sub } from 'valtio/vanilla';
1
+ import type { Transaction } from '@reown/appkit-common-react-native';
2
+ import { proxy, subscribe as sub } from 'valtio';
3
3
  import { OptionsController } from './OptionsController';
4
4
  import { EventsController } from './EventsController';
5
5
  import { SnackController } from './SnackController';
6
+ import { NetworkController } from './NetworkController';
6
7
  import { BlockchainApiController } from './BlockchainApiController';
7
- import { ConnectionsController } from './ConnectionsController';
8
+ import { AccountController } from './AccountController';
8
9
 
9
10
  // -- Types --------------------------------------------- //
10
11
  type TransactionByMonthMap = Record<string, Transaction[]>;
@@ -33,29 +34,22 @@ export const TransactionsController = {
33
34
  return sub(state, () => callback(state));
34
35
  },
35
36
 
36
- async fetchTransactions(accountAddress?: CaipAddress, reset?: boolean) {
37
- try {
38
- const { projectId } = OptionsController.state;
39
-
40
- if (!projectId || !accountAddress) {
41
- throw new Error("Transactions can't be fetched without a projectId and an accountAddress");
42
- }
37
+ async fetchTransactions(accountAddress?: string, reset?: boolean) {
38
+ const { projectId } = OptionsController.state;
43
39
 
44
- state.loading = true;
45
-
46
- if (reset) {
47
- state.next = undefined;
48
- }
40
+ if (!projectId || !accountAddress) {
41
+ throw new Error("Transactions can't be fetched without a projectId and an accountAddress");
42
+ }
49
43
 
50
- const [namespace, chain, address] = accountAddress?.split(':') ?? [];
44
+ state.loading = true;
51
45
 
52
- if (!namespace || !chain || !address) {
53
- throw new Error('Invalid address');
54
- }
46
+ if (reset) {
47
+ state.next = undefined;
48
+ }
55
49
 
50
+ try {
56
51
  const response = await BlockchainApiController.fetchTransactions({
57
- account: address,
58
- chainId: `${namespace}:${chain}`,
52
+ account: accountAddress,
59
53
  projectId,
60
54
  cursor: state.next
61
55
  });
@@ -78,10 +72,10 @@ export const TransactionsController = {
78
72
  type: 'track',
79
73
  event: 'ERROR_FETCH_TRANSACTIONS',
80
74
  properties: {
81
- address: accountAddress ?? '',
82
- projectId: OptionsController.state.projectId,
75
+ address: accountAddress,
76
+ projectId,
83
77
  cursor: state.next,
84
- isSmartAccount: ConnectionsController.state.accountType === 'smartAccount'
78
+ isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount'
85
79
  }
86
80
  });
87
81
  SnackController.showError('Failed to fetch transactions');
@@ -127,7 +121,7 @@ export const TransactionsController = {
127
121
  },
128
122
 
129
123
  filterByConnectedChain(transactions: Transaction[]) {
130
- const chainId = ConnectionsController.state.activeCaipNetworkId;
124
+ const chainId = NetworkController.state.caipNetwork?.id;
131
125
  const filteredTransactions = transactions.filter(
132
126
  transaction => transaction.metadata.chain === chainId
133
127
  );
@@ -139,7 +133,7 @@ export const TransactionsController = {
139
133
  state.next = undefined;
140
134
  },
141
135
 
142
- resetState() {
136
+ resetTransactions() {
143
137
  state.transactions = [];
144
138
  state.loading = false;
145
139
  state.empty = false;
@@ -0,0 +1,63 @@
1
+ import type { SocialProvider } from '@reown/appkit-common-react-native';
2
+ import { proxy, subscribe as sub } from 'valtio';
3
+
4
+ // -- Types --------------------------------------------- //
5
+ export interface WebviewControllerState {
6
+ frameViewVisible: boolean;
7
+ webviewVisible: boolean;
8
+ webviewUrl?: string;
9
+ connecting?: boolean;
10
+ connectingProvider?: SocialProvider;
11
+ processingAuth?: boolean;
12
+ }
13
+
14
+ // -- State --------------------------------------------- //
15
+ const state = proxy<WebviewControllerState>({
16
+ frameViewVisible: false,
17
+ webviewVisible: false,
18
+ connecting: false,
19
+ connectingProvider: undefined,
20
+ processingAuth: false
21
+ });
22
+
23
+ // -- Controller ---------------------------------------- //
24
+ export const WebviewController = {
25
+ state,
26
+
27
+ subscribe(callback: (newState: WebviewControllerState) => void) {
28
+ return sub(state, () => callback(state));
29
+ },
30
+
31
+ setFrameViewVisible(frameViewVisible: WebviewControllerState['frameViewVisible']) {
32
+ state.frameViewVisible = frameViewVisible;
33
+ },
34
+
35
+ setWebviewVisible(visible: WebviewControllerState['webviewVisible']) {
36
+ state.webviewVisible = visible;
37
+ },
38
+
39
+ setWebviewUrl(url: WebviewControllerState['webviewUrl']) {
40
+ state.webviewUrl = url;
41
+ },
42
+
43
+ setConnecting(connecting: WebviewControllerState['connecting']) {
44
+ state.connecting = connecting;
45
+ },
46
+
47
+ setConnectingProvider(provider: WebviewControllerState['connectingProvider']) {
48
+ state.connectingProvider = provider;
49
+ },
50
+
51
+ setProcessingAuth(processingAuth: WebviewControllerState['processingAuth']) {
52
+ state.processingAuth = processingAuth;
53
+ },
54
+
55
+ reset() {
56
+ state.frameViewVisible = false;
57
+ state.webviewVisible = false;
58
+ state.connecting = false;
59
+ state.connectingProvider = undefined;
60
+ state.processingAuth = false;
61
+ state.webviewUrl = undefined;
62
+ }
63
+ };
package/src/index.ts CHANGED
@@ -22,9 +22,9 @@ export {
22
22
  } from './controllers/ConnectionController';
23
23
 
24
24
  export {
25
- ConnectionsController,
26
- type ConnectionsControllerState
27
- } from './controllers/ConnectionsController';
25
+ ConnectorController,
26
+ type ConnectorControllerState
27
+ } from './controllers/ConnectorController';
28
28
 
29
29
  export { SnackController, type SnackControllerState } from './controllers/SnackController';
30
30
 
@@ -57,14 +57,17 @@ export {
57
57
  export { SendController, type SendControllerState } from './controllers/SendController';
58
58
 
59
59
  export { OnRampController, type OnRampControllerState } from './controllers/OnRampController';
60
+ export { WebviewController, type WebviewControllerState } from './controllers/WebviewController';
60
61
 
61
62
  // -- Utils -------------------------------------------------------------------
62
63
  export { ApiUtil } from './utils/ApiUtil';
63
64
  export { AssetUtil } from './utils/AssetUtil';
65
+ export { ConnectionUtil } from './utils/ConnectionUtil';
64
66
  export { ConstantsUtil } from './utils/ConstantsUtil';
65
67
  export { CoreHelperUtil } from './utils/CoreHelperUtil';
66
68
  export { StorageUtil } from './utils/StorageUtil';
67
69
  export { EventUtil } from './utils/EventUtil';
68
70
  export { RouterUtil } from './utils/RouterUtil';
71
+ export { NetworkUtil } from './utils/NetworkUtil';
69
72
 
70
73
  export type * from './utils/TypeUtil';
@@ -1,5 +1,5 @@
1
1
  import { AssetController } from '../controllers/AssetController';
2
- import type { WcWallet } from './TypeUtil';
2
+ import type { CaipNetwork, Connector, WcWallet } from './TypeUtil';
3
3
 
4
4
  export const AssetUtil = {
5
5
  getWalletImage(wallet?: WcWallet) {
@@ -14,19 +14,25 @@ export const AssetUtil = {
14
14
  return undefined;
15
15
  },
16
16
 
17
- getNetworkImage(networkId?: string | number) {
18
- //TODO: check if imageUrl case is needed
17
+ getNetworkImage(network?: CaipNetwork) {
18
+ if (network?.imageUrl) {
19
+ return network?.imageUrl;
20
+ }
19
21
 
20
- if (networkId) {
21
- return AssetController.state.networkImages[networkId];
22
+ if (network?.imageId) {
23
+ return AssetController.state.networkImages[network.imageId];
22
24
  }
23
25
 
24
26
  return undefined;
25
27
  },
26
28
 
27
- getConnectorImage(imageId?: string) {
28
- if (imageId) {
29
- return AssetController.state.connectorImages[imageId];
29
+ getConnectorImage(connector?: Connector) {
30
+ if (connector?.imageUrl) {
31
+ return connector.imageUrl;
32
+ }
33
+
34
+ if (connector?.imageId) {
35
+ return AssetController.state.connectorImages[connector.imageId];
30
36
  }
31
37
 
32
38
  return undefined;
@@ -0,0 +1,27 @@
1
+ import { AccountController } from '../controllers/AccountController';
2
+ import { ConnectionController } from '../controllers/ConnectionController';
3
+ import { EventsController } from '../controllers/EventsController';
4
+ import { ModalController } from '../controllers/ModalController';
5
+ import { RouterController } from '../controllers/RouterController';
6
+ import { TransactionsController } from '../controllers/TransactionsController';
7
+
8
+ export const ConnectionUtil = {
9
+ async disconnect() {
10
+ try {
11
+ await ConnectionController.disconnect();
12
+ ModalController.close();
13
+ AccountController.setIsConnected(false);
14
+ RouterController.reset('Connect');
15
+ TransactionsController.resetTransactions();
16
+ EventsController.sendEvent({
17
+ type: 'track',
18
+ event: 'DISCONNECT_SUCCESS'
19
+ });
20
+ } catch (error) {
21
+ EventsController.sendEvent({
22
+ type: 'track',
23
+ event: 'DISCONNECT_ERROR'
24
+ });
25
+ }
26
+ }
27
+ };