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

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 (228) hide show
  1. package/lib/commonjs/controllers/ApiController.js +16 -21
  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 +102 -112
  6. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  7. package/lib/commonjs/controllers/ConnectionsController.js +248 -51
  8. package/lib/commonjs/controllers/ConnectionsController.js.map +1 -1
  9. package/lib/commonjs/controllers/EnsController.js +4 -4
  10. package/lib/commonjs/controllers/EnsController.js.map +1 -1
  11. package/lib/commonjs/controllers/EventsController.js +4 -4
  12. package/lib/commonjs/controllers/EventsController.js.map +1 -1
  13. package/lib/commonjs/controllers/ModalController.js +6 -7
  14. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  15. package/lib/commonjs/controllers/OnRampController.js +117 -53
  16. package/lib/commonjs/controllers/OnRampController.js.map +1 -1
  17. package/lib/commonjs/controllers/OptionsController.js +10 -4
  18. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  19. package/lib/commonjs/controllers/PublicStateController.js.map +1 -1
  20. package/lib/commonjs/controllers/RouterController.js +6 -21
  21. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  22. package/lib/commonjs/controllers/SendController.js +100 -100
  23. package/lib/commonjs/controllers/SendController.js.map +1 -1
  24. package/lib/commonjs/controllers/SnackController.js +29 -5
  25. package/lib/commonjs/controllers/SnackController.js.map +1 -1
  26. package/lib/commonjs/controllers/SwapController.js +109 -117
  27. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  28. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  29. package/lib/commonjs/controllers/TransactionsController.js +23 -19
  30. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  31. package/lib/commonjs/controllers/WcController.js +73 -0
  32. package/lib/commonjs/controllers/WcController.js.map +1 -0
  33. package/lib/commonjs/index.js +3 -38
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/package.json +1 -0
  36. package/lib/commonjs/utils/ApiUtil.js.map +1 -1
  37. package/lib/commonjs/utils/AssetUtil.js +6 -14
  38. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  39. package/lib/commonjs/utils/ConstantsUtil.js +13 -425
  40. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  41. package/lib/commonjs/utils/CoreHelperUtil.js +13 -8
  42. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  43. package/lib/commonjs/utils/EventUtil.js.map +1 -1
  44. package/lib/commonjs/utils/FetchUtil.js +34 -10
  45. package/lib/commonjs/utils/FetchUtil.js.map +1 -1
  46. package/lib/commonjs/utils/RouterUtil.js.map +1 -1
  47. package/lib/commonjs/utils/StorageUtil.js +77 -129
  48. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  49. package/lib/commonjs/utils/SwapApiUtil.js +2 -17
  50. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  51. package/lib/commonjs/utils/SwapCalculationUtil.js.map +1 -1
  52. package/lib/module/controllers/ApiController.js +17 -21
  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 +103 -111
  57. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  58. package/lib/module/controllers/ConnectionsController.js +250 -51
  59. package/lib/module/controllers/ConnectionsController.js.map +1 -1
  60. package/lib/module/controllers/EnsController.js +4 -2
  61. package/lib/module/controllers/EnsController.js.map +1 -1
  62. package/lib/module/controllers/EventsController.js +3 -1
  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 +118 -52
  67. package/lib/module/controllers/OnRampController.js.map +1 -1
  68. package/lib/module/controllers/OptionsController.js +12 -4
  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 +8 -21
  73. package/lib/module/controllers/RouterController.js.map +1 -1
  74. package/lib/module/controllers/SendController.js +99 -97
  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 +111 -117
  79. package/lib/module/controllers/SwapController.js.map +1 -1
  80. package/lib/module/controllers/ThemeController.js +2 -0
  81. package/lib/module/controllers/ThemeController.js.map +1 -1
  82. package/lib/module/controllers/TransactionsController.js +23 -17
  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 +5 -6
  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 +8 -14
  91. package/lib/module/utils/AssetUtil.js.map +1 -1
  92. package/lib/module/utils/ConstantsUtil.js +15 -425
  93. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  94. package/lib/module/utils/CoreHelperUtil.js +15 -6
  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 +36 -10
  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 +80 -129
  103. package/lib/module/utils/StorageUtil.js.map +1 -1
  104. package/lib/module/utils/SwapApiUtil.js +4 -17
  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/typescript/controllers/ApiController.d.ts +3 -4
  109. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  110. package/lib/typescript/controllers/AssetController.d.ts +0 -2
  111. package/lib/typescript/controllers/AssetController.d.ts.map +1 -1
  112. package/lib/typescript/controllers/BlockchainApiController.d.ts +21 -13
  113. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  114. package/lib/typescript/controllers/ConnectionsController.d.ts +19 -17
  115. package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -1
  116. package/lib/typescript/controllers/EnsController.d.ts +1 -1
  117. package/lib/typescript/controllers/EventsController.d.ts +1 -1
  118. package/lib/typescript/controllers/EventsController.d.ts.map +1 -1
  119. package/lib/typescript/controllers/ModalController.d.ts +1 -1
  120. package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
  121. package/lib/typescript/controllers/OnRampController.d.ts +4 -3
  122. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
  123. package/lib/typescript/controllers/OptionsController.d.ts +4 -4
  124. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
  125. package/lib/typescript/controllers/RouterController.d.ts +5 -20
  126. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  127. package/lib/typescript/controllers/SendController.d.ts +5 -7
  128. package/lib/typescript/controllers/SendController.d.ts.map +1 -1
  129. package/lib/typescript/controllers/SnackController.d.ts +3 -3
  130. package/lib/typescript/controllers/SnackController.d.ts.map +1 -1
  131. package/lib/typescript/controllers/SwapController.d.ts +11 -11
  132. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  133. package/lib/typescript/controllers/TransactionsController.d.ts +3 -3
  134. package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -1
  135. package/lib/typescript/controllers/WcController.d.ts +27 -0
  136. package/lib/typescript/controllers/WcController.d.ts.map +1 -0
  137. package/lib/typescript/index.d.ts +1 -7
  138. package/lib/typescript/index.d.ts.map +1 -1
  139. package/lib/typescript/utils/AssetUtil.d.ts +2 -3
  140. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
  141. package/lib/typescript/utils/ConstantsUtil.d.ts +7 -415
  142. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  143. package/lib/typescript/utils/CoreHelperUtil.d.ts +4 -4
  144. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  145. package/lib/typescript/utils/EventUtil.d.ts +1 -1
  146. package/lib/typescript/utils/EventUtil.d.ts.map +1 -1
  147. package/lib/typescript/utils/FetchUtil.d.ts +1 -1
  148. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  149. package/lib/typescript/utils/StorageUtil.d.ts +8 -19
  150. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  151. package/lib/typescript/utils/SwapApiUtil.d.ts +3 -4
  152. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  153. package/lib/typescript/utils/SwapCalculationUtil.d.ts +1 -1
  154. package/lib/typescript/utils/SwapCalculationUtil.d.ts.map +1 -1
  155. package/package.json +9 -23
  156. package/src/controllers/ApiController.ts +24 -28
  157. package/src/controllers/AssetController.ts +0 -6
  158. package/src/controllers/BlockchainApiController.ts +76 -121
  159. package/src/controllers/ConnectionsController.ts +308 -78
  160. package/src/controllers/EnsController.ts +3 -3
  161. package/src/controllers/EventsController.ts +2 -2
  162. package/src/controllers/ModalController.ts +7 -9
  163. package/src/controllers/OnRampController.ts +179 -82
  164. package/src/controllers/OptionsController.ts +24 -8
  165. package/src/controllers/RouterController.ts +12 -54
  166. package/src/controllers/SendController.ts +123 -112
  167. package/src/controllers/SnackController.ts +31 -5
  168. package/src/controllers/SwapController.ts +130 -146
  169. package/src/controllers/TransactionsController.ts +24 -18
  170. package/src/controllers/WcController.ts +93 -0
  171. package/src/index.ts +2 -21
  172. package/src/utils/AssetUtil.ts +7 -17
  173. package/src/utils/ConstantsUtil.ts +15 -429
  174. package/src/utils/CoreHelperUtil.ts +31 -8
  175. package/src/utils/EventUtil.ts +1 -1
  176. package/src/utils/FetchUtil.ts +38 -11
  177. package/src/utils/StorageUtil.ts +146 -157
  178. package/src/utils/SwapApiUtil.ts +18 -37
  179. package/src/utils/SwapCalculationUtil.ts +1 -2
  180. package/lib/commonjs/controllers/AccountController.js +0 -93
  181. package/lib/commonjs/controllers/AccountController.js.map +0 -1
  182. package/lib/commonjs/controllers/ConnectionController.js +0 -132
  183. package/lib/commonjs/controllers/ConnectionController.js.map +0 -1
  184. package/lib/commonjs/controllers/ConnectorController.js +0 -50
  185. package/lib/commonjs/controllers/ConnectorController.js.map +0 -1
  186. package/lib/commonjs/controllers/NetworkController.js +0 -90
  187. package/lib/commonjs/controllers/NetworkController.js.map +0 -1
  188. package/lib/commonjs/controllers/WebviewController.js +0 -52
  189. package/lib/commonjs/controllers/WebviewController.js.map +0 -1
  190. package/lib/commonjs/utils/NetworkUtil.js +0 -46
  191. package/lib/commonjs/utils/NetworkUtil.js.map +0 -1
  192. package/lib/commonjs/utils/TypeUtil.js +0 -6
  193. package/lib/commonjs/utils/TypeUtil.js.map +0 -1
  194. package/lib/module/controllers/AccountController.js +0 -88
  195. package/lib/module/controllers/AccountController.js.map +0 -1
  196. package/lib/module/controllers/ConnectionController.js +0 -127
  197. package/lib/module/controllers/ConnectionController.js.map +0 -1
  198. package/lib/module/controllers/ConnectorController.js +0 -45
  199. package/lib/module/controllers/ConnectorController.js.map +0 -1
  200. package/lib/module/controllers/NetworkController.js +0 -85
  201. package/lib/module/controllers/NetworkController.js.map +0 -1
  202. package/lib/module/controllers/WebviewController.js +0 -47
  203. package/lib/module/controllers/WebviewController.js.map +0 -1
  204. package/lib/module/utils/NetworkUtil.js +0 -40
  205. package/lib/module/utils/NetworkUtil.js.map +0 -1
  206. package/lib/module/utils/TypeUtil.js +0 -2
  207. package/lib/module/utils/TypeUtil.js.map +0 -1
  208. package/lib/typescript/controllers/AccountController.d.ts +0 -33
  209. package/lib/typescript/controllers/AccountController.d.ts.map +0 -1
  210. package/lib/typescript/controllers/ConnectionController.d.ts +0 -68
  211. package/lib/typescript/controllers/ConnectionController.d.ts.map +0 -1
  212. package/lib/typescript/controllers/ConnectorController.d.ts +0 -18
  213. package/lib/typescript/controllers/ConnectorController.d.ts.map +0 -1
  214. package/lib/typescript/controllers/NetworkController.d.ts +0 -34
  215. package/lib/typescript/controllers/NetworkController.d.ts.map +0 -1
  216. package/lib/typescript/controllers/WebviewController.d.ts +0 -21
  217. package/lib/typescript/controllers/WebviewController.d.ts.map +0 -1
  218. package/lib/typescript/utils/NetworkUtil.d.ts +0 -8
  219. package/lib/typescript/utils/NetworkUtil.d.ts.map +0 -1
  220. package/lib/typescript/utils/TypeUtil.d.ts +0 -817
  221. package/lib/typescript/utils/TypeUtil.d.ts.map +0 -1
  222. package/src/controllers/AccountController.ts +0 -128
  223. package/src/controllers/ConnectionController.ts +0 -208
  224. package/src/controllers/ConnectorController.ts +0 -64
  225. package/src/controllers/NetworkController.ts +0 -120
  226. package/src/controllers/WebviewController.ts +0 -63
  227. package/src/utils/NetworkUtil.ts +0 -33
  228. package/src/utils/TypeUtil.ts +0 -995
