@reown/appkit-core-react-native 0.0.0-accounts-canary.1-20251023174733

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 (234) hide show
  1. package/lib/commonjs/controllers/ApiController.js +410 -0
  2. package/lib/commonjs/controllers/ApiController.js.map +1 -0
  3. package/lib/commonjs/controllers/AssetController.js +30 -0
  4. package/lib/commonjs/controllers/AssetController.js.map +1 -0
  5. package/lib/commonjs/controllers/BlockchainApiController.js +384 -0
  6. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -0
  7. package/lib/commonjs/controllers/ConnectionsController.js +425 -0
  8. package/lib/commonjs/controllers/ConnectionsController.js.map +1 -0
  9. package/lib/commonjs/controllers/EnsController.js +37 -0
  10. package/lib/commonjs/controllers/EnsController.js.map +1 -0
  11. package/lib/commonjs/controllers/EventsController.js +122 -0
  12. package/lib/commonjs/controllers/EventsController.js.map +1 -0
  13. package/lib/commonjs/controllers/LogController.js +188 -0
  14. package/lib/commonjs/controllers/LogController.js.map +1 -0
  15. package/lib/commonjs/controllers/ModalController.js +68 -0
  16. package/lib/commonjs/controllers/ModalController.js.map +1 -0
  17. package/lib/commonjs/controllers/OnRampController.js +502 -0
  18. package/lib/commonjs/controllers/OnRampController.js.map +1 -0
  19. package/lib/commonjs/controllers/OptionsController.js +96 -0
  20. package/lib/commonjs/controllers/OptionsController.js.map +1 -0
  21. package/lib/commonjs/controllers/PublicStateController.js +33 -0
  22. package/lib/commonjs/controllers/PublicStateController.js.map +1 -0
  23. package/lib/commonjs/controllers/RouterController.js +63 -0
  24. package/lib/commonjs/controllers/RouterController.js.map +1 -0
  25. package/lib/commonjs/controllers/SendController.js +192 -0
  26. package/lib/commonjs/controllers/SendController.js.map +1 -0
  27. package/lib/commonjs/controllers/SnackController.js +83 -0
  28. package/lib/commonjs/controllers/SnackController.js.map +1 -0
  29. package/lib/commonjs/controllers/SwapController.js +674 -0
  30. package/lib/commonjs/controllers/SwapController.js.map +1 -0
  31. package/lib/commonjs/controllers/ThemeController.js +45 -0
  32. package/lib/commonjs/controllers/ThemeController.js.map +1 -0
  33. package/lib/commonjs/controllers/TransactionsController.js +118 -0
  34. package/lib/commonjs/controllers/TransactionsController.js.map +1 -0
  35. package/lib/commonjs/controllers/WcController.js +73 -0
  36. package/lib/commonjs/controllers/WcController.js.map +1 -0
  37. package/lib/commonjs/features/reown-authentication/ReownAuthentication.js +272 -0
  38. package/lib/commonjs/features/reown-authentication/ReownAuthentication.js.map +1 -0
  39. package/lib/commonjs/features/reown-authentication/ReownAuthenticationMessenger.js +48 -0
  40. package/lib/commonjs/features/reown-authentication/ReownAuthenticationMessenger.js.map +1 -0
  41. package/lib/commonjs/features/reown-authentication/index.js +28 -0
  42. package/lib/commonjs/features/reown-authentication/index.js.map +1 -0
  43. package/lib/commonjs/index.js +202 -0
  44. package/lib/commonjs/index.js.map +1 -0
  45. package/lib/commonjs/package.json +1 -0
  46. package/lib/commonjs/utils/ApiUtil.js +43 -0
  47. package/lib/commonjs/utils/ApiUtil.js.map +1 -0
  48. package/lib/commonjs/utils/AssetUtil.js +27 -0
  49. package/lib/commonjs/utils/AssetUtil.js.map +1 -0
  50. package/lib/commonjs/utils/ConstantsUtil.js +226 -0
  51. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -0
  52. package/lib/commonjs/utils/CoreHelperUtil.js +298 -0
  53. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -0
  54. package/lib/commonjs/utils/EventUtil.js +25 -0
  55. package/lib/commonjs/utils/EventUtil.js.map +1 -0
  56. package/lib/commonjs/utils/FetchUtil.js +158 -0
  57. package/lib/commonjs/utils/FetchUtil.js.map +1 -0
  58. package/lib/commonjs/utils/LogUtils.js +131 -0
  59. package/lib/commonjs/utils/LogUtils.js.map +1 -0
  60. package/lib/commonjs/utils/StorageUtil.js +319 -0
  61. package/lib/commonjs/utils/StorageUtil.js.map +1 -0
  62. package/lib/commonjs/utils/SwapApiUtil.js +75 -0
  63. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -0
  64. package/lib/commonjs/utils/SwapCalculationUtil.js +97 -0
  65. package/lib/commonjs/utils/SwapCalculationUtil.js.map +1 -0
  66. package/lib/commonjs/utils/WalletUtil.js +23 -0
  67. package/lib/commonjs/utils/WalletUtil.js.map +1 -0
  68. package/lib/module/controllers/ApiController.js +407 -0
  69. package/lib/module/controllers/ApiController.js.map +1 -0
  70. package/lib/module/controllers/AssetController.js +27 -0
  71. package/lib/module/controllers/AssetController.js.map +1 -0
  72. package/lib/module/controllers/BlockchainApiController.js +381 -0
  73. package/lib/module/controllers/BlockchainApiController.js.map +1 -0
  74. package/lib/module/controllers/ConnectionsController.js +422 -0
  75. package/lib/module/controllers/ConnectionsController.js.map +1 -0
  76. package/lib/module/controllers/EnsController.js +34 -0
  77. package/lib/module/controllers/EnsController.js.map +1 -0
  78. package/lib/module/controllers/EventsController.js +118 -0
  79. package/lib/module/controllers/EventsController.js.map +1 -0
  80. package/lib/module/controllers/LogController.js +185 -0
  81. package/lib/module/controllers/LogController.js.map +1 -0
  82. package/lib/module/controllers/ModalController.js +65 -0
  83. package/lib/module/controllers/ModalController.js.map +1 -0
  84. package/lib/module/controllers/OnRampController.js +499 -0
  85. package/lib/module/controllers/OnRampController.js.map +1 -0
  86. package/lib/module/controllers/OptionsController.js +93 -0
  87. package/lib/module/controllers/OptionsController.js.map +1 -0
  88. package/lib/module/controllers/PublicStateController.js +30 -0
  89. package/lib/module/controllers/PublicStateController.js.map +1 -0
  90. package/lib/module/controllers/RouterController.js +60 -0
  91. package/lib/module/controllers/RouterController.js.map +1 -0
  92. package/lib/module/controllers/SendController.js +189 -0
  93. package/lib/module/controllers/SendController.js.map +1 -0
  94. package/lib/module/controllers/SnackController.js +80 -0
  95. package/lib/module/controllers/SnackController.js.map +1 -0
  96. package/lib/module/controllers/SwapController.js +671 -0
  97. package/lib/module/controllers/SwapController.js.map +1 -0
  98. package/lib/module/controllers/ThemeController.js +42 -0
  99. package/lib/module/controllers/ThemeController.js.map +1 -0
  100. package/lib/module/controllers/TransactionsController.js +115 -0
  101. package/lib/module/controllers/TransactionsController.js.map +1 -0
  102. package/lib/module/controllers/WcController.js +70 -0
  103. package/lib/module/controllers/WcController.js.map +1 -0
  104. package/lib/module/features/reown-authentication/ReownAuthentication.js +268 -0
  105. package/lib/module/features/reown-authentication/ReownAuthentication.js.map +1 -0
  106. package/lib/module/features/reown-authentication/ReownAuthenticationMessenger.js +43 -0
  107. package/lib/module/features/reown-authentication/ReownAuthenticationMessenger.js.map +1 -0
  108. package/lib/module/features/reown-authentication/index.js +5 -0
  109. package/lib/module/features/reown-authentication/index.js.map +1 -0
  110. package/lib/module/index.js +38 -0
  111. package/lib/module/index.js.map +1 -0
  112. package/lib/module/utils/ApiUtil.js +39 -0
  113. package/lib/module/utils/ApiUtil.js.map +1 -0
  114. package/lib/module/utils/AssetUtil.js +23 -0
  115. package/lib/module/utils/AssetUtil.js.map +1 -0
  116. package/lib/module/utils/ConstantsUtil.js +222 -0
  117. package/lib/module/utils/ConstantsUtil.js.map +1 -0
  118. package/lib/module/utils/CoreHelperUtil.js +294 -0
  119. package/lib/module/utils/CoreHelperUtil.js.map +1 -0
  120. package/lib/module/utils/EventUtil.js +21 -0
  121. package/lib/module/utils/EventUtil.js.map +1 -0
  122. package/lib/module/utils/FetchUtil.js +154 -0
  123. package/lib/module/utils/FetchUtil.js.map +1 -0
  124. package/lib/module/utils/LogUtils.js +121 -0
  125. package/lib/module/utils/LogUtils.js.map +1 -0
  126. package/lib/module/utils/StorageUtil.js +315 -0
  127. package/lib/module/utils/StorageUtil.js.map +1 -0
  128. package/lib/module/utils/SwapApiUtil.js +71 -0
  129. package/lib/module/utils/SwapApiUtil.js.map +1 -0
  130. package/lib/module/utils/SwapCalculationUtil.js +94 -0
  131. package/lib/module/utils/SwapCalculationUtil.js.map +1 -0
  132. package/lib/module/utils/WalletUtil.js +19 -0
  133. package/lib/module/utils/WalletUtil.js.map +1 -0
  134. package/lib/typescript/controllers/ApiController.d.ts +40 -0
  135. package/lib/typescript/controllers/ApiController.d.ts.map +1 -0
  136. package/lib/typescript/controllers/AssetController.d.ts +12 -0
  137. package/lib/typescript/controllers/AssetController.d.ts.map +1 -0
  138. package/lib/typescript/controllers/BlockchainApiController.d.ts +55 -0
  139. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -0
  140. package/lib/typescript/controllers/ConnectionsController.d.ts +47 -0
  141. package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -0
  142. package/lib/typescript/controllers/EnsController.d.ts +10 -0
  143. package/lib/typescript/controllers/EnsController.d.ts.map +1 -0
  144. package/lib/typescript/controllers/EventsController.d.ts +25 -0
  145. package/lib/typescript/controllers/EventsController.d.ts.map +1 -0
  146. package/lib/typescript/controllers/LogController.d.ts +65 -0
  147. package/lib/typescript/controllers/LogController.d.ts.map +1 -0
  148. package/lib/typescript/controllers/ModalController.d.ts +17 -0
  149. package/lib/typescript/controllers/ModalController.d.ts.map +1 -0
  150. package/lib/typescript/controllers/OnRampController.d.ts +55 -0
  151. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -0
  152. package/lib/typescript/controllers/OptionsController.d.ts +46 -0
  153. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -0
  154. package/lib/typescript/controllers/PublicStateController.d.ts +12 -0
  155. package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -0
  156. package/lib/typescript/controllers/RouterController.d.ts +21 -0
  157. package/lib/typescript/controllers/RouterController.d.ts.map +1 -0
  158. package/lib/typescript/controllers/SendController.d.ts +39 -0
  159. package/lib/typescript/controllers/SendController.d.ts.map +1 -0
  160. package/lib/typescript/controllers/SnackController.d.ts +20 -0
  161. package/lib/typescript/controllers/SnackController.d.ts.map +1 -0
  162. package/lib/typescript/controllers/SwapController.d.ts +116 -0
  163. package/lib/typescript/controllers/SwapController.d.ts.map +1 -0
  164. package/lib/typescript/controllers/ThemeController.d.ts +14 -0
  165. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -0
  166. package/lib/typescript/controllers/TransactionsController.d.ts +21 -0
  167. package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -0
  168. package/lib/typescript/controllers/WcController.d.ts +27 -0
  169. package/lib/typescript/controllers/WcController.d.ts.map +1 -0
  170. package/lib/typescript/features/reown-authentication/ReownAuthentication.d.ts +174 -0
  171. package/lib/typescript/features/reown-authentication/ReownAuthentication.d.ts.map +1 -0
  172. package/lib/typescript/features/reown-authentication/ReownAuthenticationMessenger.d.ts +16 -0
  173. package/lib/typescript/features/reown-authentication/ReownAuthenticationMessenger.d.ts.map +1 -0
  174. package/lib/typescript/features/reown-authentication/index.d.ts +3 -0
  175. package/lib/typescript/features/reown-authentication/index.d.ts.map +1 -0
  176. package/lib/typescript/index.d.ts +29 -0
  177. package/lib/typescript/index.d.ts.map +1 -0
  178. package/lib/typescript/utils/ApiUtil.d.ts +7 -0
  179. package/lib/typescript/utils/ApiUtil.d.ts.map +1 -0
  180. package/lib/typescript/utils/AssetUtil.d.ts +6 -0
  181. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -0
  182. package/lib/typescript/utils/ConstantsUtil.d.ts +79 -0
  183. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -0
  184. package/lib/typescript/utils/CoreHelperUtil.d.ts +43 -0
  185. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -0
  186. package/lib/typescript/utils/EventUtil.d.ts +5 -0
  187. package/lib/typescript/utils/EventUtil.d.ts.map +1 -0
  188. package/lib/typescript/utils/FetchUtil.d.ts +29 -0
  189. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -0
  190. package/lib/typescript/utils/LogUtils.d.ts +15 -0
  191. package/lib/typescript/utils/LogUtils.d.ts.map +1 -0
  192. package/lib/typescript/utils/StorageUtil.d.ts +36 -0
  193. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -0
  194. package/lib/typescript/utils/SwapApiUtil.d.ts +11 -0
  195. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -0
  196. package/lib/typescript/utils/SwapCalculationUtil.d.ts +24 -0
  197. package/lib/typescript/utils/SwapCalculationUtil.d.ts.map +1 -0
  198. package/lib/typescript/utils/WalletUtil.d.ts +5 -0
  199. package/lib/typescript/utils/WalletUtil.d.ts.map +1 -0
  200. package/package.json +57 -0
  201. package/readme.md +9 -0
  202. package/src/controllers/ApiController.ts +454 -0
  203. package/src/controllers/AssetController.ts +32 -0
  204. package/src/controllers/BlockchainApiController.ts +418 -0
  205. package/src/controllers/ConnectionsController.ts +575 -0
  206. package/src/controllers/EnsController.ts +41 -0
  207. package/src/controllers/EventsController.ts +146 -0
  208. package/src/controllers/LogController.ts +250 -0
  209. package/src/controllers/ModalController.ts +68 -0
  210. package/src/controllers/OnRampController.ts +698 -0
  211. package/src/controllers/OptionsController.ts +143 -0
  212. package/src/controllers/PublicStateController.ts +37 -0
  213. package/src/controllers/RouterController.ts +112 -0
  214. package/src/controllers/SendController.ts +270 -0
  215. package/src/controllers/SnackController.ts +95 -0
  216. package/src/controllers/SwapController.ts +863 -0
  217. package/src/controllers/ThemeController.ts +47 -0
  218. package/src/controllers/TransactionsController.ts +150 -0
  219. package/src/controllers/WcController.ts +93 -0
  220. package/src/features/reown-authentication/ReownAuthentication.ts +475 -0
  221. package/src/features/reown-authentication/ReownAuthenticationMessenger.ts +80 -0
  222. package/src/features/reown-authentication/index.ts +2 -0
  223. package/src/index.ts +70 -0
  224. package/src/utils/ApiUtil.ts +50 -0
  225. package/src/utils/AssetUtil.ts +27 -0
  226. package/src/utils/ConstantsUtil.ts +303 -0
  227. package/src/utils/CoreHelperUtil.ts +377 -0
  228. package/src/utils/EventUtil.ts +22 -0
  229. package/src/utils/FetchUtil.ts +164 -0
  230. package/src/utils/LogUtils.ts +179 -0
  231. package/src/utils/StorageUtil.ts +405 -0
  232. package/src/utils/SwapApiUtil.ts +101 -0
  233. package/src/utils/SwapCalculationUtil.ts +145 -0
  234. package/src/utils/WalletUtil.ts +14 -0
