@reown/appkit-core-react-native 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/lib/commonjs/controllers/ApiController.js +148 -82
  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 +127 -134
  6. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  7. package/lib/commonjs/controllers/ConnectionsController.js +280 -60
  8. package/lib/commonjs/controllers/ConnectionsController.js.map +1 -1
  9. package/lib/commonjs/controllers/EnsController.js +6 -4
  10. package/lib/commonjs/controllers/EnsController.js.map +1 -1
  11. package/lib/commonjs/controllers/EventsController.js +55 -5
  12. package/lib/commonjs/controllers/EventsController.js.map +1 -1
  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 +9 -7
  16. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  17. package/lib/commonjs/controllers/OnRampController.js +134 -53
  18. package/lib/commonjs/controllers/OnRampController.js.map +1 -1
  19. package/lib/commonjs/controllers/OptionsController.js +20 -7
  20. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  21. package/lib/commonjs/controllers/PublicStateController.js.map +1 -1
  22. package/lib/commonjs/controllers/RouterController.js +7 -22
  23. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  24. package/lib/commonjs/controllers/SendController.js +115 -99
  25. package/lib/commonjs/controllers/SendController.js.map +1 -1
  26. package/lib/commonjs/controllers/SnackController.js +29 -5
  27. package/lib/commonjs/controllers/SnackController.js.map +1 -1
  28. package/lib/commonjs/controllers/SwapController.js +119 -119
  29. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  30. package/lib/commonjs/controllers/ThemeController.js +5 -0
  31. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  32. package/lib/commonjs/controllers/TransactionsController.js +25 -19
  33. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  34. package/lib/commonjs/controllers/WcController.js +73 -0
  35. package/lib/commonjs/controllers/WcController.js.map +1 -0
  36. package/lib/commonjs/features/reown-authentication/ReownAuthentication.js +272 -0
  37. package/lib/commonjs/features/reown-authentication/ReownAuthentication.js.map +1 -0
  38. package/lib/commonjs/features/reown-authentication/ReownAuthenticationMessenger.js +48 -0
  39. package/lib/commonjs/features/reown-authentication/ReownAuthenticationMessenger.js.map +1 -0
  40. package/lib/commonjs/features/reown-authentication/index.js +28 -0
  41. package/lib/commonjs/features/reown-authentication/index.js.map +1 -0
  42. package/lib/commonjs/index.js +30 -37
  43. package/lib/commonjs/index.js.map +1 -1
  44. package/lib/commonjs/package.json +1 -0
  45. package/lib/commonjs/utils/ApiUtil.js +1 -1
  46. package/lib/commonjs/utils/ApiUtil.js.map +1 -1
  47. package/lib/commonjs/utils/AssetUtil.js +8 -17
  48. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  49. package/lib/commonjs/utils/ConstantsUtil.js +14 -431
  50. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  51. package/lib/commonjs/utils/CoreHelperUtil.js +33 -10
  52. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  53. package/lib/commonjs/utils/EventUtil.js.map +1 -1
  54. package/lib/commonjs/utils/FetchUtil.js +41 -12
  55. package/lib/commonjs/utils/FetchUtil.js.map +1 -1
  56. package/lib/commonjs/utils/LogUtils.js +131 -0
  57. package/lib/commonjs/utils/LogUtils.js.map +1 -0
  58. package/lib/commonjs/utils/StorageUtil.js +119 -172
  59. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  60. package/lib/commonjs/utils/SwapApiUtil.js +2 -17
  61. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  62. package/lib/commonjs/utils/SwapCalculationUtil.js.map +1 -1
  63. package/lib/commonjs/utils/WalletUtil.js +23 -0
  64. package/lib/commonjs/utils/WalletUtil.js.map +1 -0
  65. package/lib/module/controllers/ApiController.js +150 -82
  66. package/lib/module/controllers/ApiController.js.map +1 -1
  67. package/lib/module/controllers/AssetController.js +2 -4
  68. package/lib/module/controllers/AssetController.js.map +1 -1
  69. package/lib/module/controllers/BlockchainApiController.js +128 -133
  70. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  71. package/lib/module/controllers/ConnectionsController.js +282 -60
  72. package/lib/module/controllers/ConnectionsController.js.map +1 -1
  73. package/lib/module/controllers/EnsController.js +6 -2
  74. package/lib/module/controllers/EnsController.js.map +1 -1
  75. package/lib/module/controllers/EventsController.js +54 -2
  76. package/lib/module/controllers/EventsController.js.map +1 -1
  77. package/lib/module/controllers/LogController.js +185 -0
  78. package/lib/module/controllers/LogController.js.map +1 -0
  79. package/lib/module/controllers/ModalController.js +11 -7
  80. package/lib/module/controllers/ModalController.js.map +1 -1
  81. package/lib/module/controllers/OnRampController.js +135 -52
  82. package/lib/module/controllers/OnRampController.js.map +1 -1
  83. package/lib/module/controllers/OptionsController.js +22 -7
  84. package/lib/module/controllers/OptionsController.js.map +1 -1
  85. package/lib/module/controllers/PublicStateController.js +2 -0
  86. package/lib/module/controllers/PublicStateController.js.map +1 -1
  87. package/lib/module/controllers/RouterController.js +9 -22
  88. package/lib/module/controllers/RouterController.js.map +1 -1
  89. package/lib/module/controllers/SendController.js +114 -96
  90. package/lib/module/controllers/SendController.js.map +1 -1
  91. package/lib/module/controllers/SnackController.js +31 -5
  92. package/lib/module/controllers/SnackController.js.map +1 -1
  93. package/lib/module/controllers/SwapController.js +121 -119
  94. package/lib/module/controllers/SwapController.js.map +1 -1
  95. package/lib/module/controllers/ThemeController.js +7 -0
  96. package/lib/module/controllers/ThemeController.js.map +1 -1
  97. package/lib/module/controllers/TransactionsController.js +25 -17
  98. package/lib/module/controllers/TransactionsController.js.map +1 -1
  99. package/lib/module/controllers/WcController.js +70 -0
  100. package/lib/module/controllers/WcController.js.map +1 -0
  101. package/lib/module/features/reown-authentication/ReownAuthentication.js +268 -0
  102. package/lib/module/features/reown-authentication/ReownAuthentication.js.map +1 -0
  103. package/lib/module/features/reown-authentication/ReownAuthenticationMessenger.js +43 -0
  104. package/lib/module/features/reown-authentication/ReownAuthenticationMessenger.js.map +1 -0
  105. package/lib/module/features/reown-authentication/index.js +5 -0
  106. package/lib/module/features/reown-authentication/index.js.map +1 -0
  107. package/lib/module/index.js +12 -7
  108. package/lib/module/index.js.map +1 -1
  109. package/lib/module/utils/ApiUtil.js +3 -1
  110. package/lib/module/utils/ApiUtil.js.map +1 -1
  111. package/lib/module/utils/AssetUtil.js +10 -17
  112. package/lib/module/utils/AssetUtil.js.map +1 -1
  113. package/lib/module/utils/ConstantsUtil.js +16 -431
  114. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  115. package/lib/module/utils/CoreHelperUtil.js +35 -8
  116. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  117. package/lib/module/utils/EventUtil.js +2 -0
  118. package/lib/module/utils/EventUtil.js.map +1 -1
  119. package/lib/module/utils/FetchUtil.js +44 -12
  120. package/lib/module/utils/FetchUtil.js.map +1 -1
  121. package/lib/module/utils/LogUtils.js +121 -0
  122. package/lib/module/utils/LogUtils.js.map +1 -0
  123. package/lib/module/utils/StorageUtil.js +122 -172
  124. package/lib/module/utils/StorageUtil.js.map +1 -1
  125. package/lib/module/utils/SwapApiUtil.js +4 -17
  126. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  127. package/lib/module/utils/SwapCalculationUtil.js +3 -0
  128. package/lib/module/utils/SwapCalculationUtil.js.map +1 -1
  129. package/lib/module/utils/WalletUtil.js +19 -0
  130. package/lib/module/utils/WalletUtil.js.map +1 -0
  131. package/lib/typescript/controllers/ApiController.d.ts +8 -7
  132. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  133. package/lib/typescript/controllers/AssetController.d.ts +0 -2
  134. package/lib/typescript/controllers/AssetController.d.ts.map +1 -1
  135. package/lib/typescript/controllers/BlockchainApiController.d.ts +21 -13
  136. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  137. package/lib/typescript/controllers/ConnectionsController.d.ts +22 -18
  138. package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -1
  139. package/lib/typescript/controllers/EnsController.d.ts +1 -1
  140. package/lib/typescript/controllers/EnsController.d.ts.map +1 -1
  141. package/lib/typescript/controllers/EventsController.d.ts +13 -1
  142. package/lib/typescript/controllers/EventsController.d.ts.map +1 -1
  143. package/lib/typescript/controllers/LogController.d.ts +65 -0
  144. package/lib/typescript/controllers/LogController.d.ts.map +1 -0
  145. package/lib/typescript/controllers/ModalController.d.ts +1 -1
  146. package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
  147. package/lib/typescript/controllers/OnRampController.d.ts +4 -3
  148. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
  149. package/lib/typescript/controllers/OptionsController.d.ts +8 -6
  150. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
  151. package/lib/typescript/controllers/RouterController.d.ts +6 -21
  152. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  153. package/lib/typescript/controllers/SendController.d.ts +5 -7
  154. package/lib/typescript/controllers/SendController.d.ts.map +1 -1
  155. package/lib/typescript/controllers/SnackController.d.ts +3 -3
  156. package/lib/typescript/controllers/SnackController.d.ts.map +1 -1
  157. package/lib/typescript/controllers/SwapController.d.ts +11 -11
  158. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  159. package/lib/typescript/controllers/ThemeController.d.ts +2 -0
  160. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
  161. package/lib/typescript/controllers/TransactionsController.d.ts +3 -3
  162. package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -1
  163. package/lib/typescript/controllers/WcController.d.ts +27 -0
  164. package/lib/typescript/controllers/WcController.d.ts.map +1 -0
  165. package/lib/typescript/features/reown-authentication/ReownAuthentication.d.ts +174 -0
  166. package/lib/typescript/features/reown-authentication/ReownAuthentication.d.ts.map +1 -0
  167. package/lib/typescript/features/reown-authentication/ReownAuthenticationMessenger.d.ts +16 -0
  168. package/lib/typescript/features/reown-authentication/ReownAuthenticationMessenger.d.ts.map +1 -0
  169. package/lib/typescript/features/reown-authentication/index.d.ts +3 -0
  170. package/lib/typescript/features/reown-authentication/index.d.ts.map +1 -0
  171. package/lib/typescript/index.d.ts +6 -8
  172. package/lib/typescript/index.d.ts.map +1 -1
  173. package/lib/typescript/utils/ApiUtil.d.ts +1 -1
  174. package/lib/typescript/utils/AssetUtil.d.ts +3 -4
  175. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
  176. package/lib/typescript/utils/ConstantsUtil.d.ts +7 -416
  177. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  178. package/lib/typescript/utils/CoreHelperUtil.d.ts +8 -6
  179. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  180. package/lib/typescript/utils/EventUtil.d.ts +1 -1
  181. package/lib/typescript/utils/EventUtil.d.ts.map +1 -1
  182. package/lib/typescript/utils/FetchUtil.d.ts +3 -3
  183. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  184. package/lib/typescript/utils/LogUtils.d.ts +15 -0
  185. package/lib/typescript/utils/LogUtils.d.ts.map +1 -0
  186. package/lib/typescript/utils/StorageUtil.d.ts +8 -19
  187. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  188. package/lib/typescript/utils/SwapApiUtil.d.ts +3 -4
  189. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  190. package/lib/typescript/utils/SwapCalculationUtil.d.ts +1 -1
  191. package/lib/typescript/utils/SwapCalculationUtil.d.ts.map +1 -1
  192. package/lib/typescript/utils/WalletUtil.d.ts +5 -0
  193. package/lib/typescript/utils/WalletUtil.d.ts.map +1 -0
  194. package/package.json +12 -25
  195. package/src/controllers/ApiController.ts +158 -80
  196. package/src/controllers/AssetController.ts +0 -6
  197. package/src/controllers/BlockchainApiController.ts +109 -144
  198. package/src/controllers/ConnectionsController.ts +372 -88
  199. package/src/controllers/EnsController.ts +5 -3
  200. package/src/controllers/EventsController.ts +74 -3
  201. package/src/controllers/LogController.ts +250 -0
  202. package/src/controllers/ModalController.ts +11 -9
  203. package/src/controllers/OnRampController.ts +195 -82
  204. package/src/controllers/OptionsController.ts +40 -13
  205. package/src/controllers/RouterController.ts +20 -58
  206. package/src/controllers/SendController.ts +148 -112
  207. package/src/controllers/SnackController.ts +31 -5
  208. package/src/controllers/SwapController.ts +140 -148
  209. package/src/controllers/ThemeController.ts +7 -0
  210. package/src/controllers/TransactionsController.ts +26 -18
  211. package/src/controllers/WcController.ts +93 -0
  212. package/src/features/reown-authentication/ReownAuthentication.ts +475 -0
  213. package/src/features/reown-authentication/ReownAuthenticationMessenger.ts +80 -0
  214. package/src/features/reown-authentication/index.ts +2 -0
  215. package/src/index.ts +15 -22
  216. package/src/utils/ApiUtil.ts +1 -1
  217. package/src/utils/AssetUtil.ts +9 -20
  218. package/src/utils/ConstantsUtil.ts +16 -435
  219. package/src/utils/CoreHelperUtil.ts +62 -11
  220. package/src/utils/EventUtil.ts +1 -1
  221. package/src/utils/FetchUtil.ts +50 -14
  222. package/src/utils/LogUtils.ts +179 -0
  223. package/src/utils/StorageUtil.ts +171 -199
  224. package/src/utils/SwapApiUtil.ts +18 -37
  225. package/src/utils/SwapCalculationUtil.ts +1 -2
  226. package/src/utils/WalletUtil.ts +14 -0
  227. package/lib/commonjs/controllers/AccountController.js +0 -93
  228. package/lib/commonjs/controllers/AccountController.js.map +0 -1
  229. package/lib/commonjs/controllers/ConnectionController.js +0 -132
  230. package/lib/commonjs/controllers/ConnectionController.js.map +0 -1
  231. package/lib/commonjs/controllers/ConnectorController.js +0 -50
  232. package/lib/commonjs/controllers/ConnectorController.js.map +0 -1
  233. package/lib/commonjs/controllers/NetworkController.js +0 -90
  234. package/lib/commonjs/controllers/NetworkController.js.map +0 -1
  235. package/lib/commonjs/controllers/WebviewController.js +0 -52
  236. package/lib/commonjs/controllers/WebviewController.js.map +0 -1
  237. package/lib/commonjs/utils/NetworkUtil.js +0 -46
  238. package/lib/commonjs/utils/NetworkUtil.js.map +0 -1
  239. package/lib/commonjs/utils/RouterUtil.js +0 -25
  240. package/lib/commonjs/utils/RouterUtil.js.map +0 -1
  241. package/lib/commonjs/utils/TypeUtil.js +0 -6
  242. package/lib/commonjs/utils/TypeUtil.js.map +0 -1
  243. package/lib/module/controllers/AccountController.js +0 -88
  244. package/lib/module/controllers/AccountController.js.map +0 -1
  245. package/lib/module/controllers/ConnectionController.js +0 -127
  246. package/lib/module/controllers/ConnectionController.js.map +0 -1
  247. package/lib/module/controllers/ConnectorController.js +0 -45
  248. package/lib/module/controllers/ConnectorController.js.map +0 -1
  249. package/lib/module/controllers/NetworkController.js +0 -85
  250. package/lib/module/controllers/NetworkController.js.map +0 -1
  251. package/lib/module/controllers/WebviewController.js +0 -47
  252. package/lib/module/controllers/WebviewController.js.map +0 -1
  253. package/lib/module/utils/NetworkUtil.js +0 -40
  254. package/lib/module/utils/NetworkUtil.js.map +0 -1
  255. package/lib/module/utils/RouterUtil.js +0 -19
  256. package/lib/module/utils/RouterUtil.js.map +0 -1
  257. package/lib/module/utils/TypeUtil.js +0 -2
  258. package/lib/module/utils/TypeUtil.js.map +0 -1
  259. package/lib/typescript/controllers/AccountController.d.ts +0 -33
  260. package/lib/typescript/controllers/AccountController.d.ts.map +0 -1
  261. package/lib/typescript/controllers/ConnectionController.d.ts +0 -68
  262. package/lib/typescript/controllers/ConnectionController.d.ts.map +0 -1
  263. package/lib/typescript/controllers/ConnectorController.d.ts +0 -18
  264. package/lib/typescript/controllers/ConnectorController.d.ts.map +0 -1
  265. package/lib/typescript/controllers/NetworkController.d.ts +0 -34
  266. package/lib/typescript/controllers/NetworkController.d.ts.map +0 -1
  267. package/lib/typescript/controllers/WebviewController.d.ts +0 -21
  268. package/lib/typescript/controllers/WebviewController.d.ts.map +0 -1
  269. package/lib/typescript/utils/NetworkUtil.d.ts +0 -8
  270. package/lib/typescript/utils/NetworkUtil.d.ts.map +0 -1
  271. package/lib/typescript/utils/RouterUtil.d.ts +0 -5
  272. package/lib/typescript/utils/RouterUtil.d.ts.map +0 -1
  273. package/lib/typescript/utils/TypeUtil.d.ts +0 -817
  274. package/lib/typescript/utils/TypeUtil.d.ts.map +0 -1
  275. package/src/controllers/AccountController.ts +0 -128
  276. package/src/controllers/ConnectionController.ts +0 -208
  277. package/src/controllers/ConnectorController.ts +0 -64
  278. package/src/controllers/NetworkController.ts +0 -120
  279. package/src/controllers/WebviewController.ts +0 -63
  280. package/src/utils/NetworkUtil.ts +0 -33
  281. package/src/utils/RouterUtil.ts +0 -21
  282. package/src/utils/TypeUtil.ts +0 -995
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import { proxy } from 'valtio';
2
4
  import { OptionsController } from './OptionsController';
