@reown/appkit-core-react-native 0.0.0-chore-canary-20250722145858 → 0.0.0-chore-bump-builder-20250728194329

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 (209) hide show
  1. package/lib/commonjs/controllers/ApiController.js +27 -16
  2. package/lib/commonjs/controllers/ApiController.js.map +1 -1
  3. package/lib/commonjs/controllers/BlockchainApiController.js +173 -103
  4. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  5. package/lib/commonjs/controllers/ConnectionController.js +8 -11
  6. package/lib/commonjs/controllers/ConnectionController.js.map +1 -1
  7. package/lib/commonjs/controllers/ConnectionsController.js +417 -0
  8. package/lib/commonjs/controllers/ConnectionsController.js.map +1 -0
  9. package/lib/commonjs/controllers/ModalController.js +6 -7
  10. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  11. package/lib/commonjs/controllers/OnRampController.js +58 -42
  12. package/lib/commonjs/controllers/OnRampController.js.map +1 -1
  13. package/lib/commonjs/controllers/OptionsController.js +17 -3
  14. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  15. package/lib/commonjs/controllers/RouterController.js +1 -22
  16. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  17. package/lib/commonjs/controllers/SendController.js +96 -96
  18. package/lib/commonjs/controllers/SendController.js.map +1 -1
  19. package/lib/commonjs/controllers/SnackController.js +29 -5
  20. package/lib/commonjs/controllers/SnackController.js.map +1 -1
  21. package/lib/commonjs/controllers/SwapController.js +151 -150
  22. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  23. package/lib/commonjs/controllers/ThemeController.js +9 -1
  24. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  25. package/lib/commonjs/controllers/TransactionsController.js +22 -18
  26. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  27. package/lib/commonjs/index.js +3 -38
  28. package/lib/commonjs/index.js.map +1 -1
  29. package/lib/commonjs/package.json +1 -0
  30. package/lib/commonjs/utils/AssetUtil.js +3 -15
  31. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  32. package/lib/commonjs/utils/ConstantsUtil.js +122 -5
  33. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  34. package/lib/commonjs/utils/CoreHelperUtil.js +11 -5
  35. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  36. package/lib/commonjs/utils/FetchUtil.js +7 -2
  37. package/lib/commonjs/utils/FetchUtil.js.map +1 -1
  38. package/lib/commonjs/utils/StorageUtil.js +99 -71
  39. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  40. package/lib/commonjs/utils/SwapApiUtil.js +15 -21
  41. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  42. package/lib/commonjs/utils/TypeUtil.js +25 -0
  43. package/lib/commonjs/utils/TypeUtil.js.map +1 -1
  44. package/lib/module/controllers/ApiController.js +28 -16
  45. package/lib/module/controllers/ApiController.js.map +1 -1
  46. package/lib/module/controllers/AssetController.js +2 -0
  47. package/lib/module/controllers/AssetController.js.map +1 -1
  48. package/lib/module/controllers/BlockchainApiController.js +174 -102
  49. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  50. package/lib/module/controllers/ConnectionController.js +10 -11
  51. package/lib/module/controllers/ConnectionController.js.map +1 -1
  52. package/lib/module/controllers/ConnectionsController.js +414 -0
  53. package/lib/module/controllers/ConnectionsController.js.map +1 -0
  54. package/lib/module/controllers/EnsController.js +2 -0
  55. package/lib/module/controllers/EnsController.js.map +1 -1
  56. package/lib/module/controllers/EventsController.js +2 -0
  57. package/lib/module/controllers/EventsController.js.map +1 -1
  58. package/lib/module/controllers/ModalController.js +8 -7
  59. package/lib/module/controllers/ModalController.js.map +1 -1
  60. package/lib/module/controllers/OnRampController.js +59 -41
  61. package/lib/module/controllers/OnRampController.js.map +1 -1
  62. package/lib/module/controllers/OptionsController.js +19 -3
  63. package/lib/module/controllers/OptionsController.js.map +1 -1
  64. package/lib/module/controllers/PublicStateController.js +2 -0
  65. package/lib/module/controllers/PublicStateController.js.map +1 -1
  66. package/lib/module/controllers/RouterController.js +3 -22
  67. package/lib/module/controllers/RouterController.js.map +1 -1
  68. package/lib/module/controllers/SendController.js +98 -96
  69. package/lib/module/controllers/SendController.js.map +1 -1
  70. package/lib/module/controllers/SnackController.js +31 -5
  71. package/lib/module/controllers/SnackController.js.map +1 -1
  72. package/lib/module/controllers/SwapController.js +153 -150
  73. package/lib/module/controllers/SwapController.js.map +1 -1
  74. package/lib/module/controllers/ThemeController.js +11 -1
  75. package/lib/module/controllers/ThemeController.js.map +1 -1
  76. package/lib/module/controllers/TransactionsController.js +24 -18
  77. package/lib/module/controllers/TransactionsController.js.map +1 -1
  78. package/lib/module/index.js +3 -6
  79. package/lib/module/index.js.map +1 -1
  80. package/lib/module/utils/ApiUtil.js +2 -0
  81. package/lib/module/utils/ApiUtil.js.map +1 -1
  82. package/lib/module/utils/AssetUtil.js +5 -15
  83. package/lib/module/utils/AssetUtil.js.map +1 -1
  84. package/lib/module/utils/ConstantsUtil.js +124 -5
  85. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  86. package/lib/module/utils/CoreHelperUtil.js +13 -5
  87. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  88. package/lib/module/utils/EventUtil.js +2 -0
  89. package/lib/module/utils/EventUtil.js.map +1 -1
  90. package/lib/module/utils/FetchUtil.js +9 -2
  91. package/lib/module/utils/FetchUtil.js.map +1 -1
  92. package/lib/module/utils/RouterUtil.js +2 -0
  93. package/lib/module/utils/RouterUtil.js.map +1 -1
  94. package/lib/module/utils/StorageUtil.js +103 -71
  95. package/lib/module/utils/StorageUtil.js.map +1 -1
  96. package/lib/module/utils/SwapApiUtil.js +17 -21
  97. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  98. package/lib/module/utils/SwapCalculationUtil.js +2 -0
  99. package/lib/module/utils/SwapCalculationUtil.js.map +1 -1
  100. package/lib/module/utils/TypeUtil.js +25 -1
  101. package/lib/module/utils/TypeUtil.js.map +1 -1
  102. package/lib/typescript/controllers/ApiController.d.ts +3 -2
  103. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  104. package/lib/typescript/controllers/BlockchainApiController.d.ts +30 -11
  105. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  106. package/lib/typescript/controllers/ConnectionController.d.ts +5 -16
  107. package/lib/typescript/controllers/ConnectionController.d.ts.map +1 -1
  108. package/lib/typescript/controllers/ConnectionsController.d.ts +45 -0
  109. package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -0
  110. package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
  111. package/lib/typescript/controllers/OnRampController.d.ts +1 -2
  112. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
  113. package/lib/typescript/controllers/OptionsController.d.ts +8 -2
  114. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
  115. package/lib/typescript/controllers/PublicStateController.d.ts +1 -1
  116. package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -1
  117. package/lib/typescript/controllers/RouterController.d.ts +4 -16
  118. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  119. package/lib/typescript/controllers/SendController.d.ts +5 -7
  120. package/lib/typescript/controllers/SendController.d.ts.map +1 -1
  121. package/lib/typescript/controllers/SnackController.d.ts +3 -3
  122. package/lib/typescript/controllers/SnackController.d.ts.map +1 -1
  123. package/lib/typescript/controllers/SwapController.d.ts +12 -11
  124. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  125. package/lib/typescript/controllers/ThemeController.d.ts +1 -1
  126. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
  127. package/lib/typescript/controllers/TransactionsController.d.ts +3 -3
  128. package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -1
  129. package/lib/typescript/index.d.ts +1 -6
  130. package/lib/typescript/index.d.ts.map +1 -1
  131. package/lib/typescript/utils/AssetUtil.d.ts +2 -3
  132. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
  133. package/lib/typescript/utils/ConstantsUtil.d.ts +11 -1
  134. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  135. package/lib/typescript/utils/CoreHelperUtil.d.ts +5 -4
  136. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  137. package/lib/typescript/utils/FetchUtil.d.ts +1 -1
  138. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  139. package/lib/typescript/utils/StorageUtil.d.ts +18 -12
  140. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  141. package/lib/typescript/utils/SwapApiUtil.d.ts +3 -3
  142. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  143. package/lib/typescript/utils/TypeUtil.d.ts +44 -184
  144. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  145. package/package.json +7 -7
  146. package/src/controllers/ApiController.ts +28 -10
  147. package/src/controllers/BlockchainApiController.ts +152 -89
  148. package/src/controllers/ConnectionController.ts +14 -29
  149. package/src/controllers/ConnectionsController.ts +543 -0
  150. package/src/controllers/ModalController.ts +6 -7
  151. package/src/controllers/OnRampController.ts +91 -59
  152. package/src/controllers/OptionsController.ts +27 -13
  153. package/src/controllers/PublicStateController.ts +1 -1
  154. package/src/controllers/RouterController.ts +5 -54
  155. package/src/controllers/SendController.ts +122 -111
  156. package/src/controllers/SnackController.ts +31 -5
  157. package/src/controllers/SwapController.ts +174 -181
  158. package/src/controllers/ThemeController.ts +11 -2
  159. package/src/controllers/TransactionsController.ts +25 -19
  160. package/src/index.ts +3 -14
  161. package/src/utils/AssetUtil.ts +4 -20
  162. package/src/utils/ConstantsUtil.ts +126 -5
  163. package/src/utils/CoreHelperUtil.ts +34 -7
  164. package/src/utils/FetchUtil.ts +9 -3
  165. package/src/utils/StorageUtil.ts +180 -78
  166. package/src/utils/SwapApiUtil.ts +27 -38
  167. package/src/utils/TypeUtil.ts +54 -182
  168. package/lib/commonjs/controllers/AccountController.js +0 -93
  169. package/lib/commonjs/controllers/AccountController.js.map +0 -1
  170. package/lib/commonjs/controllers/ConnectorController.js +0 -49
  171. package/lib/commonjs/controllers/ConnectorController.js.map +0 -1
  172. package/lib/commonjs/controllers/NetworkController.js +0 -90
  173. package/lib/commonjs/controllers/NetworkController.js.map +0 -1
  174. package/lib/commonjs/controllers/WebviewController.js +0 -52
  175. package/lib/commonjs/controllers/WebviewController.js.map +0 -1
  176. package/lib/commonjs/utils/ConnectionUtil.js +0 -33
  177. package/lib/commonjs/utils/ConnectionUtil.js.map +0 -1
  178. package/lib/commonjs/utils/NetworkUtil.js +0 -46
  179. package/lib/commonjs/utils/NetworkUtil.js.map +0 -1
  180. package/lib/module/controllers/AccountController.js +0 -88
  181. package/lib/module/controllers/AccountController.js.map +0 -1
  182. package/lib/module/controllers/ConnectorController.js +0 -44
  183. package/lib/module/controllers/ConnectorController.js.map +0 -1
  184. package/lib/module/controllers/NetworkController.js +0 -85
  185. package/lib/module/controllers/NetworkController.js.map +0 -1
  186. package/lib/module/controllers/WebviewController.js +0 -47
  187. package/lib/module/controllers/WebviewController.js.map +0 -1
  188. package/lib/module/utils/ConnectionUtil.js +0 -27
  189. package/lib/module/utils/ConnectionUtil.js.map +0 -1
  190. package/lib/module/utils/NetworkUtil.js +0 -40
  191. package/lib/module/utils/NetworkUtil.js.map +0 -1
  192. package/lib/typescript/controllers/AccountController.d.ts +0 -33
  193. package/lib/typescript/controllers/AccountController.d.ts.map +0 -1
  194. package/lib/typescript/controllers/ConnectorController.d.ts +0 -18
  195. package/lib/typescript/controllers/ConnectorController.d.ts.map +0 -1
  196. package/lib/typescript/controllers/NetworkController.d.ts +0 -34
  197. package/lib/typescript/controllers/NetworkController.d.ts.map +0 -1
  198. package/lib/typescript/controllers/WebviewController.d.ts +0 -21
  199. package/lib/typescript/controllers/WebviewController.d.ts.map +0 -1
  200. package/lib/typescript/utils/ConnectionUtil.d.ts +0 -4
  201. package/lib/typescript/utils/ConnectionUtil.d.ts.map +0 -1
  202. package/lib/typescript/utils/NetworkUtil.d.ts +0 -8
  203. package/lib/typescript/utils/NetworkUtil.d.ts.map +0 -1
  204. package/src/controllers/AccountController.ts +0 -128
  205. package/src/controllers/ConnectorController.ts +0 -63
  206. package/src/controllers/NetworkController.ts +0 -120
  207. package/src/controllers/WebviewController.ts +0 -63
  208. package/src/utils/ConnectionUtil.ts +0 -27
  209. package/src/utils/NetworkUtil.ts +0 -33