@@ -0,0 +1,381 @@
1
+ "use strict";
2
+
3
+ import { proxy } from 'valtio';
4
+ import { CoreHelperUtil } from '../utils/CoreHelperUtil';
5
+ import { FetchUtil } from '../utils/FetchUtil';
6
+ import { OptionsController } from './OptionsController';
7
+ import { ConstantsUtil } from '../utils/ConstantsUtil';
8
+ import { ApiUtil } from '../utils/ApiUtil';
9
+ import { SnackController } from './SnackController';
10
+ import { LogController } from './LogController';
11
+
12
+ // -- Helpers ------------------------------------------- //
13
+ const baseUrl = CoreHelperUtil.getBlockchainApiUrl();
14
+ const getParams = () => {
15
+ const {
16
+ projectId,
17
+ sdkType,
18
+ sdkVersion
19
+ } = OptionsController.state;
20
+ return {
21
+ projectId,
22
+ st: sdkType,
23
+ sv: sdkVersion
24
+ };
25
+ };
26
+ const getHeaders = () => {
27
+ return {
28
+ 'Content-Type': 'application/json',
29
+ 'User-Agent': ApiUtil.getUserAgent(),
30
+ 'origin': ApiUtil.getOrigin()
31
+ };
32
+ };
33
+ export const EXCLUDED_ONRAMP_PROVIDERS = ['BINANCECONNECT', 'COINBASEPAY'];
34
+
35
+ // -- Types --------------------------------------------- //
36
+
37
+ // -- State --------------------------------------------- //
38
+ const state = proxy({
39
+ clientId: null,
40
+ api: new FetchUtil({
41
+ baseUrl
42
+ }),
43
+ supportedChains: {
44
+ http: [],
45
+ ws: []
46
+ }
47
+ });
48
+
49
+ // -- Controller ---------------------------------------- //
50
+ export const BlockchainApiController = {
51
+ state,
52
+ async isNetworkSupported(networkId) {
53
+ if (!networkId) {
54
+ return false;
55
+ }
56
+ try {
57
+ if (!state.supportedChains.http.length) {
58
+ await BlockchainApiController.getSupportedNetworks();
59
+ }
60
+ } catch (e) {
61
+ LogController.sendError(e, 'BlockchainApiController.ts', 'isNetworkSupported');
62
+ return false;
63
+ }
64
+ return state.supportedChains.http.includes(networkId);
65
+ },
66
+ async getSupportedNetworks() {
67
+ const supportedChains = await state.api.get({
68
+ path: 'v1/supported-chains',
69
+ params: getParams()
70
+ });
71
+ state.supportedChains = supportedChains;
72
+ return supportedChains;
73
+ },
74
+ async fetchIdentity(params) {
75
+ const {
76
+ address
77
+ } = params;
78
+ return state.api.get({
79
+ path: `/v1/identity/${address}`,
80
+ headers: getHeaders(),
81
+ params: getParams()
82
+ });
83
+ },
84
+ async fetchTransactions(params) {
85
+ const {
86
+ account,
87
+ cursor,
88
+ signal,
89
+ cache,
90
+ chainId
91
+ } = params;
92
+ const isSupported = ConstantsUtil.ACTIVITY_SUPPORTED_CHAINS.includes(chainId);
93
+ if (!isSupported) {
94
+ return {
95
+ data: [],
96
+ next: undefined
97
+ };
98
+ }
99
+ const response = await state.api.get({
100
+ path: `/v1/account/${account}/history`,
101
+ headers: getHeaders(),
102
+ params: {
103
+ ...getParams(),
104
+ cursor,
105
+ chainId
106
+ },
107
+ signal,
108
+ cache
109
+ });
110
+ return response;
111
+ },
112
+ async fetchTokenPrice(params) {
113
+ const {
114
+ projectId,
115
+ addresses,
116
+ caipNetworkId
117
+ } = params;
118
+ const isSupported = await BlockchainApiController.isNetworkSupported(caipNetworkId);
119
+ if (!isSupported) {
120
+ return {
121
+ fungibles: []
122
+ };
123
+ }
124
+ const response = await state.api.post({
125
+ path: '/v1/fungible/price',
126
+ headers: getHeaders(),
127
+ params: getParams(),
128
+ body: {
129
+ projectId,
130
+ currency: 'usd',
131
+ addresses
132
+ }
133
+ });
134
+ return response;
135
+ },
136
+ async fetchSwapAllowance(params) {
137
+ const {
138
+ tokenAddress,
139
+ userAddress
140
+ } = params;
141
+ const [namespace, chain] = userAddress.split(':');
142
+ const networkId = `${namespace}:${chain}`;
143
+ const isSupported = await BlockchainApiController.isNetworkSupported(networkId);
144
+ if (!isSupported) {
145
+ return {
146
+ allowance: '0'
147
+ };
148
+ }
149
+ return state.api.get({
150
+ path: `/v1/convert/allowance`,
151
+ params: {
152
+ ...getParams(),
153
+ tokenAddress,
154
+ userAddress
155
+ },
156
+ headers: getHeaders()
157
+ });
158
+ },
159
+ async fetchGasPrice(params) {
160
+ const {
161
+ chainId
162
+ } = params;
163
+ const isSupported = await BlockchainApiController.isNetworkSupported(chainId);
164
+ if (!isSupported) {
165
+ throw new Error('Network not supported for Gas Price');
166
+ }
167
+ return state.api.get({
168
+ path: `/v1/convert/gas-price`,
169
+ headers: getHeaders(),
170
+ params: {
171
+ ...getParams(),
172
+ chainId
173
+ }
174
+ });
175
+ },
176
+ async fetchSwapQuote(params) {
177
+ const {
178
+ amount,
179
+ userAddress,
180
+ from,
181
+ to,
182
+ gasPrice
183
+ } = params;
184
+ const [namespace, chain] = userAddress.split(':');
185
+ const networkId = `${namespace}:${chain}`;
186
+ const isSupported = await BlockchainApiController.isNetworkSupported(networkId);
187
+ if (!isSupported) {
188
+ return {
189
+ quotes: []
190
+ };
191
+ }
192
+ return state.api.get({
193
+ path: `/v1/convert/quotes`,
194
+ headers: getHeaders(),
195
+ params: {
196
+ ...getParams(),
197
+ amount,
198
+ userAddress,
199
+ from,
200
+ to,
201
+ gasPrice
202
+ }
203
+ });
204
+ },
205
+ async fetchSwapTokens(params) {
206
+ const {
207
+ chainId
208
+ } = params;
209
+ const isSupported = await BlockchainApiController.isNetworkSupported(chainId);
210
+ if (!isSupported) {
211
+ return {
212
+ tokens: []
213
+ };
214
+ }
215
+ return state.api.get({
216
+ path: `/v1/convert/tokens`,
217
+ headers: getHeaders(),
218
+ params: {
219
+ ...getParams(),
220
+ chainId
221
+ }
222
+ });
223
+ },
224
+ async generateSwapCalldata(params) {
225
+ const {
226
+ amount,
227
+ from,
228
+ projectId,
229
+ to,
230
+ userAddress
231
+ } = params;
232
+ const [namespace, chain] = userAddress.split(':');
233
+ const networkId = `${namespace}:${chain}`;
234
+ const isSupported = await BlockchainApiController.isNetworkSupported(networkId);
235
+ if (!isSupported) {
236
+ throw new Error('Network not supported for Swaps');
237
+ }
238
+ return state.api.post({
239
+ path: '/v1/convert/build-transaction',
240
+ headers: getHeaders(),
241
+ params: getParams(),
242
+ body: {
243
+ amount,
244
+ eip155: {
245
+ slippage: ConstantsUtil.CONVERT_SLIPPAGE_TOLERANCE
246
+ },
247
+ from,
248
+ projectId,
249
+ to,
250
+ userAddress
251
+ }
252
+ });
253
+ },
254
+ async generateApproveCalldata(params) {
255
+ const {
256
+ from,
257
+ to,
258
+ userAddress
259
+ } = params;
260
+ const [namespace, chain] = userAddress.split(':');
261
+ const networkId = `${namespace}:${chain}`;
262
+ const isSupported = await BlockchainApiController.isNetworkSupported(networkId);
263
+ if (!isSupported) {
264
+ throw new Error('Network not supported for Swaps');
265
+ }
266
+ return state.api.get({
267
+ path: `/v1/convert/build-approve`,
268
+ headers: getHeaders(),
269
+ params: {
270
+ ...getParams(),
271
+ userAddress,
272
+ from,
273
+ to
274
+ }
275
+ });
276
+ },
277
+ async getBalance(address, forceUpdate) {
278
+ const [namespace, chain, plainAddress] = address?.split(':') ?? [];
279
+ if (!namespace || !chain || !plainAddress) {
280
+ throw new Error('Invalid address');
281
+ }
282
+ const isSupported = await BlockchainApiController.isNetworkSupported(`${namespace}:${chain}`);
283
+ if (!isSupported) {
284
+ SnackController.showError('Token Balance Unavailable');
285
+ return {
286
+ balances: []
287
+ };
288
+ }
289
+ return state.api.get({
290
+ path: `/v1/account/${plainAddress}/balance`,
291
+ headers: getHeaders(),
292
+ params: {
293
+ ...getParams(),
294
+ currency: 'usd',
295
+ chainId: `${namespace}:${chain}`,
296
+ forceUpdate: forceUpdate?.join(',')
297
+ }
298
+ });
299
+ },
300
+ async lookupEnsName(name) {
301
+ return state.api.get({
302
+ path: `/v1/profile/account/${name}`,
303
+ headers: getHeaders(),
304
+ params: {
305
+ ...getParams(),
306
+ apiVersion: '2'
307
+ }
308
+ });
309
+ },
310
+ async fetchOnRampServiceProviders() {
311
+ return await state.api.get({
312
+ path: '/v1/onramp/providers',
313
+ headers: getHeaders(),
314
+ params: getParams()
315
+ });
316
+ },
317
+ async fetchOnRampCountries() {
318
+ return await this.fetchProperties('countries');
319
+ },
320
+ async fetchOnRampPaymentMethods(params) {
321
+ return await this.fetchProperties('payment-methods', params);
322
+ },
323
+ async fetchOnRampCryptoCurrencies(params) {
324
+ return await this.fetchProperties('crypto-currencies', params);
325
+ },
326
+ async fetchOnRampFiatCurrencies() {
327
+ return await this.fetchProperties('fiat-currencies');
328
+ },
329
+ async fetchOnRampFiatLimits() {
330
+ return await this.fetchProperties('fiat-purchases-limits');
331
+ },
332
+ async fetchOnRampCountriesDefaults() {
333
+ return await this.fetchProperties('countries-defaults');
334
+ },
335
+ async fetchProperties(type, params) {
336
+ return await state.api.get({
337
+ path: '/v1/onramp/providers/properties',
338
+ headers: getHeaders(),
339
+ params: {
340
+ ...getParams(),
341
+ type,
342
+ excludeProviders: EXCLUDED_ONRAMP_PROVIDERS.join(','),
343
+ ...params
344
+ }
345
+ });
346
+ },
347
+ async getOnRampQuotes(body, signal) {
348
+ return await state.api.post({
349
+ path: '/v1/onramp/multi/quotes',
350
+ headers: getHeaders(),
351
+ params: getParams(),
352
+ body: {
353
+ projectId: OptionsController.state.projectId,
354
+ ...body
355
+ },
356
+ signal
357
+ });
358
+ },
359
+ async getOnRampWidget(body, signal) {
360
+ return await state.api.post({
361
+ path: '/v1/onramp/widget',
362
+ headers: getHeaders(),
363
+ params: getParams(),
364
+ body: {
365
+ projectId: OptionsController.state.projectId,
366
+ sessionData: {
367
+ ...body
368
+ }
369
+ },
370
+ signal
371
+ });
372
+ },
373
+ setClientId(clientId) {
374
+ state.clientId = clientId;
375
+ state.api = new FetchUtil({
376
+ baseUrl,
377
+ clientId
378
+ });
379
+ }
380
+ };
381
+ //# sourceMappingURL=BlockchainApiController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["proxy","CoreHelperUtil","FetchUtil","OptionsController","ConstantsUtil","ApiUtil","SnackController","LogController","baseUrl","getBlockchainApiUrl","getParams","projectId","sdkType","sdkVersion","state","st","sv","getHeaders","getUserAgent","getOrigin","EXCLUDED_ONRAMP_PROVIDERS","clientId","api","supportedChains","http","ws","BlockchainApiController","isNetworkSupported","networkId","length","getSupportedNetworks","e","sendError","includes","get","path","params","fetchIdentity","address","headers","fetchTransactions","account","cursor","signal","cache","chainId","isSupported","ACTIVITY_SUPPORTED_CHAINS","data","next","undefined","response","fetchTokenPrice","addresses","caipNetworkId","fungibles","post","body","currency","fetchSwapAllowance","tokenAddress","userAddress","namespace","chain","split","allowance","fetchGasPrice","Error","fetchSwapQuote","amount","from","to","gasPrice","quotes","fetchSwapTokens","tokens","generateSwapCalldata","eip155","slippage","CONVERT_SLIPPAGE_TOLERANCE","generateApproveCalldata","getBalance","forceUpdate","plainAddress","showError","balances","join","lookupEnsName","name","apiVersion","fetchOnRampServiceProviders","fetchOnRampCountries","fetchProperties","fetchOnRampPaymentMethods","fetchOnRampCryptoCurrencies","fetchOnRampFiatCurrencies","fetchOnRampFiatLimits","fetchOnRampCountriesDefaults","type","excludeProviders","getOnRampQuotes","getOnRampWidget","sessionData","setClientId"],"sourceRoot":"../../../src","sources":["controllers/BlockchainApiController.ts"],"mappings":"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","ignoreList":[]}