3
5
 
@@ -11,23 +13,47 @@ const state = proxy({
11
13
  long: false
12
14
  });
13
15
 
16
+ // -- Private Variables --------------------------------- //
17
+ let hideTimeout = null;
18
+
19
+ // -- Private Functions --------------------------------- //
20
+ const clearHideTimeout = () => {
21
+ if (hideTimeout) {
22
+ clearTimeout(hideTimeout);
23
+ hideTimeout = null;
24
+ }
25
+ };
26
+ const scheduleAutoHide = long => {
27
+ clearHideTimeout();
28
+ const duration = long ? 15000 : 2200;
29
+ hideTimeout = setTimeout(() => {
30
+ SnackController.hide();
31
+ }, duration);
32
+ };
33
+
14
34
  // -- Controller ---------------------------------------- //
15
35
  export const SnackController = {
16
36
  state,
17
- showSuccess(message) {
37
+ showSuccess(message, long = false) {
18
38
  state.message = message;
19
39
  state.variant = 'success';
20
40
  state.open = true;
41
+ state.long = long;
42
+ scheduleAutoHide(long);
21
43
  },
22
- showError(message) {
44
+ showError(message, long = false) {
23
45
  state.message = message;
24
46
  state.variant = 'error';
25
47
  state.open = true;
48
+ state.long = long;
49
+ scheduleAutoHide(long);
26
50
  },
27
- showLoading(message) {
51
+ showLoading(message, long = false) {
28
52
  state.message = message;
29
53
  state.variant = 'loading';
30
54
  state.open = true;
55
+ state.long = long;
56
+ scheduleAutoHide(long);
31
57
  },
32
58
  showInternalError(error) {
33
59
  const {
@@ -38,6 +64,7 @@ export const SnackController = {
38
64
  state.variant = 'error';
39
65
  state.open = true;
40
66
  state.long = true;
67
+ scheduleAutoHide(true);
41
68
  }
42
69
  if (error.longMessage) {
43
70
  // eslint-disable-next-line no-console
@@ -45,10 +72,9 @@ export const SnackController = {
45
72
  }
46
73
  },
47
74
  hide() {
75
+ clearHideTimeout();
48
76
  state.open = false;
49
77
  state.long = false;
50
- state.message = '';
51
- state.variant = 'success';
52
78
  }
53
79
  };
54
80
  //# sourceMappingURL=SnackController.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["proxy","OptionsController","state","message","variant","open","long","SnackController","showSuccess","showError","showLoading","showInternalError","error","debug","shortMessage","longMessage","console","hide"],"sourceRoot":"../../../src","sources":["controllers/SnackController.ts"],"mappings":"AAAA,SAASA,KAAK,QAAQ,QAAQ;AAC9B,SAASC,iBAAiB,QAAQ,qBAAqB;;AAEvD;;AAaA;AACA,MAAMC,KAAK,GAAGF,KAAK,CAAuB;EACxCG,OAAO,EAAE,EAAE;EACXC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,KAAK;EACXC,IAAI,EAAE;AACR,CAAC,CAAC;;AAEF;AACA,OAAO,MAAMC,eAAe,GAAG;EAC7BL,KAAK;EAELM,WAAWA,CAACL,OAAwC,EAAE;IACpDD,KAAK,CAACC,OAAO,GAAGA,OAAO;IACvBD,KAAK,CAACE,OAAO,GAAG,SAAS;IACzBF,KAAK,CAACG,IAAI,GAAG,IAAI;EACnB,CAAC;EAEDI,SAASA,CAACN,OAAwC,EAAE;IAClDD,KAAK,CAACC,OAAO,GAAGA,OAAO;IACvBD,KAAK,CAACE,OAAO,GAAG,OAAO;IACvBF,KAAK,CAACG,IAAI,GAAG,IAAI;EACnB,CAAC;EAEDK,WAAWA,CAACP,OAAwC,EAAE;IACpDD,KAAK,CAACC,OAAO,GAAGA,OAAO;IACvBD,KAAK,CAACE,OAAO,GAAG,SAAS;IACzBF,KAAK,CAACG,IAAI,GAAG,IAAI;EACnB,CAAC;EAEDM,iBAAiBA,CAACC,KAAc,EAAE;IAChC,MAAM;MAAEC;IAAM,CAAC,GAAGZ,iBAAiB,CAACC,KAAK;IAEzC,IAAIW,KAAK,EAAE;MACTX,KAAK,CAACC,OAAO,GAAGS,KAAK,CAACE,YAAY;MAClCZ,KAAK,CAACE,OAAO,GAAG,OAAO;MACvBF,KAAK,CAACG,IAAI,GAAG,IAAI;MACjBH,KAAK,CAACI,IAAI,GAAG,IAAI;IACnB;IAEA,IAAIM,KAAK,CAACG,WAAW,EAAE;MACrB;MACAC,OAAO,CAACJ,KAAK,CAACA,KAAK,CAACG,WAAW,CAAC;IAClC;EACF,CAAC;EAEDE,IAAIA,CAAA,EAAG;IACLf,KAAK,CAACG,IAAI,GAAG,KAAK;IAClBH,KAAK,CAACI,IAAI,GAAG,KAAK;IAClBJ,KAAK,CAACC,OAAO,GAAG,EAAE;IAClBD,KAAK,CAACE,OAAO,GAAG,SAAS;EAC3B;AACF,CAAC"}
1
+ {"version":3,"names":["proxy","OptionsController","state","message","variant","open","long","hideTimeout","clearHideTimeout","clearTimeout","scheduleAutoHide","duration","setTimeout","SnackController","hide","showSuccess","showError","showLoading","showInternalError","error","debug","shortMessage","longMessage","console"],"sourceRoot":"../../../src","sources":["controllers/SnackController.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,QAAQ;AAC9B,SAASC,iBAAiB,QAAQ,qBAAqB;;AAEvD;;AAaA;AACA,MAAMC,KAAK,GAAGF,KAAK,CAAuB;EACxCG,OAAO,EAAE,EAAE;EACXC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,KAAK;EACXC,IAAI,EAAE;AACR,CAAC,CAAC;;AAEF;AACA,IAAIC,WAAkC,GAAG,IAAI;;AAE7C;AACA,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAC7B,IAAID,WAAW,EAAE;IACfE,YAAY,CAACF,WAAW,CAAC;IACzBA,WAAW,GAAG,IAAI;EACpB;AACF,CAAC;AAED,MAAMG,gBAAgB,GAAIJ,IAAa,IAAK;EAC1CE,gBAAgB,CAAC,CAAC;EAElB,MAAMG,QAAQ,GAAGL,IAAI,GAAG,KAAK,GAAG,IAAI;EACpCC,WAAW,GAAGK,UAAU,CAAC,MAAM;IAC7BC,eAAe,CAACC,IAAI,CAAC,CAAC;EACxB,CAAC,EAAEH,QAAQ,CAAC;AACd,CAAC;;AAED;AACA,OAAO,MAAME,eAAe,GAAG;EAC7BX,KAAK;EAELa,WAAWA,CAACZ,OAAwC,EAAEG,IAAI,GAAG,KAAK,EAAE;IAClEJ,KAAK,CAACC,OAAO,GAAGA,OAAO;IACvBD,KAAK,CAACE,OAAO,GAAG,SAAS;IACzBF,KAAK,CAACG,IAAI,GAAG,IAAI;IACjBH,KAAK,CAACI,IAAI,GAAGA,IAAI;IACjBI,gBAAgB,CAACJ,IAAI,CAAC;EACxB,CAAC;EAEDU,SAASA,CAACb,OAAwC,EAAEG,IAAI,GAAG,KAAK,EAAE;IAChEJ,KAAK,CAACC,OAAO,GAAGA,OAAO;IACvBD,KAAK,CAACE,OAAO,GAAG,OAAO;IACvBF,KAAK,CAACG,IAAI,GAAG,IAAI;IACjBH,KAAK,CAACI,IAAI,GAAGA,IAAI;IACjBI,gBAAgB,CAACJ,IAAI,CAAC;EACxB,CAAC;EAEDW,WAAWA,CAACd,OAAwC,EAAEG,IAAI,GAAG,KAAK,EAAE;IAClEJ,KAAK,CAACC,OAAO,GAAGA,OAAO;IACvBD,KAAK,CAACE,OAAO,GAAG,SAAS;IACzBF,KAAK,CAACG,IAAI,GAAG,IAAI;IACjBH,KAAK,CAACI,IAAI,GAAGA,IAAI;IACjBI,gBAAgB,CAACJ,IAAI,CAAC;EACxB,CAAC;EAEDY,iBAAiBA,CAACC,KAAc,EAAE;IAChC,MAAM;MAAEC;IAAM,CAAC,GAAGnB,iBAAiB,CAACC,KAAK;IAEzC,IAAIkB,KAAK,EAAE;MACTlB,KAAK,CAACC,OAAO,GAAGgB,KAAK,CAACE,YAAY;MAClCnB,KAAK,CAACE,OAAO,GAAG,OAAO;MACvBF,KAAK,CAACG,IAAI,GAAG,IAAI;MACjBH,KAAK,CAACI,IAAI,GAAG,IAAI;MACjBI,gBAAgB,CAAC,IAAI,CAAC;IACxB;IAEA,IAAIS,KAAK,CAACG,WAAW,EAAE;MACrB;MACAC,OAAO,CAACJ,KAAK,CAACA,KAAK,CAACG,WAAW,CAAC;IAClC;EACF,CAAC;EAEDR,IAAIA,CAAA,EAAG;IACLN,gBAAgB,CAAC,CAAC;IAClBN,KAAK,CAACG,IAAI,GAAG,KAAK;IAClBH,KAAK,CAACI,IAAI,GAAG,KAAK;EACpB;AACF,CAAC","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import { subscribeKey as subKey } from 'valtio/utils';
2
4
  import { proxy, subscribe as sub } from 'valtio';
3
5
  import { NumberUtil } from '@reown/appkit-common-react-native';
@@ -7,9 +9,8 @@ import { BlockchainApiController } from './BlockchainApiController';
7
9
  import { OptionsController } from './OptionsController';
8
10
  import { SwapCalculationUtil } from '../utils/SwapCalculationUtil';
9
11
  import { SnackController } from './SnackController';
12
+ import { LogController } from './LogController';
10
13
  import { RouterController } from './RouterController';
11
- import { ConnectorController } from './ConnectorController';
12
- import { AccountController } from './AccountController';
13
14
  import { CoreHelperUtil } from '../utils/CoreHelperUtil';
14
15
  import { TransactionsController } from './TransactionsController';
15
16
  import { EventsController } from './EventsController';
@@ -31,8 +32,7 @@ class TransactionError extends Error {
31
32
  // -- State --------------------------------------------- //
32
33
  const initialState = {
33
34
  // Loading states
34
- initializing: false,
35
- initialized: false,
35
+ loadingTokens: false,
36
36
  loadingPrices: false,
37
37
  loadingQuote: false,
38
38
  loadingApprovalTransaction: false,
@@ -52,7 +52,6 @@ const initialState = {
52
52
  toTokenAmount: '',
53
53
  toTokenPriceInUSD: 0,
54
54
  networkPrice: '0',
55
- networkBalanceInUSD: '0',
56
55
  networkTokenSymbol: '',
57
56
  inputError: undefined,
58
57
  // Request values
@@ -71,7 +70,9 @@ const initialState = {
71
70
  maxSlippage: undefined,
72
71
  providerFee: undefined
73
72
  };
74
- const state = proxy(initialState);
73
+ const state = proxy({
74
+ ...initialState
75
+ });
75
76
 
76
77
  // -- Controller ---------------------------------------- //
77
78
  export const SwapController = {
@@ -86,14 +87,14 @@ export const SwapController = {
86
87
  const {
87
88
  activeAddress,
88
89
  activeNamespace,
89
- activeNetwork
90
+ activeNetwork,
91
+ connection
90
92
  } = ConnectionsController.state;
91
93
  const address = CoreHelperUtil.getPlainAddress(activeAddress);
92
94
  if (!activeNamespace || !activeNetwork) {
93
95
  throw new Error('No active namespace or network found to swap the tokens from.');
94
96
  }
95
97
  const networkAddress = `${activeNetwork.caipNetworkId}:${ConstantsUtil.NATIVE_TOKEN_ADDRESS[activeNamespace]}`;
96
- const type = ConnectorController.state.connectedConnector;
97
98
  if (!address) {
98
99
  throw new Error('No address found to swap the tokens from.');
99
100
  }
@@ -102,6 +103,7 @@ export const SwapController = {
102
103
  const invalidSourceTokenAmount = !state.sourceTokenAmount;
103
104
  return {
104
105
  networkAddress,
106
+ network: activeNetwork,
105
107
  fromAddress: address,
106
108
  fromCaipAddress: activeAddress,
107
109
  sourceTokenAddress: state.sourceToken?.address,
@@ -114,11 +116,11 @@ export const SwapController = {
114
116
  invalidSourceToken,
115
117
  invalidSourceTokenAmount,
116
118
  availableToSwap: activeAddress && !invalidToToken && !invalidSourceToken && !invalidSourceTokenAmount,
117
- isAuthConnector: type === 'AUTH'
119
+ isAuthConnector: !!connection?.properties?.provider
118
120
  };
119
121
  },
120
122
  switchTokens() {
121
- if (state.initializing || !state.initialized) {
123
+ if (state.loadingTokens) {
122
124
  return;
123
125
  }
124
126
  let newSourceToken = state.toToken ? {
@@ -138,35 +140,33 @@ export const SwapController = {
138
140
  this.setToTokenAmount('');
139
141
  this.swapTokens();
140
142
  },
141
- resetState() {
142
- state.myTokensWithBalance = initialState.myTokensWithBalance;
143
- state.tokensPriceMap = initialState.tokensPriceMap;
144
- state.initialized = initialState.initialized;
145
- state.sourceToken = initialState.sourceToken;
146
- state.sourceTokenAmount = initialState.sourceTokenAmount;
147
- state.sourceTokenPriceInUSD = initialState.sourceTokenPriceInUSD;
148
- state.toToken = initialState.toToken;
149
- state.toTokenAmount = initialState.toTokenAmount;
150
- state.toTokenPriceInUSD = initialState.toTokenPriceInUSD;
151
- state.networkPrice = initialState.networkPrice;
152
- state.networkTokenSymbol = initialState.networkTokenSymbol;
153
- state.networkBalanceInUSD = initialState.networkBalanceInUSD;
154
- state.inputError = initialState.inputError;
155
- },
156
143
  async fetchTokens() {
157
- const {
158
- networkAddress
159
- } = this.getParams();
160
- await this.getTokenList();
161
- await this.getNetworkTokenPrice();
162
- await this.getMyTokensWithBalance();
163
- const networkToken = state.tokens?.find(token => token.address === networkAddress);
164
- if (networkToken) {
165
- state.networkTokenSymbol = networkToken.symbol;
144
+ try {
145
+ const {
146
+ networkAddress
147
+ } = this.getParams();
148
+ state.loadingTokens = true;
149
+ await this.getTokenList();
150
+ await this.getNetworkTokenPrice();
151
+ await this.getMyTokensWithBalance();
152
+ const networkToken = state.tokens?.find(token => token.address === networkAddress);
153
+ if (networkToken) {
154
+ state.networkTokenSymbol = networkToken.symbol;
155
+ }
156
+
157
+ // Set default source token if not set
158
+ if (!state.sourceToken && state.myTokensWithBalance?.length) {
159
+ const sourceToken = state.myTokensWithBalance?.find(token => token.address.startsWith(networkAddress)) || state.myTokensWithBalance?.[0];
160
+ this.setSourceToken(sourceToken);
161
+ this.setSourceTokenAmount('1');
162
+ }
163
+ } catch (error) {
164
+ LogController.sendError(error, 'SwapController.ts', 'initializeState');
165
+ SnackController.showError('Failed to initialize swap');
166
+ RouterController.goBack();
167
+ } finally {
168
+ state.loadingTokens = false;
166
169
  }
167
- const sourceToken = state.myTokensWithBalance?.find(token => token.address.startsWith(networkAddress)) || state.myTokensWithBalance?.[0];
168
- this.setSourceToken(sourceToken);
169
- this.setSourceTokenAmount('1');
170
170
  },
171
171
  async getTokenList() {
172
172
  const tokens = await SwapApiUtil.getTokenList();
@@ -188,15 +188,19 @@ export const SwapController = {
188
188
  }, {});
189
189
  },
190
190
  async getMyTokensWithBalance(forceUpdate) {
191
- const balances = await SwapApiUtil.getMyTokensWithBalance(forceUpdate);
192
- if (!balances) {
191
+ await ConnectionsController.fetchBalance(forceUpdate);
192
+ const swapBalances = SwapApiUtil.mapBalancesToSwapTokens(ConnectionsController.state.balances);
193
+ if (!swapBalances) {
193
194
  return;
194
195
  }
195
196
  await this.getInitialGasPrice();
196
- this.setBalances(balances);
197
+ this.setBalances(swapBalances);
197
198
  },
198
- getFilteredPopularTokens() {
199
- return state.popularTokens?.filter(token => !state.myTokensWithBalance?.some(t => t.address === token.address));
199
+ getFilteredPopularTokens(balances) {
200
+ if (!balances) {
201
+ return state.popularTokens;
202
+ }
203
+ return state.popularTokens?.filter(token => !balances.some(t => t.address === token.address));
200
204
  },
201
205
  setSourceToken(sourceToken) {
202
206
  if (!sourceToken) {
@@ -214,31 +218,17 @@ export const SwapController = {
214
218
  state.toTokenAmount = '';
215
219
  }
216
220
  },
217
- async initializeState() {
218
- if (state.initializing) {
219
- return;
220
- }
221
- state.initializing = true;
222
- if (!state.initialized) {
223
- try {
224
- await this.fetchTokens();
225
- state.initialized = true;
226
- } catch (error) {
227
- state.initialized = false;
228
- SnackController.showError('Failed to initialize swap');
229
- RouterController.goBack();
230
- }
231
- }
232
- state.initializing = false;
233
- },
234
221
  async getAddressPrice(address) {
222
+ const [namespace, chain] = address.split(':');
223
+ const networkId = `${namespace}:${chain}`;
235
224
  const existPrice = state.tokensPriceMap[address];
236
225
  if (existPrice) {
237
226
  return existPrice;
238
227
  }
239
228
  const response = await BlockchainApiController.fetchTokenPrice({
240
229
  projectId: OptionsController.state.projectId,
241
- addresses: [address]
230
+ addresses: [address],
231
+ caipNetworkId: networkId
242
232
  });
243
233
  const fungibles = response?.fungibles || [];
244
234
  const allTokens = [...(state.tokens || []), ...(state.myTokensWithBalance || [])];
@@ -252,9 +242,12 @@ export const SwapController = {
252
242
  const {
253
243
  networkAddress
254
244
  } = this.getParams();
245
+ const [namespace, chain] = networkAddress.split(':');
246
+ const networkId = `${namespace}:${chain}`;
255
247
  const response = await BlockchainApiController.fetchTokenPrice({
256
248
  projectId: OptionsController.state.projectId,
257
- addresses: [networkAddress]
249
+ addresses: [networkAddress],
250
+ caipNetworkId: networkId
258
251
  });
259
252
  const token = response?.fungibles?.[0];
260
253
  const price = token?.price.toString() || '0';
@@ -285,19 +278,10 @@ export const SwapController = {
285
278
  return SwapCalculationUtil.getProviderFeePrice(state.sourceTokenAmount, state.sourceTokenPriceInUSD);
286
279
  },
287
280
  setBalances(balances) {
288
- const {
289
- networkAddress
290
- } = this.getParams();
291
- const caipNetwork = ConnectionsController.state.activeNetwork;
292
- if (!caipNetwork) {
293
- return;
294
- }
295
- const networkToken = balances.find(token => token.address === networkAddress);
281
+ state.myTokensWithBalance = balances;
296
282
  balances.forEach(token => {
297
283
  state.tokensPriceMap[token.address] = token.price || 0;
298
284
  });
299
- state.myTokensWithBalance = balances.filter(token => token.address?.startsWith(caipNetwork.caipNetworkId));
300
- state.networkBalanceInUSD = networkToken ? NumberUtil.multiply(networkToken.quantity.numeric, networkToken.price).toString() : '0';
301
285
  },
302
286
  setToToken(toToken) {
303
287
  if (!toToken) {
@@ -350,9 +334,9 @@ export const SwapController = {
350
334
  gasPrice: state.gasFee,
351
335
  amount: amountDecimal.toString()
352
336
  });
353
- state.loadingQuote = false;
354
337
  const quoteToAmount = quoteResponse?.quotes?.[0]?.toAmount;
355
338
  if (!quoteToAmount) {
339
+ state.loadingQuote = false;
356
340
  return;
357
341
  }
358
342
  const toTokenAmount = NumberUtil.bigNumber(quoteToAmount).dividedBy(10 ** toToken.decimals).toString();
@@ -365,7 +349,9 @@ export const SwapController = {
365
349
  this.setTransactionDetails();
366
350
  }
367
351
  } catch (error) {
352
+ LogController.sendError(error, 'SwapController.ts', 'getQuote');
368
353
  SnackController.showError('Failed to get swap quote');
354
+ } finally {
369
355
  state.loadingQuote = false;
370
356
  }
371
357
  },
@@ -519,21 +505,10 @@ export const SwapController = {
519
505
  async sendTransactionForApproval(data) {
520
506
  const {
521
507
  fromAddress,
522
- isAuthConnector
508
+ network
523
509
  } = this.getParams();
524
510
  state.loadingApprovalTransaction = true;
525
- const approveLimitMessage = `Approve limit increase in your wallet`;
526
- if (isAuthConnector) {
527
- RouterController.pushTransactionStack({
528
- view: null,
529
- goBack: true,
530
- onSuccess() {
531
- SnackController.showLoading(approveLimitMessage);
532
- }
533
- });
534
- } else {
535
- SnackController.showLoading(approveLimitMessage);
536
- }
511
+ SnackController.showLoading('Approve limit increase in your wallet');
537
512
  try {
538
513
  await ConnectionsController.sendTransaction({
539
514
  address: fromAddress,
@@ -541,17 +516,18 @@ export const SwapController = {
541
516
  data: data.data,
542
517
  value: BigInt(data.value),
543
518
  gasPrice: BigInt(data.gasPrice),
544
- chainNamespace: ConnectionsController.state.activeNamespace
519
+ chainNamespace: ConnectionsController.state.activeNamespace,
520
+ network
545
521
  });
546
522
  await this.swapTokens();
547
523
  await this.getTransaction();
548
524
  state.approvalTransaction = undefined;
549
- state.loadingApprovalTransaction = false;
550
525
  } catch (err) {
551
526
  const error = err;
552
527
  state.transactionError = error?.shortMessage;
553
- state.loadingApprovalTransaction = false;
554
528
  SnackController.showError(error?.shortMessage ?? 'Transaction error');
529
+ } finally {
530
+ state.loadingApprovalTransaction = false;
555
531
  }
556
532
  },
557
533
  async sendTransactionForSwap(data) {
@@ -560,26 +536,14 @@ export const SwapController = {
560
536
  }
561
537
  const {
562
538
  fromAddress,
563
- toTokenAmount,
564
- isAuthConnector
539
+ isAuthConnector,
540
+ network
565
541
  } = this.getParams();
566
542
  state.loadingTransaction = true;
567
- const snackbarPendingMessage = `Swapping ${state.sourceToken?.symbol} to ${NumberUtil.formatNumberToLocalString(toTokenAmount, 3)} ${state.toToken?.symbol}`;
568
- const snackbarSuccessMessage = `Swapped ${state.sourceToken?.symbol} to ${NumberUtil.formatNumberToLocalString(toTokenAmount, 3)} ${state.toToken?.symbol}`;
569
- if (isAuthConnector) {
570
- RouterController.pushTransactionStack({
571
- view: 'Account',
572
- goBack: false,
573
- onSuccess() {
574
- SnackController.showLoading(snackbarPendingMessage);
575
- SwapController.resetState();
576
- }
577
- });
578
- } else {
579
- SnackController.showLoading('Confirm transaction in your wallet');
580
- }
543
+ const snackbarSuccessMessage = `Swapped ${state.sourceToken?.symbol} to ${state.toToken?.symbol}`;
544
+ SnackController.showLoading('Confirm transaction in your wallet');
581
545
  try {
582
- const forceUpdateAddresses = [state.sourceToken?.address, state.toToken?.address].join(',');
546
+ const forceUpdateAddresses = [state.sourceToken?.address, state.toToken?.address].filter(Boolean);
583
547
  const transactionHash = await ConnectionsController.sendTransaction({
584
548
  address: fromAddress,
585
549
  to: data.to,
@@ -587,34 +551,39 @@ export const SwapController = {
587
551
  gas: data.gas,
588
552
  gasPrice: BigInt(data.gasPrice),
589
553
  value: data.value,
590
- chainNamespace: ConnectionsController.state.activeNamespace
554
+ chainNamespace: ConnectionsController.state.activeNamespace,
555
+ network
591
556
  });
592
557
  state.loadingTransaction = false;
593
- SnackController.showSuccess(snackbarSuccessMessage);
558
+ SnackController.showSuccess(snackbarSuccessMessage, true);
594
559
  EventsController.sendEvent({
595
560
  type: 'track',
596
561
  event: 'SWAP_SUCCESS',
597
562
  properties: {
598
- network: ConnectionsController.state.activeNetwork?.caipNetworkId || '',
563
+ network: ConnectionsController.state.activeNetwork?.caipNetworkId,
599
564
  swapFromToken: this.state.sourceToken?.symbol || '',
600
565
  swapToToken: this.state.toToken?.symbol || '',
601
566
  swapFromAmount: this.state.sourceTokenAmount || '',
602
567
  swapToAmount: this.state.toTokenAmount || '',
603
- isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount'
568
+ isSmartAccount: ConnectionsController.state.accountType === 'smartAccount'
604
569
  }
605
570
  });
606
- SwapController.resetState();
607
- if (!isAuthConnector) {
608
- RouterController.replace('AccountDefault');
609
- }
571
+ RouterController.replace(isAuthConnector ? 'Account' : 'AccountDefault');
572
+ SwapController.clearTokens();
610
573
  SwapController.getMyTokensWithBalance(forceUpdateAddresses);
611
- AccountController.fetchTokenBalance();
612
574
  setTimeout(() => {
613
- TransactionsController.fetchTransactions(AccountController.state.address, true);
575
+ if (ConnectionsController.state.activeAddress) {
576
+ TransactionsController.fetchTransactions(ConnectionsController.state.activeAddress, true);
577
+ }
614
578
  }, 5000);
615
579
  return transactionHash;
616
580
  } catch (err) {
617
581
  const error = err;
582
+ LogController.sendError(error, 'SwapController.ts', 'sendTransactionForSwap', {
583
+ sourceToken: this.state.sourceToken?.symbol,
584
+ toToken: this.state.toToken?.symbol,
585
+ amount: this.state.sourceTokenAmount
586
+ });
618
587
  state.transactionError = error?.shortMessage;
619
588
  state.loadingTransaction = false;
620
589
  SnackController.showError(error?.shortMessage ?? 'Transaction error');
@@ -623,26 +592,59 @@ export const SwapController = {
623
592
  event: 'SWAP_ERROR',
624
593
  properties: {
625
594
  message: error?.shortMessage ?? error?.message ?? 'Unknown',
626
- network: ConnectionsController.state.activeNetwork?.caipNetworkId || '',
595
+ network: ConnectionsController.state.activeNetwork?.caipNetworkId,
627
596
  swapFromToken: this.state.sourceToken?.symbol || '',
628
597
  swapToToken: this.state.toToken?.symbol || '',
629
598
  swapFromAmount: this.state.sourceTokenAmount || '',
630
599
  swapToAmount: this.state.toTokenAmount || '',
631
- isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount'
600
+ isSmartAccount: ConnectionsController.state.accountType === 'smartAccount'
632
601
  }
633
602
  });
634
603
  return undefined;
635
604
  }
636
605
  },
606
+ clearTransactionLoaders() {
607
+ state.loadingApprovalTransaction = false;
608
+ state.loadingBuildTransaction = false;
609
+ state.loadingTransaction = false;
610
+ },
611
+ clearTokens() {
612
+ state.sourceToken = initialState.sourceToken;
613
+ state.sourceTokenAmount = initialState.sourceTokenAmount;
614
+ state.sourceTokenPriceInUSD = initialState.sourceTokenPriceInUSD;
615
+ state.toToken = initialState.toToken;
616
+ state.toTokenAmount = initialState.toTokenAmount;
617
+ state.toTokenPriceInUSD = initialState.toTokenPriceInUSD;
618
+ state.inputError = initialState.inputError;
619
+ state.loadingApprovalTransaction = initialState.loadingApprovalTransaction;
620
+ state.loadingBuildTransaction = initialState.loadingBuildTransaction;
621
+ state.loadingTransaction = initialState.loadingTransaction;
622
+ state.fetchError = initialState.fetchError;
623
+ state.transactionError = initialState.transactionError;
624
+ state.swapTransaction = initialState.swapTransaction;
625
+ state.approvalTransaction = initialState.approvalTransaction;
626
+ },
627
+ resetState() {
628
+ this.clearTokens();
629
+ state.myTokensWithBalance = initialState.myTokensWithBalance;
630
+ state.tokensPriceMap = initialState.tokensPriceMap;
631
+ state.networkPrice = initialState.networkPrice;
632
+ state.networkTokenSymbol = initialState.networkTokenSymbol;
633
+ },
637
634
  // -- Checks -------------------------------------------- //
638
635
  hasInsufficientToken(sourceTokenAmount, sourceTokenAddress) {
636
+ const {
637
+ balances
638
+ } = ConnectionsController.state;
639
+ const networkToken = balances?.find(t => t.address === undefined);
640
+ const networkBalanceInUSD = networkToken ? NumberUtil.multiply(networkToken.quantity?.numeric ?? '0', networkToken.price).toString() : '0';
639
641
  const isInsufficientSourceTokenForSwap = SwapCalculationUtil.isInsufficientSourceTokenForSwap(sourceTokenAmount, sourceTokenAddress, state.myTokensWithBalance);
640
642
  let insufficientNetworkTokenForGas = true;
641
- if (AccountController.state.preferredAccountType === 'smartAccount') {
643
+ if (ConnectionsController.state.accountType === 'smartAccount') {
642
644
  // Smart Accounts may pay gas in any ERC20 token
643
645
  insufficientNetworkTokenForGas = false;
644
646
  } else {
645
- insufficientNetworkTokenForGas = SwapCalculationUtil.isInsufficientNetworkTokenForGas(state.networkBalanceInUSD, state.gasPriceInUSD);
647
+ insufficientNetworkTokenForGas = SwapCalculationUtil.isInsufficientNetworkTokenForGas(networkBalanceInUSD, state.gasPriceInUSD);
646
648
  }
647
649
  return insufficientNetworkTokenForGas || isInsufficientSourceTokenForSwap;
648
650
  },