@@ -1,11 +1,10 @@
1
- import type { Transaction } from '@reown/appkit-common-react-native';
1
+ import type { CaipAddress, Transaction } from '@reown/appkit-common-react-native';
2
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';
7
6
  import { BlockchainApiController } from './BlockchainApiController';
8
- import { AccountController } from './AccountController';
7
+ import { ConnectionsController } from './ConnectionsController';
9
8
 
10
9
  // -- Types --------------------------------------------- //
11
10
  type TransactionByMonthMap = Record<string, Transaction[]>;
@@ -34,22 +33,29 @@ export const TransactionsController = {
34
33
  return sub(state, () => callback(state));
35
34
  },
36
35
 
37
- async fetchTransactions(accountAddress?: string, reset?: boolean) {
38
- const { projectId } = OptionsController.state;
36
+ async fetchTransactions(accountAddress: CaipAddress, reset?: boolean) {
37
+ try {
38
+ const { projectId } = OptionsController.state;
39
39
 
40
- if (!projectId || !accountAddress) {
41
- throw new Error("Transactions can't be fetched without a projectId and an accountAddress");
42
- }
40
+ if (!projectId || !accountAddress) {
41
+ throw new Error("Transactions can't be fetched without a projectId and an accountAddress");
42
+ }
43
43
 
44
- state.loading = true;
44
+ state.loading = true;
45
45
 
46
- if (reset) {
47
- state.next = undefined;
48
- }
46
+ if (reset) {
47
+ state.next = undefined;
48
+ }
49
+
50
+ const [namespace, chain, address] = accountAddress?.split(':') ?? [];
51
+
52
+ if (!namespace || !chain || !address) {
53
+ throw new Error('Invalid address');
54
+ }
49
55
 
50
- try {
51
56
  const response = await BlockchainApiController.fetchTransactions({
52
- account: accountAddress,
57
+ account: address,
58
+ chainId: `${namespace}:${chain}`,
53
59
  projectId,
54
60
  cursor: state.next
55
61
  });
@@ -72,10 +78,10 @@ export const TransactionsController = {
72
78
  type: 'track',
73
79
  event: 'ERROR_FETCH_TRANSACTIONS',
74
80
  properties: {
75
- address: accountAddress,
76
- projectId,
81
+ address: accountAddress ?? '',
82
+ projectId: OptionsController.state.projectId,
77
83
  cursor: state.next,
78
- isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount'
84
+ isSmartAccount: ConnectionsController.state.accountType === 'smartAccount'
79
85
  }
80
86
  });
81
87
  SnackController.showError('Failed to fetch transactions');
@@ -121,7 +127,7 @@ export const TransactionsController = {
121
127
  },
122
128
 
123
129
  filterByConnectedChain(transactions: Transaction[]) {
124
- const chainId = NetworkController.state.caipNetwork?.id;
130
+ const chainId = ConnectionsController.state.activeCaipNetworkId;
125
131
  const filteredTransactions = transactions.filter(
126
132
  transaction => transaction.metadata.chain === chainId
127
133
  );
@@ -133,7 +139,7 @@ export const TransactionsController = {
133
139
  state.next = undefined;
134
140
  },
135
141
 
136
- resetTransactions() {
142
+ resetState() {
137
143
  state.transactions = [];
138
144
  state.loading = false;
139
145
  state.empty = false;
package/src/index.ts CHANGED
@@ -7,14 +7,6 @@ export {
7
7
 
8
8
  export { RouterController, type RouterControllerState } from './controllers/RouterController';
9
9
 
10
- export { AccountController, type AccountControllerState } from './controllers/AccountController';
11
-
12
- export {
13
- NetworkController,
14
- type NetworkControllerClient,
15
- type NetworkControllerState
16
- } from './controllers/NetworkController';
17
-
18
10
  export {
19
11
  ConnectionController,
20
12
  type ConnectionControllerClient,
@@ -22,9 +14,9 @@ export {
22
14
  } from './controllers/ConnectionController';
23
15
 
24
16
  export {
25
- ConnectorController,
26
- type ConnectorControllerState
27
- } from './controllers/ConnectorController';
17
+ ConnectionsController,
18
+ type ConnectionsControllerState
19
+ } from './controllers/ConnectionsController';
28
20
 
29
21
  export { SnackController, type SnackControllerState } from './controllers/SnackController';
30
22
 
@@ -57,17 +49,14 @@ export {
57
49
  export { SendController, type SendControllerState } from './controllers/SendController';
58
50
 
59
51
  export { OnRampController, type OnRampControllerState } from './controllers/OnRampController';
60
- export { WebviewController, type WebviewControllerState } from './controllers/WebviewController';
61
52
 
62
53
  // -- Utils -------------------------------------------------------------------
63
54
  export { ApiUtil } from './utils/ApiUtil';
64
55
  export { AssetUtil } from './utils/AssetUtil';
65
- export { ConnectionUtil } from './utils/ConnectionUtil';
66
56
  export { ConstantsUtil } from './utils/ConstantsUtil';
67
57
  export { CoreHelperUtil } from './utils/CoreHelperUtil';
68
58
  export { StorageUtil } from './utils/StorageUtil';
69
59
  export { EventUtil } from './utils/EventUtil';
70
60
  export { RouterUtil } from './utils/RouterUtil';
71
- export { NetworkUtil } from './utils/NetworkUtil';
72
61
 
73
62
  export type * from './utils/TypeUtil';
@@ -1,5 +1,5 @@
1
1
  import { AssetController } from '../controllers/AssetController';
2
- import type { CaipNetwork, Connector, WcWallet } from './TypeUtil';
2
+ import type { WcWallet } from './TypeUtil';
3
3
 
4
4
  export const AssetUtil = {
5
5
  getWalletImage(wallet?: WcWallet) {
@@ -14,25 +14,9 @@ export const AssetUtil = {
14
14
  return undefined;
15
15
  },
16
16
 
17
- getNetworkImage(network?: CaipNetwork) {
18
- if (network?.imageUrl) {
19
- return network?.imageUrl;
20
- }
21
-
22
- if (network?.imageId) {
23
- return AssetController.state.networkImages[network.imageId];
24
- }
25
-
26
- return undefined;
27
- },
28
-
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];
17
+ getConnectorImage(imageId?: string) {
18
+ if (imageId) {
19
+ return AssetController.state.connectorImages[imageId];
36
20
  }
37
21
 
38
22
  return undefined;
@@ -1,11 +1,11 @@
1
+ import type { ChainNamespace } from '@reown/appkit-common-react-native';
1
2
  import type { Features } from './TypeUtil';
2
3
 
3
4
  const defaultFeatures: Features = {
4
5
  swaps: true,
5
6
  onramp: true,
6
- email: true,
7
- emailShowWallets: true,
8
- socials: ['x', 'discord', 'apple']
7
+ socials: ['email', 'google', 'x', 'discord', 'apple', 'facebook', 'github', 'farcaster'],
8
+ showWallets: true
9
9
  };
10
10
 
11
11
  export const OnRampErrorType = {
@@ -35,7 +35,12 @@ export const ConstantsUtil = {
35
35
 
36
36
  LINKING_ERROR: 'LINKING_ERROR',
37
37
 
38
- NATIVE_TOKEN_ADDRESS: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
38
+ NATIVE_TOKEN_ADDRESS: {
39
+ eip155: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
40
+ solana: 'So11111111111111111111111111111111111111111',
41
+ polkadot: '0x',
42
+ bip122: '0x'
43
+ } as const satisfies Record<ChainNamespace, string>,
39
44
 
40
45
  ONRAMP_ERROR_TYPES: OnRampErrorType,
41
46
 
@@ -129,6 +134,116 @@ export const ConstantsUtil = {
129
134
  'WNT'
130
135
  ],
131
136
 
137
+ //TODO: replace with supported chains from backend
138
+ ACTIVITY_SUPPORTED_CHAINS: [
139
+ // Arbitrum
140
+ 'eip155:42161',
141
+ // BNB Chain
142
+ 'eip155:56',
143
+ // Ethereum
144
+ 'eip155:1',
145
+ // Blast
146
+ 'eip155:81457',
147
+ // Ape Chain
148
+ 'eip155:99999',
149
+ // Avalanche
150
+ 'eip155:43114',
151
+ // Abstract
152
+ 'eip155:900',
153
+ // opBNB
154
+ 'eip155:204',
155
+ // Astar zkEVM
156
+ 'eip155:3776',
157
+ // ZKsync Era
158
+ 'eip155:324',
159
+ // Berachain
160
+ 'eip155:80085',
161
+ // BOB
162
+ 'eip155:60808',
163
+ // Cyber
164
+ 'eip155:7560',
165
+ // Degen Chain
166
+ 'eip155:666666666',
167
+ // Fraxtal
168
+ 'eip155:252',
169
+ // Gravity Alpha
170
+ 'eip155:10003',
171
+ // Ink
172
+ 'eip155:999',
173
+ // Lens
174
+ 'eip155:1348',
175
+ // Lisk
176
+ 'eip155:113',
177
+ // Mode
178
+ 'eip155:34443',
179
+ // Base
180
+ 'eip155:8453',
181
+ // Mantle
182
+ 'eip155:5000',
183
+ // Optimism
184
+ 'eip155:10',
185
+ // Polygon
186
+ 'eip155:137',
187
+ // Celo
188
+ 'eip155:42220',
189
+ // Manta Pacific
190
+ 'eip155:169',
191
+ // Gnosis Chain
192
+ 'eip155:100',
193
+ // Fantom
194
+ 'eip155:250',
195
+ // Ronin
196
+ 'eip155:2020',
197
+ // Linea
198
+ 'eip155:59144',
199
+ // Metis Andromeda
200
+ 'eip155:1088',
201
+ // Aurora
202
+ 'eip155:1313161554',
203
+ // XDC
204
+ 'eip155:50',
205
+ // Cronos zkEVM
206
+ 'eip155:1030',
207
+ // Polygon zkEVM
208
+ 'eip155:1101',
209
+ // Polynomial
210
+ 'eip155:80001',
211
+ // Rari
212
+ 'eip155:1380012617',
213
+ // Redstone
214
+ 'eip155:690',
215
+ // Scroll
216
+ 'eip155:534352',
217
+ // Sei
218
+ 'eip155:1329',
219
+ // Soneium
220
+ 'eip155:1499',
221
+ // Sonic
222
+ 'eip155:7007',
223
+ // Swellchain
224
+ 'eip155:7777777',
225
+ // Taiko
226
+ 'eip155:167000',
227
+ // Viction
228
+ 'eip155:88',
229
+ // Unichain
230
+ 'eip155:12345',
231
+ // Wonder
232
+ 'eip155:8787',
233
+ // X Layer
234
+ 'eip155:196',
235
+ // World Chain
236
+ 'eip155:2008',
237
+ // ZERϴ
238
+ 'eip155:77777',
239
+ // ZkLink Nova
240
+ 'eip155:810180',
241
+ // re.al
242
+ 'eip155:666',
243
+ // Zora
244
+ 'eip155:7777777'
245
+ ],
246
+
132
247
  SWAP_SUPPORTED_NETWORKS: [
133
248
  // Ethereum'
134
249
  'eip155:1',
@@ -156,6 +271,10 @@ export const ConstantsUtil = {
156
271
  'eip155:1313161554'
157
272
  ],
158
273
 
274
+ SEND_SUPPORTED_NAMESPACES: ['eip155', 'solana'],
275
+
276
+ ONRAMP_SUPPORTED_NAMESPACES: ['eip155', 'solana', 'bip122'],
277
+
159
278
  CONVERT_SLIPPAGE_TOLERANCE: 1,
160
279
 
161
280
  DEFAULT_FEATURES: defaultFeatures,
@@ -183,6 +302,8 @@ export const ConstantsUtil = {
183
302
  'eip155:7700': 'CANTO', // Canto
184
303
  'eip155:59144': 'ETH_LINEA', // Linea
185
304
  'eip155:1101': 'ETH_POLYGONZKEVM', // Polygon zkEVM
186
- 'eip155:196': 'XIN' // Mixin
305
+ 'eip155:196': 'XIN', // Mixin
306
+ 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 'SOL',
307
+ 'bip122:000000000019d6689c085ae165831e93': 'BTC'
187
308
  }
188
309
  };
@@ -1,11 +1,22 @@
1
1
  /* eslint-disable no-bitwise */
2
2
 
3
3
  import { Linking, Platform } from 'react-native';
4
- import { ConstantsUtil as CommonConstants, type Balance } from '@reown/appkit-common-react-native';
4
+ import {
5
+ BlockchainAdapter,
6
+ ConstantsUtil as CommonConstants,
7
+ type AdapterType,
8
+ type Balance,
9
+ type CaipAddress,
10
+ type CaipNetwork,
11
+ type ChainNamespace,
12
+ type SocialProvider,
13
+ type LinkingRecord
14
+ } from '@reown/appkit-common-react-native';
15
+
5
16
  import * as ct from 'countries-and-timezones';
6
17
 
7
18
  import { ConstantsUtil } from './ConstantsUtil';
8
- import type { CaipAddress, CaipNetwork, DataWallet, LinkingRecord } from './TypeUtil';
19
+ import type { DataWallet, SdkVersion } from './TypeUtil';
9
20
 
10
21
  // -- Helpers -----------------------------------------------------------------
11
22
  async function isAppInstalledIos(deepLink?: string): Promise<boolean> {
@@ -97,7 +108,7 @@ export const CoreHelperUtil = {
97
108
  };
98
109
  },
99
110
 
100
- formatUniversalUrl(appUrl: string, wcUri: string): LinkingRecord {
111
+ formatUniversalUrl(appUrl: string, wcUri: string, provider?: SocialProvider): LinkingRecord {
101
112
  if (CoreHelperUtil.isLinkModeURL(wcUri)) {
102
113
  return {
103
114
  redirect: wcUri,
@@ -115,7 +126,9 @@ export const CoreHelperUtil = {
115
126
  const encodedWcUrl = encodeURIComponent(wcUri);
116
127
 
117
128
  return {
118
- redirect: `${safeAppUrl}wc?uri=${encodedWcUrl}`,
129
+ redirect: provider
130
+ ? `${safeAppUrl}wc?uri=${encodedWcUrl}&provider=${provider}`
131
+ : `${safeAppUrl}wc?uri=${encodedWcUrl}`,
119
132
  href: safeAppUrl
120
133
  };
121
134
  },
@@ -144,8 +157,8 @@ export const CoreHelperUtil = {
144
157
  return formattedBalance ? `${formattedBalance} ${symbol}` : `0.000 ${symbol || ''}`;
145
158
  },
146
159
 
147
- isAddress(address: string, chain = 'eip155'): boolean {
148
- switch (chain) {
160
+ isAddress(address: string, namespace: ChainNamespace = 'eip155'): boolean {
161
+ switch (namespace) {
149
162
  case 'eip155':
150
163
  if (!/^(?:0x)?[0-9a-f]{40}$/iu.test(address)) {
151
164
  return false;
@@ -277,7 +290,7 @@ export const CoreHelperUtil = {
277
290
 
278
291
  let sum = 0;
279
292
  for (const item of array) {
280
- sum += item.value ?? 0;
293
+ sum += item?.value ?? 0;
281
294
  }
282
295
 
283
296
  const roundedNumber = sum.toFixed(2);
@@ -317,5 +330,19 @@ export const CoreHelperUtil = {
317
330
  func(...args);
318
331
  }, wait);
319
332
  };
333
+ },
334
+
335
+ generateSdkVersion(adapters: BlockchainAdapter[], version: string): SdkVersion {
336
+ const hasNoAdapters = adapters.length === 0;
337
+ const universalType: AdapterType = 'universal';
338
+
339
+ const adapterNames = hasNoAdapters
340
+ ? universalType
341
+ : adapters
342
+ .sort((a, b) => a.adapterType.localeCompare(b.adapterType))
343
+ .map(adapter => adapter.adapterType)
344
+ .join(',');
345
+
346
+ return `react-native-${adapterNames}-${version}`;
320
347
  }
321
348
  };
@@ -8,7 +8,7 @@ interface Options {
8
8
 
9
9
  interface RequestArguments {
10
10
  path: string;
11
- headers?: HeadersInit_;
11
+ headers?: HeadersInit;
12
12
  params?: Record<string, string | undefined>;
13
13
  cache?: RequestCache;
14
14
  signal?: AbortSignal;
@@ -108,7 +108,7 @@ export class FetchUtil {
108
108
  const queryParams: string[] = [];
109
109
  for (const key in allParams) {
110
110
  const value = allParams[key];
111
- if (value !== undefined) {
111
+ if (value !== undefined && value !== null && value !== '') {
112
112
  queryParams.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
113
113
  }
114
114
  }
@@ -128,7 +128,13 @@ export class FetchUtil {
128
128
  private async processResponse<T>(response: Response) {
129
129
  if (!response.ok) {
130
130
  if (response.headers.get('content-type')?.includes('application/json')) {
131
- return Promise.reject((await response.json()) as T);
131
+ try {
132
+ const errorData = await response.json();
133
+
134
+ return Promise.reject(errorData);
135
+ } catch (jsonError) {
136
+ return Promise.reject(`Code: ${response.status} - ${response.statusText}`);
137
+ }
132
138
  }
133
139
 
134
140
  const errorText = await response.text();