@@ -32,13 +32,15 @@ import type {
32
32
  OnRampQuote,
33
33
  BlockchainApiOnRampWidgetRequest,
34
34
  BlockchainApiOnRampQuotesRequest,
35
- OnRampFiatLimit
36
- } from '../utils/TypeUtil';
35
+ OnRampFiatLimit,
36
+ OnRampCountryDefaults,
37
+ CaipAddress,
38
+ CaipNetworkId
39
+ } from '@reown/appkit-common-react-native';
37
40
  import { OptionsController } from './OptionsController';
38
41
  import { ConstantsUtil } from '../utils/ConstantsUtil';
39
42
  import { ApiUtil } from '../utils/ApiUtil';
40
- import type { CaipNetworkId } from '@reown/appkit-common-react-native';
41
- import { ConnectionsController } from './ConnectionsController';
43
+
42
44
  import { SnackController } from './SnackController';
43
45
 
44
46
  // -- Helpers ------------------------------------------- //
@@ -56,7 +58,11 @@ const getHeaders = () => {
56
58
  };
57
59
  };
58
60
 
61
+ export const EXCLUDED_ONRAMP_PROVIDERS = ['BINANCECONNECT', 'COINBASEPAY'];
62
+
59
63
  // -- Types --------------------------------------------- //
64
+ type WithCaipNetworkId = { caipNetworkId: CaipNetworkId };
65
+
60
66
  export interface BlockchainApiControllerState {
61
67
  clientId: string | null;
62
68
  api: FetchUtil;
@@ -99,14 +105,8 @@ export const BlockchainApiController = {
99
105
  return supportedChains;
100
106
  },
101
107
 
102
- async fetchIdentity({ address }: BlockchainApiIdentityRequest) {
103
- const isSupported = await BlockchainApiController.isNetworkSupported(
104
- ConnectionsController.state.activeCaipNetworkId
105
- );
106
-
107
- if (!isSupported) {
108
- return { avatar: '', name: '' };
109
- }
108
+ async fetchIdentity(params: BlockchainApiIdentityRequest) {
109
+ const { address } = params;
110
110
 
111
111
  return state.api.get<BlockchainApiIdentityResponse>({
112
112
  path: `/v1/identity/${address}`,
@@ -117,17 +117,9 @@ export const BlockchainApiController = {
117
117
  });
118
118
  },
119
119
 
120
- async fetchTransactions({
121
- account,
122
- projectId,
123
- cursor,
124
- onramp,
125
- signal,
126
- cache,
127
- chainId
128
- }: BlockchainApiTransactionsRequest) {
129
- const _chainId = chainId ?? ConnectionsController.state.activeCaipNetworkId;
130
- const isSupported = await BlockchainApiController.isNetworkSupported(_chainId);
120
+ async fetchTransactions(params: BlockchainApiTransactionsRequest) {
121
+ const { account, projectId, cursor, signal, cache, chainId } = params;
122
+ const isSupported = await BlockchainApiController.isNetworkSupported(chainId);
131
123
 
132
124
  if (!isSupported) {
133
125
  return { data: [], next: undefined };
@@ -139,8 +131,7 @@ export const BlockchainApiController = {
139
131
  params: {
140
132
  projectId,
141
133
  cursor,
142
- onramp,
143
- chainId: _chainId
134
+ chainId
144
135
  },
145
136
  signal,
146
137
  cache
@@ -149,10 +140,9 @@ export const BlockchainApiController = {
149
140
  return response;
150
141
  },
151
142
 
152
- async fetchTokenPrice({ projectId, addresses }: BlockchainApiTokenPriceRequest) {
153
- const isSupported = await BlockchainApiController.isNetworkSupported(
154
- ConnectionsController.state.activeCaipNetworkId
155
- );
143
+ async fetchTokenPrice(params: BlockchainApiTokenPriceRequest & WithCaipNetworkId) {
144
+ const { projectId, addresses, caipNetworkId } = params;
145
+ const isSupported = await BlockchainApiController.isNetworkSupported(caipNetworkId);
156
146
 
157
147
  if (!isSupported) {
158
148
  return { fungibles: [] };
@@ -171,14 +161,11 @@ export const BlockchainApiController = {
171
161
  return response;
172
162
  },
173
163
 
174
- async fetchSwapAllowance({
175
- projectId,
176
- tokenAddress,
177
- userAddress
178
- }: BlockchainApiSwapAllowanceRequest) {
179
- const isSupported = await BlockchainApiController.isNetworkSupported(
180
- ConnectionsController.state.activeCaipNetworkId
181
- );
164
+ async fetchSwapAllowance(params: BlockchainApiSwapAllowanceRequest) {
165
+ const { projectId, tokenAddress, userAddress } = params;
166
+ const [namespace, chain] = userAddress.split(':');
167
+ const networkId: CaipNetworkId = `${namespace}:${chain}`;
168
+ const isSupported = await BlockchainApiController.isNetworkSupported(networkId);
182
169
 
183
170
  if (!isSupported) {
184
171
  return { allowance: '0' };
@@ -195,10 +182,9 @@ export const BlockchainApiController = {
195
182
  });
196
183
  },
197
184
 
198
- async fetchGasPrice({ projectId, chainId }: BlockchainApiGasPriceRequest) {
199
- const isSupported = await BlockchainApiController.isNetworkSupported(
200
- ConnectionsController.state.activeCaipNetworkId
201
- );
185
+ async fetchGasPrice(params: BlockchainApiGasPriceRequest) {
186
+ const { projectId, chainId } = params;
187
+ const isSupported = await BlockchainApiController.isNetworkSupported(chainId);
202
188
 
203
189
  if (!isSupported) {
204
190
  throw new Error('Network not supported for Gas Price');
@@ -214,17 +200,11 @@ export const BlockchainApiController = {
214
200
  });
215
201
  },
216
202
 
217
- async fetchSwapQuote({
218
- projectId,
219
- amount,
220
- userAddress,
221
- from,
222
- to,
223
- gasPrice
224
- }: BlockchainApiSwapQuoteRequest) {
225
- const isSupported = await BlockchainApiController.isNetworkSupported(
226
- ConnectionsController.state.activeCaipNetworkId
227
- );
203
+ async fetchSwapQuote(params: BlockchainApiSwapQuoteRequest) {
204
+ const { projectId, amount, userAddress, from, to, gasPrice } = params;
205
+ const [namespace, chain] = userAddress.split(':');
206
+ const networkId: CaipNetworkId = `${namespace}:${chain}`;
207
+ const isSupported = await BlockchainApiController.isNetworkSupported(networkId);
228
208
 
229
209
  if (!isSupported) {
230
210
  return { quotes: [] };
@@ -244,10 +224,9 @@ export const BlockchainApiController = {
244
224
  });
245
225
  },
246
226
 
247
- async fetchSwapTokens({ projectId, chainId }: BlockchainApiSwapTokensRequest) {
248
- const isSupported = await BlockchainApiController.isNetworkSupported(
249
- ConnectionsController.state.activeCaipNetworkId
250
- );
227
+ async fetchSwapTokens(params: BlockchainApiSwapTokensRequest) {
228
+ const { projectId, chainId } = params;
229
+ const isSupported = await BlockchainApiController.isNetworkSupported(chainId);
251
230
 
252
231
  if (!isSupported) {
253
232
  return { tokens: [] };
@@ -263,16 +242,11 @@ export const BlockchainApiController = {
263
242
  });
264
243
  },
265
244
 
266
- async generateSwapCalldata({
267
- amount,
268
- from,
269
- projectId,
270
- to,
271
- userAddress
272
- }: BlockchainApiGenerateSwapCalldataRequest) {
273
- const isSupported = await BlockchainApiController.isNetworkSupported(
274
- ConnectionsController.state.activeCaipNetworkId
275
- );
245
+ async generateSwapCalldata(params: BlockchainApiGenerateSwapCalldataRequest) {
246
+ const { amount, from, projectId, to, userAddress } = params;
247
+ const [namespace, chain] = userAddress.split(':');
248
+ const networkId: CaipNetworkId = `${namespace}:${chain}`;
249
+ const isSupported = await BlockchainApiController.isNetworkSupported(networkId);
276
250
 
277
251
  if (!isSupported) {
278
252
  throw new Error('Network not supported for Swaps');
@@ -294,15 +268,11 @@ export const BlockchainApiController = {
294
268
  });
295
269
  },
296
270
 
297
- async generateApproveCalldata({
298
- from,
299
- projectId,
300
- to,
301
- userAddress
302
- }: BlockchainApiGenerateApproveCalldataRequest) {
303
- const isSupported = await BlockchainApiController.isNetworkSupported(
304
- ConnectionsController.state.activeCaipNetworkId
305
- );
271
+ async generateApproveCalldata(params: BlockchainApiGenerateApproveCalldataRequest) {
272
+ const { from, projectId, to, userAddress } = params;
273
+ const [namespace, chain] = userAddress.split(':');
274
+ const networkId: CaipNetworkId = `${namespace}:${chain}`;
275
+ const isSupported = await BlockchainApiController.isNetworkSupported(networkId);
306
276
 
307
277
  if (!isSupported) {
308
278
  throw new Error('Network not supported for Swaps');
@@ -320,10 +290,15 @@ export const BlockchainApiController = {
320
290
  });
321
291
  },
322
292
 
323
- async getBalance(address: string, chainId?: string, forceUpdate?: string) {
324
- const isSupported = await BlockchainApiController.isNetworkSupported(
325
- ConnectionsController.state.activeCaipNetworkId
326
- );
293
+ async getBalance(address?: CaipAddress, forceUpdate?: CaipAddress[]) {
294
+ const [namespace, chain, plainAddress] = address?.split(':') ?? [];
295
+
296
+ if (!namespace || !chain || !plainAddress) {
297
+ throw new Error('Invalid address');
298
+ }
299
+
300
+ const isSupported = await BlockchainApiController.isNetworkSupported(`${namespace}:${chain}`);
301
+
327
302
  if (!isSupported) {
328
303
  SnackController.showError('Token Balance Unavailable');
329
304
 
@@ -331,13 +306,13 @@ export const BlockchainApiController = {
331
306
  }
332
307
 
333
308
  return state.api.get<BlockchainApiBalanceResponse>({
334
- path: `/v1/account/${address}/balance`,
309
+ path: `/v1/account/${plainAddress}/balance`,
335
310
  headers: getHeaders(),
336
311
  params: {
337
312
  currency: 'usd',
338
313
  projectId: OptionsController.state.projectId,
339
- chainId,
340
- forceUpdate
314
+ chainId: `${namespace}:${chain}`,
315
+ forceUpdate: forceUpdate?.join(',')
341
316
  }
342
317
  });
343
318
  },
@@ -353,17 +328,6 @@ export const BlockchainApiController = {
353
328
  });
354
329
  },
355
330
 
356
- async fetchOnRampCountries() {
357
- return await state.api.get<OnRampCountry[]>({
358
- path: '/v1/onramp/providers/properties',
359
- headers: getHeaders(),
360
- params: {
361
- projectId: OptionsController.state.projectId,
362
- type: 'countries'
363
- }
364
- });
365
- },
366
-
367
331
  async fetchOnRampServiceProviders() {
368
332
  return await state.api.get<OnRampServiceProvider[]>({
369
333
  path: '/v1/onramp/providers',
@@ -374,48 +338,39 @@ export const BlockchainApiController = {
374
338
  });
375
339
  },
376
340
 
341
+ async fetchOnRampCountries() {
342
+ return await this.fetchProperties<OnRampCountry[]>('countries');
343
+ },
344
+
377
345
  async fetchOnRampPaymentMethods(params: { countries?: string }) {
378
- return await state.api.get<OnRampPaymentMethod[]>({
379
- path: '/v1/onramp/providers/properties',
380
- headers: getHeaders(),
381
- params: {
382
- projectId: OptionsController.state.projectId,
383
- type: 'payment-methods',
384
- ...params
385
- }
386
- });
346
+ return await this.fetchProperties<OnRampPaymentMethod[]>('payment-methods', params);
387
347
  },
388
348
 
389
349
  async fetchOnRampCryptoCurrencies(params: { countries?: string }) {
390
- return await state.api.get<OnRampCryptoCurrency[]>({
391
- path: '/v1/onramp/providers/properties',
392
- headers: getHeaders(),
393
- params: {
394
- projectId: OptionsController.state.projectId,
395
- type: 'crypto-currencies',
396
- ...params
397
- }
398
- });
350
+ return await this.fetchProperties<OnRampCryptoCurrency[]>('crypto-currencies', params);
399
351
  },
400
352
 
401
353
  async fetchOnRampFiatCurrencies() {
402
- return await state.api.get<OnRampFiatCurrency[]>({
403
- path: '/v1/onramp/providers/properties',
404
- headers: getHeaders(),
405
- params: {
406
- projectId: OptionsController.state.projectId,
407
- type: 'fiat-currencies'
408
- }
409
- });
354
+ return await this.fetchProperties<OnRampFiatCurrency[]>('fiat-currencies');
410
355
  },
411
356
 
412
357
  async fetchOnRampFiatLimits() {
413
- return await state.api.get<OnRampFiatLimit[]>({
358
+ return await this.fetchProperties<OnRampFiatLimit[]>('fiat-purchases-limits');
359
+ },
360
+
361
+ async fetchOnRampCountriesDefaults() {
362
+ return await this.fetchProperties<OnRampCountryDefaults[]>('countries-defaults');
363
+ },
364
+
365
+ async fetchProperties<T>(type: string, params?: Record<string, string>) {
366
+ return await state.api.get<T>({
414
367
  path: '/v1/onramp/providers/properties',
415
368
  headers: getHeaders(),
416
369
  params: {
417
370
  projectId: OptionsController.state.projectId,
418
- type: 'fiat-purchases-limits'
371
+ type,
372
+ excludeProviders: EXCLUDED_ONRAMP_PROVIDERS.join(','),
373
+ ...params
419
374
  }
420
375
  });
421
376
  },