@reown/appkit-core-react-native 0.0.0-feat-onramp-20250722205908 → 0.0.0-feat-coinbase-20250723173858

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 (195) hide show
  1. package/lib/commonjs/controllers/AccountController.js +20 -17
  2. package/lib/commonjs/controllers/AccountController.js.map +1 -1
  3. package/lib/commonjs/controllers/ApiController.js +28 -16
  4. package/lib/commonjs/controllers/ApiController.js.map +1 -1
  5. package/lib/commonjs/controllers/BlockchainApiController.js +204 -74
  6. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  7. package/lib/commonjs/controllers/ConnectionController.js +8 -11
  8. package/lib/commonjs/controllers/ConnectionController.js.map +1 -1
  9. package/lib/commonjs/controllers/ConnectionsController.js +387 -0
  10. package/lib/commonjs/controllers/ConnectionsController.js.map +1 -0
  11. package/lib/commonjs/controllers/EnsController.js +4 -4
  12. package/lib/commonjs/controllers/EnsController.js.map +1 -1
  13. package/lib/commonjs/controllers/EventsController.js +4 -4
  14. package/lib/commonjs/controllers/EventsController.js.map +1 -1
  15. package/lib/commonjs/controllers/ModalController.js +6 -7
  16. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  17. package/lib/commonjs/controllers/OnRampController.js +22 -69
  18. package/lib/commonjs/controllers/OnRampController.js.map +1 -1
  19. package/lib/commonjs/controllers/OptionsController.js +11 -3
  20. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  21. package/lib/commonjs/controllers/RouterController.js +1 -22
  22. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  23. package/lib/commonjs/controllers/SendController.js +101 -101
  24. package/lib/commonjs/controllers/SendController.js.map +1 -1
  25. package/lib/commonjs/controllers/SnackController.js +29 -5
  26. package/lib/commonjs/controllers/SnackController.js.map +1 -1
  27. package/lib/commonjs/controllers/SwapController.js +151 -150
  28. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  29. package/lib/commonjs/controllers/ThemeController.js +9 -1
  30. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  31. package/lib/commonjs/controllers/TransactionsController.js +25 -21
  32. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  33. package/lib/commonjs/index.js +3 -24
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/utils/AssetUtil.js +3 -15
  36. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  37. package/lib/commonjs/utils/ConstantsUtil.js +538 -9
  38. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  39. package/lib/commonjs/utils/CoreHelperUtil.js +12 -6
  40. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  41. package/lib/commonjs/utils/FetchUtil.js +9 -28
  42. package/lib/commonjs/utils/FetchUtil.js.map +1 -1
  43. package/lib/commonjs/utils/StorageUtil.js +51 -42
  44. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  45. package/lib/commonjs/utils/SwapApiUtil.js +15 -21
  46. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  47. package/lib/module/controllers/AccountController.js +20 -17
  48. package/lib/module/controllers/AccountController.js.map +1 -1
  49. package/lib/module/controllers/ApiController.js +27 -16
  50. package/lib/module/controllers/ApiController.js.map +1 -1
  51. package/lib/module/controllers/BlockchainApiController.js +203 -73
  52. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  53. package/lib/module/controllers/ConnectionController.js +8 -11
  54. package/lib/module/controllers/ConnectionController.js.map +1 -1
  55. package/lib/module/controllers/ConnectionsController.js +382 -0
  56. package/lib/module/controllers/ConnectionsController.js.map +1 -0
  57. package/lib/module/controllers/EnsController.js +2 -2
  58. package/lib/module/controllers/EnsController.js.map +1 -1
  59. package/lib/module/controllers/EventsController.js +1 -1
  60. package/lib/module/controllers/EventsController.js.map +1 -1
  61. package/lib/module/controllers/ModalController.js +6 -7
  62. package/lib/module/controllers/ModalController.js.map +1 -1
  63. package/lib/module/controllers/OnRampController.js +23 -70
  64. package/lib/module/controllers/OnRampController.js.map +1 -1
  65. package/lib/module/controllers/OptionsController.js +11 -3
  66. package/lib/module/controllers/OptionsController.js.map +1 -1
  67. package/lib/module/controllers/RouterController.js +1 -22
  68. package/lib/module/controllers/RouterController.js.map +1 -1
  69. package/lib/module/controllers/SendController.js +98 -98
  70. package/lib/module/controllers/SendController.js.map +1 -1
  71. package/lib/module/controllers/SnackController.js +29 -5
  72. package/lib/module/controllers/SnackController.js.map +1 -1
  73. package/lib/module/controllers/SwapController.js +151 -150
  74. package/lib/module/controllers/SwapController.js.map +1 -1
  75. package/lib/module/controllers/ThemeController.js +9 -1
  76. package/lib/module/controllers/ThemeController.js.map +1 -1
  77. package/lib/module/controllers/TransactionsController.js +23 -19
  78. package/lib/module/controllers/TransactionsController.js.map +1 -1
  79. package/lib/module/index.js +1 -4
  80. package/lib/module/index.js.map +1 -1
  81. package/lib/module/utils/AssetUtil.js +3 -15
  82. package/lib/module/utils/AssetUtil.js.map +1 -1
  83. package/lib/module/utils/ConstantsUtil.js +538 -9
  84. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  85. package/lib/module/utils/CoreHelperUtil.js +12 -6
  86. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  87. package/lib/module/utils/FetchUtil.js +9 -28
  88. package/lib/module/utils/FetchUtil.js.map +1 -1
  89. package/lib/module/utils/StorageUtil.js +51 -42
  90. package/lib/module/utils/StorageUtil.js.map +1 -1
  91. package/lib/module/utils/SwapApiUtil.js +15 -21
  92. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  93. package/lib/typescript/controllers/AccountController.d.ts +4 -4
  94. package/lib/typescript/controllers/AccountController.d.ts.map +1 -1
  95. package/lib/typescript/controllers/ApiController.d.ts +3 -2
  96. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  97. package/lib/typescript/controllers/BlockchainApiController.d.ts +29 -15
  98. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  99. package/lib/typescript/controllers/ConnectionController.d.ts +3 -11
  100. package/lib/typescript/controllers/ConnectionController.d.ts.map +1 -1
  101. package/lib/typescript/controllers/ConnectionsController.d.ts +53 -0
  102. package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -0
  103. package/lib/typescript/controllers/ModalController.d.ts +1 -1
  104. package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
  105. package/lib/typescript/controllers/NetworkController.d.ts +1 -1
  106. package/lib/typescript/controllers/NetworkController.d.ts.map +1 -1
  107. package/lib/typescript/controllers/OnRampController.d.ts +1 -3
  108. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
  109. package/lib/typescript/controllers/OptionsController.d.ts +7 -2
  110. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
  111. package/lib/typescript/controllers/PublicStateController.d.ts +1 -1
  112. package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -1
  113. package/lib/typescript/controllers/RouterController.d.ts +4 -16
  114. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  115. package/lib/typescript/controllers/SendController.d.ts +5 -7
  116. package/lib/typescript/controllers/SendController.d.ts.map +1 -1
  117. package/lib/typescript/controllers/SnackController.d.ts +3 -3
  118. package/lib/typescript/controllers/SnackController.d.ts.map +1 -1
  119. package/lib/typescript/controllers/SwapController.d.ts +12 -11
  120. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  121. package/lib/typescript/controllers/ThemeController.d.ts +1 -1
  122. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
  123. package/lib/typescript/controllers/TransactionsController.d.ts +3 -3
  124. package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -1
  125. package/lib/typescript/index.d.ts +1 -4
  126. package/lib/typescript/index.d.ts.map +1 -1
  127. package/lib/typescript/utils/AssetUtil.d.ts +2 -3
  128. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
  129. package/lib/typescript/utils/ConstantsUtil.d.ts +422 -3
  130. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  131. package/lib/typescript/utils/CoreHelperUtil.d.ts +5 -4
  132. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  133. package/lib/typescript/utils/FetchUtil.d.ts +1 -1
  134. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  135. package/lib/typescript/utils/StorageUtil.d.ts +14 -7
  136. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  137. package/lib/typescript/utils/SwapApiUtil.d.ts +3 -3
  138. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  139. package/lib/typescript/utils/TypeUtil.d.ts +42 -191
  140. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  141. package/package.json +4 -4
  142. package/src/controllers/AccountController.ts +23 -27
  143. package/src/controllers/ApiController.ts +29 -10
  144. package/src/controllers/BlockchainApiController.ts +179 -65
  145. package/src/controllers/ConnectionController.ts +12 -24
  146. package/src/controllers/ConnectionsController.ts +509 -0
  147. package/src/controllers/EnsController.ts +2 -2
  148. package/src/controllers/EventsController.ts +1 -1
  149. package/src/controllers/ModalController.ts +8 -8
  150. package/src/controllers/NetworkController.ts +1 -1
  151. package/src/controllers/OnRampController.ts +35 -99
  152. package/src/controllers/OptionsController.ts +19 -13
  153. package/src/controllers/PublicStateController.ts +1 -1
  154. package/src/controllers/RouterController.ts +5 -54
  155. package/src/controllers/SendController.ts +124 -113
  156. package/src/controllers/SnackController.ts +31 -5
  157. package/src/controllers/SwapController.ts +174 -181
  158. package/src/controllers/ThemeController.ts +11 -2
  159. package/src/controllers/TransactionsController.ts +26 -20
  160. package/src/index.ts +3 -6
  161. package/src/utils/AssetUtil.ts +4 -20
  162. package/src/utils/ConstantsUtil.ts +544 -9
  163. package/src/utils/CoreHelperUtil.ts +34 -9
  164. package/src/utils/FetchUtil.ts +10 -31
  165. package/src/utils/StorageUtil.ts +60 -48
  166. package/src/utils/SwapApiUtil.ts +27 -38
  167. package/src/utils/TypeUtil.ts +43 -193
  168. package/lib/commonjs/controllers/ConnectorController.js +0 -49
  169. package/lib/commonjs/controllers/ConnectorController.js.map +0 -1
  170. package/lib/commonjs/controllers/WebviewController.js +0 -52
  171. package/lib/commonjs/controllers/WebviewController.js.map +0 -1
  172. package/lib/commonjs/utils/ConnectionUtil.js +0 -33
  173. package/lib/commonjs/utils/ConnectionUtil.js.map +0 -1
  174. package/lib/commonjs/utils/NetworkUtil.js +0 -46
  175. package/lib/commonjs/utils/NetworkUtil.js.map +0 -1
  176. package/lib/module/controllers/ConnectorController.js +0 -44
  177. package/lib/module/controllers/ConnectorController.js.map +0 -1
  178. package/lib/module/controllers/WebviewController.js +0 -47
  179. package/lib/module/controllers/WebviewController.js.map +0 -1
  180. package/lib/module/utils/ConnectionUtil.js +0 -27
  181. package/lib/module/utils/ConnectionUtil.js.map +0 -1
  182. package/lib/module/utils/NetworkUtil.js +0 -40
  183. package/lib/module/utils/NetworkUtil.js.map +0 -1
  184. package/lib/typescript/controllers/ConnectorController.d.ts +0 -18
  185. package/lib/typescript/controllers/ConnectorController.d.ts.map +0 -1
  186. package/lib/typescript/controllers/WebviewController.d.ts +0 -21
  187. package/lib/typescript/controllers/WebviewController.d.ts.map +0 -1
  188. package/lib/typescript/utils/ConnectionUtil.d.ts +0 -4
  189. package/lib/typescript/utils/ConnectionUtil.d.ts.map +0 -1
  190. package/lib/typescript/utils/NetworkUtil.d.ts +0 -8
  191. package/lib/typescript/utils/NetworkUtil.d.ts.map +0 -1
  192. package/src/controllers/ConnectorController.ts +0 -63
  193. package/src/controllers/WebviewController.ts +0 -63
  194. package/src/utils/ConnectionUtil.ts +0 -27
  195. package/src/utils/NetworkUtil.ts +0 -33
@@ -1 +1 @@
1
- {"version":3,"names":["subscribeKey","subKey","proxy","ref","subscribe","sub","ContractUtil","AccountController","ConnectionController","SnackController","CoreHelperUtil","EventsController","NetworkController","RouterController","state","loading","SendController","callback","key","setToken","token","setTokenAmount","sendTokenAmount","setReceiverAddress","receiverAddress","setReceiverProfileImageUrl","receiverProfileImageUrl","setReceiverProfileName","receiverProfileName","setGasPrice","gasPrice","setGasPriceInUsd","gasPriceInUSD","setLoading","sendToken","address","sendEvent","type","event","properties","isSmartAccount","preferredAccountType","amount","network","caipNetwork","id","sendERC20Token","tokenAddress","decimals","quantity","symbol","sendNativeToken","params","pushTransactionStack","view","goBack","to","value","parseUnits","toString","Number","data","sendTransaction","showSuccess","resetSend","error","showError","getPlainAddress","writeContract","fromAddress","tokenAmount","method","abi","getERC20Abi","undefined"],"sourceRoot":"../../../src","sources":["controllers/SendController.ts"],"mappings":"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"}
1
+ {"version":3,"names":["subscribeKey","subKey","proxy","ref","subscribe","sub","ContractUtil","SnackController","CoreHelperUtil","EventsController","RouterController","ConnectionsController","SwapController","state","loading","SendController","callback","key","setToken","token","setTokenAmount","sendTokenAmount","setReceiverAddress","receiverAddress","setReceiverProfileImageUrl","receiverProfileImageUrl","setReceiverProfileName","receiverProfileName","setLoading","sendToken","isAuth","connection","properties","provider","eventProperties","isSmartAccount","accountType","address","symbol","amount","network","activeNetwork","caipNetworkId","sendEvent","type","event","activeNamespace","sendEvmToken","sendSolanaToken","Error","showSuccess","reset","resetState","error","showError","sendERC20Token","tokenAddress","decimals","quantity","sendNativeToken","params","to","getPlainAddress","activeAddress","value","parseUnits","toString","Number","data","sendTransaction","fromAddress","writeContract","tokenAmount","method","abi","getERC20Abi","plainAddress","toAddress","fetchNetworkPrice","getNetworkTokenPrice","undefined"],"sourceRoot":"../../../src","sources":["controllers/SendController.ts"],"mappings":"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"}
@@ -11,23 +11,47 @@ const state = proxy({
11
11
  long: false
12
12
  });
13
13
 
14
+ // -- Private Variables --------------------------------- //
15
+ let hideTimeout = null;
16
+
17
+ // -- Private Functions --------------------------------- //
18
+ const clearHideTimeout = () => {
19
+ if (hideTimeout) {
20
+ clearTimeout(hideTimeout);
21
+ hideTimeout = null;
22
+ }
23
+ };
24
+ const scheduleAutoHide = long => {
25
+ clearHideTimeout();
26
+ const duration = long ? 15000 : 2200;
27
+ hideTimeout = setTimeout(() => {
28
+ SnackController.hide();
29
+ }, duration);
30
+ };
31
+
14
32
  // -- Controller ---------------------------------------- //
15
33
  export const SnackController = {
16
34
  state,
17
- showSuccess(message) {
35
+ showSuccess(message, long = false) {
18
36
  state.message = message;
19
37
  state.variant = 'success';
20
38
  state.open = true;
39
+ state.long = long;
40
+ scheduleAutoHide(long);
21
41
  },
22
- showError(message) {
42
+ showError(message, long = false) {
23
43
  state.message = message;
24
44
  state.variant = 'error';
25
45
  state.open = true;
46
+ state.long = long;
47
+ scheduleAutoHide(long);
26
48
  },
27
- showLoading(message) {
49
+ showLoading(message, long = false) {
28
50
  state.message = message;
29
51
  state.variant = 'loading';
30
52
  state.open = true;
53
+ state.long = long;
54
+ scheduleAutoHide(long);
31
55
  },
32
56
  showInternalError(error) {
33
57
  const {
@@ -38,6 +62,7 @@ export const SnackController = {
38
62
  state.variant = 'error';
39
63
  state.open = true;
40
64
  state.long = true;
65
+ scheduleAutoHide(true);
41
66
  }
42
67
  if (error.longMessage) {
43
68
  // eslint-disable-next-line no-console
@@ -45,10 +70,9 @@ export const SnackController = {
45
70
  }
46
71
  },
47
72
  hide() {
73
+ clearHideTimeout();
48
74
  state.open = false;
49
75
  state.long = false;
50
- state.message = '';
51
- state.variant = 'success';
52
76
  }
53
77
  };
54
78
  //# 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"}
@@ -3,18 +3,15 @@ import { proxy, subscribe as sub } from 'valtio';
3
3
  import { NumberUtil } from '@reown/appkit-common-react-native';
4
4
  import { ConstantsUtil } from '../utils/ConstantsUtil';
5
5
  import { SwapApiUtil } from '../utils/SwapApiUtil';
6
- import { NetworkController } from './NetworkController';
7
6
  import { BlockchainApiController } from './BlockchainApiController';
8
7
  import { OptionsController } from './OptionsController';
9
8
  import { SwapCalculationUtil } from '../utils/SwapCalculationUtil';
10
9
  import { SnackController } from './SnackController';
11
10
  import { RouterController } from './RouterController';
12
- import { ConnectorController } from './ConnectorController';
13
- import { AccountController } from './AccountController';
14
11
  import { CoreHelperUtil } from '../utils/CoreHelperUtil';
15
- import { ConnectionController } from './ConnectionController';
16
12
  import { TransactionsController } from './TransactionsController';
17
13
  import { EventsController } from './EventsController';
14
+ import { ConnectionsController } from './ConnectionsController';
18
15
 
19
16
  // -- Constants ---------------------------------------- //
20
17
  export const INITIAL_GAS_LIMIT = 150000;
@@ -32,8 +29,7 @@ class TransactionError extends Error {
32
29
  // -- State --------------------------------------------- //
33
30
  const initialState = {
34
31
  // Loading states
35
- initializing: false,
36
- initialized: false,
32
+ loadingTokens: false,
37
33
  loadingPrices: false,
38
34
  loadingQuote: false,
39
35
  loadingApprovalTransaction: false,
@@ -53,7 +49,6 @@ const initialState = {
53
49
  toTokenAmount: '',
54
50
  toTokenPriceInUSD: 0,
55
51
  networkPrice: '0',
56
- networkBalanceInUSD: '0',
57
52
  networkTokenSymbol: '',
58
53
  inputError: undefined,
59
54
  // Request values
@@ -84,10 +79,17 @@ export const SwapController = {
84
79
  return subKey(state, key, callback);
85
80
  },
86
81
  getParams() {
87
- const caipAddress = AccountController.state.caipAddress;
88
- const address = CoreHelperUtil.getPlainAddress(caipAddress);
89
- const networkAddress = NetworkController.getActiveNetworkTokenAddress();
90
- const type = ConnectorController.state.connectedConnector;
82
+ const {
83
+ activeAddress,
84
+ activeNamespace,
85
+ activeNetwork,
86
+ connection
87
+ } = ConnectionsController.state;
88
+ const address = CoreHelperUtil.getPlainAddress(activeAddress);
89
+ if (!activeNamespace || !activeNetwork) {
90
+ throw new Error('No active namespace or network found to swap the tokens from.');
91
+ }
92
+ const networkAddress = `${activeNetwork.caipNetworkId}:${ConstantsUtil.NATIVE_TOKEN_ADDRESS[activeNamespace]}`;
91
93
  if (!address) {
92
94
  throw new Error('No address found to swap the tokens from.');
93
95
  }
@@ -96,8 +98,9 @@ export const SwapController = {
96
98
  const invalidSourceTokenAmount = !state.sourceTokenAmount;
97
99
  return {
98
100
  networkAddress,
101
+ network: activeNetwork,
99
102
  fromAddress: address,
100
- fromCaipAddress: caipAddress,
103
+ fromCaipAddress: activeAddress,
101
104
  sourceTokenAddress: state.sourceToken?.address,
102
105
  toTokenAddress: state.toToken?.address,
103
106
  toTokenAmount: state.toTokenAmount,
@@ -107,12 +110,12 @@ export const SwapController = {
107
110
  invalidToToken,
108
111
  invalidSourceToken,
109
112
  invalidSourceTokenAmount,
110
- availableToSwap: caipAddress && !invalidToToken && !invalidSourceToken && !invalidSourceTokenAmount,
111
- isAuthConnector: type === 'AUTH'
113
+ availableToSwap: activeAddress && !invalidToToken && !invalidSourceToken && !invalidSourceTokenAmount,
114
+ isAuthConnector: !!connection?.properties?.provider
112
115
  };
113
116
  },
114
117
  switchTokens() {
115
- if (state.initializing || !state.initialized) {
118
+ if (state.loadingTokens) {
116
119
  return;
117
120
  }
118
121
  let newSourceToken = state.toToken ? {
@@ -132,35 +135,32 @@ export const SwapController = {
132
135
  this.setToTokenAmount('');
133
136
  this.swapTokens();
134
137
  },
135
- resetState() {
136
- state.myTokensWithBalance = initialState.myTokensWithBalance;
137
- state.tokensPriceMap = initialState.tokensPriceMap;
138
- state.initialized = initialState.initialized;
139
- state.sourceToken = initialState.sourceToken;
140
- state.sourceTokenAmount = initialState.sourceTokenAmount;
141
- state.sourceTokenPriceInUSD = initialState.sourceTokenPriceInUSD;
142
- state.toToken = initialState.toToken;
143
- state.toTokenAmount = initialState.toTokenAmount;
144
- state.toTokenPriceInUSD = initialState.toTokenPriceInUSD;
145
- state.networkPrice = initialState.networkPrice;
146
- state.networkTokenSymbol = initialState.networkTokenSymbol;
147
- state.networkBalanceInUSD = initialState.networkBalanceInUSD;
148
- state.inputError = initialState.inputError;
149
- },
150
138
  async fetchTokens() {
151
- const {
152
- networkAddress
153
- } = this.getParams();
154
- await this.getTokenList();
155
- await this.getNetworkTokenPrice();
156
- await this.getMyTokensWithBalance();
157
- const networkToken = state.tokens?.find(token => token.address === networkAddress);
158
- if (networkToken) {
159
- state.networkTokenSymbol = networkToken.symbol;
139
+ try {
140
+ const {
141
+ networkAddress
142
+ } = this.getParams();
143
+ state.loadingTokens = true;
144
+ await this.getTokenList();
145
+ await this.getNetworkTokenPrice();
146
+ await this.getMyTokensWithBalance();
147
+ const networkToken = state.tokens?.find(token => token.address === networkAddress);
148
+ if (networkToken) {
149
+ state.networkTokenSymbol = networkToken.symbol;
150
+ }
151
+
152
+ // Set default source token if not set
153
+ if (!state.sourceToken && state.myTokensWithBalance?.length) {
154
+ const sourceToken = state.myTokensWithBalance?.find(token => token.address.startsWith(networkAddress)) || state.myTokensWithBalance?.[0];
155
+ this.setSourceToken(sourceToken);
156
+ this.setSourceTokenAmount('1');
157
+ }
158
+ } catch (error) {
159
+ SnackController.showError('Failed to initialize swap');
160
+ RouterController.goBack();
161
+ } finally {
162
+ state.loadingTokens = false;
160
163
  }
161
- const sourceToken = state.myTokensWithBalance?.find(token => token.address.startsWith(networkAddress)) || state.myTokensWithBalance?.[0];
162
- this.setSourceToken(sourceToken);
163
- this.setSourceTokenAmount('1');
164
164
  },
165
165
  async getTokenList() {
166
166
  const tokens = await SwapApiUtil.getTokenList();
@@ -182,15 +182,19 @@ export const SwapController = {
182
182
  }, {});
183
183
  },
184
184
  async getMyTokensWithBalance(forceUpdate) {
185
- const balances = await SwapApiUtil.getMyTokensWithBalance(forceUpdate);
186
- if (!balances) {
185
+ await ConnectionsController.fetchBalance(forceUpdate);
186
+ const swapBalances = SwapApiUtil.mapBalancesToSwapTokens(ConnectionsController.state.balances);
187
+ if (!swapBalances) {
187
188
  return;
188
189
  }
189
190
  await this.getInitialGasPrice();
190
- this.setBalances(balances);
191
+ this.setBalances(swapBalances);
191
192
  },
192
- getFilteredPopularTokens() {
193
- return state.popularTokens?.filter(token => !state.myTokensWithBalance?.some(t => t.address === token.address));
193
+ getFilteredPopularTokens(balances) {
194
+ if (!balances) {
195
+ return state.popularTokens;
196
+ }
197
+ return state.popularTokens?.filter(token => !balances.some(t => t.address === token.address));
194
198
  },
195
199
  setSourceToken(sourceToken) {
196
200
  if (!sourceToken) {
@@ -208,31 +212,17 @@ export const SwapController = {
208
212
  state.toTokenAmount = '';
209
213
  }
210
214
  },
211
- async initializeState() {
212
- if (state.initializing) {
213
- return;
214
- }
215
- state.initializing = true;
216
- if (!state.initialized) {
217
- try {
218
- await this.fetchTokens();
219
- state.initialized = true;
220
- } catch (error) {
221
- state.initialized = false;
222
- SnackController.showError('Failed to initialize swap');
223
- RouterController.goBack();
224
- }
225
- }
226
- state.initializing = false;
227
- },
228
215
  async getAddressPrice(address) {
216
+ const [namespace, chain] = address.split(':');
217
+ const networkId = `${namespace}:${chain}`;
229
218
  const existPrice = state.tokensPriceMap[address];
230
219
  if (existPrice) {
231
220
  return existPrice;
232
221
  }
233
222
  const response = await BlockchainApiController.fetchTokenPrice({
234
223
  projectId: OptionsController.state.projectId,
235
- addresses: [address]
224
+ addresses: [address],
225
+ caipNetworkId: networkId
236
226
  });
237
227
  const fungibles = response?.fungibles || [];
238
228
  const allTokens = [...(state.tokens || []), ...(state.myTokensWithBalance || [])];
@@ -246,9 +236,12 @@ export const SwapController = {
246
236
  const {
247
237
  networkAddress
248
238
  } = this.getParams();
239
+ const [namespace, chain] = networkAddress.split(':');
240
+ const networkId = `${namespace}:${chain}`;
249
241
  const response = await BlockchainApiController.fetchTokenPrice({
250
242
  projectId: OptionsController.state.projectId,
251
- addresses: [networkAddress]
243
+ addresses: [networkAddress],
244
+ caipNetworkId: networkId
252
245
  });
253
246
  const token = response?.fungibles?.[0];
254
247
  const price = token?.price.toString() || '0';
@@ -279,19 +272,10 @@ export const SwapController = {
279
272
  return SwapCalculationUtil.getProviderFeePrice(state.sourceTokenAmount, state.sourceTokenPriceInUSD);
280
273
  },
281
274
  setBalances(balances) {
282
- const {
283
- networkAddress
284
- } = this.getParams();
285
- const caipNetwork = NetworkController.state.caipNetwork;
286
- if (!caipNetwork) {
287
- return;
288
- }
289
- const networkToken = balances.find(token => token.address === networkAddress);
275
+ state.myTokensWithBalance = balances;
290
276
  balances.forEach(token => {
291
277
  state.tokensPriceMap[token.address] = token.price || 0;
292
278
  });
293
- state.myTokensWithBalance = balances.filter(token => token.address?.startsWith(caipNetwork.id));
294
- state.networkBalanceInUSD = networkToken ? NumberUtil.multiply(networkToken.quantity.numeric, networkToken.price).toString() : '0';
295
279
  },
296
280
  setToToken(toToken) {
297
281
  if (!toToken) {
@@ -326,36 +310,42 @@ export const SwapController = {
326
310
  },
327
311
  // -- Swap ---------------------------------------------- //
328
312
  async swapTokens() {
329
- const address = AccountController.state.address;
313
+ const address = ConnectionsController.state.activeAddress;
330
314
  const sourceToken = state.sourceToken;
331
315
  const toToken = state.toToken;
332
316
  const haveSourceTokenAmount = NumberUtil.bigNumber(state.sourceTokenAmount).isGreaterThan(0);
333
- if (!toToken || !sourceToken || state.loadingPrices || !haveSourceTokenAmount) {
317
+ if (!toToken || !sourceToken || state.loadingPrices || !haveSourceTokenAmount || !address) {
334
318
  return;
335
319
  }
336
320
  state.loadingQuote = true;
337
321
  const amountDecimal = NumberUtil.bigNumber(state.sourceTokenAmount).multipliedBy(10 ** sourceToken.decimals).integerValue();
338
- const quoteResponse = await BlockchainApiController.fetchSwapQuote({
339
- userAddress: address,
340
- projectId: OptionsController.state.projectId,
341
- from: sourceToken.address,
342
- to: toToken.address,
343
- gasPrice: state.gasFee,
344
- amount: amountDecimal.toString()
345
- });
346
- state.loadingQuote = false;
347
- const quoteToAmount = quoteResponse?.quotes?.[0]?.toAmount;
348
- if (!quoteToAmount) {
349
- return;
350
- }
351
- const toTokenAmount = NumberUtil.bigNumber(quoteToAmount).dividedBy(10 ** toToken.decimals).toString();
352
- this.setToTokenAmount(toTokenAmount);
353
- const isInsufficientToken = this.hasInsufficientToken(state.sourceTokenAmount, sourceToken.address);
354
- if (isInsufficientToken) {
355
- state.inputError = 'Insufficient balance';
356
- } else {
357
- state.inputError = undefined;
358
- this.setTransactionDetails();
322
+ try {
323
+ const quoteResponse = await BlockchainApiController.fetchSwapQuote({
324
+ userAddress: address,
325
+ projectId: OptionsController.state.projectId,
326
+ from: sourceToken.address,
327
+ to: toToken.address,
328
+ gasPrice: state.gasFee,
329
+ amount: amountDecimal.toString()
330
+ });
331
+ const quoteToAmount = quoteResponse?.quotes?.[0]?.toAmount;
332
+ if (!quoteToAmount) {
333
+ state.loadingQuote = false;
334
+ return;
335
+ }
336
+ const toTokenAmount = NumberUtil.bigNumber(quoteToAmount).dividedBy(10 ** toToken.decimals).toString();
337
+ this.setToTokenAmount(toTokenAmount);
338
+ const isInsufficientToken = this.hasInsufficientToken(state.sourceTokenAmount, sourceToken.address);
339
+ if (isInsufficientToken) {
340
+ state.inputError = 'Insufficient balance';
341
+ } else {
342
+ state.inputError = undefined;
343
+ this.setTransactionDetails();
344
+ }
345
+ } catch (error) {
346
+ SnackController.showError('Failed to get swap quote');
347
+ } finally {
348
+ state.loadingQuote = false;
359
349
  }
360
350
  },
361
351
  // -- Create Transactions -------------------------------------- //
@@ -419,7 +409,7 @@ export const SwapController = {
419
409
  if (!response) {
420
410
  throw new Error('createAllowanceTransaction - No response from generateApproveCalldata');
421
411
  }
422
- const gasLimit = await ConnectionController.estimateGas({
412
+ const gasLimit = await ConnectionsController.estimateGas({
423
413
  address: fromAddress,
424
414
  to: CoreHelperUtil.getPlainAddress(response.tx.to),
425
415
  data: response.tx.data
@@ -469,7 +459,7 @@ export const SwapController = {
469
459
  if (!fromCaipAddress || !sourceTokenAmount || !sourceToken || !toToken) {
470
460
  return undefined;
471
461
  }
472
- const amount = ConnectionController.parseUnits(sourceTokenAmount, sourceToken.decimals)?.toString();
462
+ const amount = ConnectionsController.parseUnits(sourceTokenAmount, sourceToken.decimals)?.toString();
473
463
  try {
474
464
  const response = await BlockchainApiController.generateSwapCalldata({
475
465
  projectId: OptionsController.state.projectId,
@@ -508,39 +498,29 @@ export const SwapController = {
508
498
  async sendTransactionForApproval(data) {
509
499
  const {
510
500
  fromAddress,
511
- isAuthConnector
501
+ network
512
502
  } = this.getParams();
513
503
  state.loadingApprovalTransaction = true;
514
- const approveLimitMessage = `Approve limit increase in your wallet`;
515
- if (isAuthConnector) {
516
- RouterController.pushTransactionStack({
517
- view: null,
518
- goBack: true,
519
- onSuccess() {
520
- SnackController.showLoading(approveLimitMessage);
521
- }
522
- });
523
- } else {
524
- SnackController.showLoading(approveLimitMessage);
525
- }
504
+ SnackController.showLoading('Approve limit increase in your wallet');
526
505
  try {
527
- await ConnectionController.sendTransaction({
506
+ await ConnectionsController.sendTransaction({
528
507
  address: fromAddress,
529
508
  to: data.to,
530
509
  data: data.data,
531
510
  value: BigInt(data.value),
532
511
  gasPrice: BigInt(data.gasPrice),
533
- chainNamespace: 'eip155'
512
+ chainNamespace: ConnectionsController.state.activeNamespace,
513
+ network
534
514
  });
535
515
  await this.swapTokens();
536
516
  await this.getTransaction();
537
517
  state.approvalTransaction = undefined;
538
- state.loadingApprovalTransaction = false;
539
518
  } catch (err) {
540
519
  const error = err;
541
520
  state.transactionError = error?.shortMessage;
542
- state.loadingApprovalTransaction = false;
543
521
  SnackController.showError(error?.shortMessage ?? 'Transaction error');
522
+ } finally {
523
+ state.loadingApprovalTransaction = false;
544
524
  }
545
525
  },
546
526
  async sendTransactionForSwap(data) {
@@ -549,57 +529,45 @@ export const SwapController = {
549
529
  }
550
530
  const {
551
531
  fromAddress,
552
- toTokenAmount,
553
- isAuthConnector
532
+ isAuthConnector,
533
+ network
554
534
  } = this.getParams();
555
535
  state.loadingTransaction = true;
556
- const snackbarPendingMessage = `Swapping ${state.sourceToken?.symbol} to ${NumberUtil.formatNumberToLocalString(toTokenAmount, 3)} ${state.toToken?.symbol}`;
557
- const snackbarSuccessMessage = `Swapped ${state.sourceToken?.symbol} to ${NumberUtil.formatNumberToLocalString(toTokenAmount, 3)} ${state.toToken?.symbol}`;
558
- if (isAuthConnector) {
559
- RouterController.pushTransactionStack({
560
- view: 'Account',
561
- goBack: false,
562
- onSuccess() {
563
- SnackController.showLoading(snackbarPendingMessage);
564
- SwapController.resetState();
565
- }
566
- });
567
- } else {
568
- SnackController.showLoading('Confirm transaction in your wallet');
569
- }
536
+ const snackbarSuccessMessage = `Swapped ${state.sourceToken?.symbol} to ${state.toToken?.symbol}`;
537
+ SnackController.showLoading('Confirm transaction in your wallet');
570
538
  try {
571
- const forceUpdateAddresses = [state.sourceToken?.address, state.toToken?.address].join(',');
572
- const transactionHash = await ConnectionController.sendTransaction({
539
+ const forceUpdateAddresses = [state.sourceToken?.address, state.toToken?.address].filter(Boolean);
540
+ const transactionHash = await ConnectionsController.sendTransaction({
573
541
  address: fromAddress,
574
542
  to: data.to,
575
543
  data: data.data,
576
544
  gas: data.gas,
577
545
  gasPrice: BigInt(data.gasPrice),
578
546
  value: data.value,
579
- chainNamespace: 'eip155'
547
+ chainNamespace: ConnectionsController.state.activeNamespace,
548
+ network
580
549
  });
581
550
  state.loadingTransaction = false;
582
- SnackController.showSuccess(snackbarSuccessMessage);
551
+ SnackController.showSuccess(snackbarSuccessMessage, true);
583
552
  EventsController.sendEvent({
584
553
  type: 'track',
585
554
  event: 'SWAP_SUCCESS',
586
555
  properties: {
587
- network: NetworkController.state.caipNetwork?.id || '',
556
+ network: ConnectionsController.state.activeNetwork?.caipNetworkId || '',
588
557
  swapFromToken: this.state.sourceToken?.symbol || '',
589
558
  swapToToken: this.state.toToken?.symbol || '',
590
559
  swapFromAmount: this.state.sourceTokenAmount || '',
591
560
  swapToAmount: this.state.toTokenAmount || '',
592
- isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount'
561
+ isSmartAccount: ConnectionsController.state.accountType === 'smartAccount'
593
562
  }
594
563
  });
595
- SwapController.resetState();
596
- if (!isAuthConnector) {
597
- RouterController.replace('AccountDefault');
598
- }
564
+ RouterController.replace(isAuthConnector ? 'Account' : 'AccountDefault');
565
+ SwapController.clearTokens();
599
566
  SwapController.getMyTokensWithBalance(forceUpdateAddresses);
600
- AccountController.fetchTokenBalance();
601
567
  setTimeout(() => {
602
- TransactionsController.fetchTransactions(AccountController.state.address, true);
568
+ if (ConnectionsController.state.activeAddress) {
569
+ TransactionsController.fetchTransactions(ConnectionsController.state.activeAddress, true);
570
+ }
603
571
  }, 5000);
604
572
  return transactionHash;
605
573
  } catch (err) {
@@ -612,26 +580,59 @@ export const SwapController = {
612
580
  event: 'SWAP_ERROR',
613
581
  properties: {
614
582
  message: error?.shortMessage ?? error?.message ?? 'Unknown',
615
- network: NetworkController.state.caipNetwork?.id || '',
583
+ network: ConnectionsController.state.activeNetwork?.caipNetworkId || '',
616
584
  swapFromToken: this.state.sourceToken?.symbol || '',
617
585
  swapToToken: this.state.toToken?.symbol || '',
618
586
  swapFromAmount: this.state.sourceTokenAmount || '',
619
587
  swapToAmount: this.state.toTokenAmount || '',
620
- isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount'
588
+ isSmartAccount: ConnectionsController.state.accountType === 'smartAccount'
621
589
  }
622
590
  });
623
591
  return undefined;
624
592
  }
625
593
  },
594
+ clearTransactionLoaders() {
595
+ state.loadingApprovalTransaction = false;
596
+ state.loadingBuildTransaction = false;
597
+ state.loadingTransaction = false;
598
+ },
599
+ clearTokens() {
600
+ state.sourceToken = initialState.sourceToken;
601
+ state.sourceTokenAmount = initialState.sourceTokenAmount;
602
+ state.sourceTokenPriceInUSD = initialState.sourceTokenPriceInUSD;
603
+ state.toToken = initialState.toToken;
604
+ state.toTokenAmount = initialState.toTokenAmount;
605
+ state.toTokenPriceInUSD = initialState.toTokenPriceInUSD;
606
+ state.inputError = initialState.inputError;
607
+ state.loadingApprovalTransaction = initialState.loadingApprovalTransaction;
608
+ state.loadingBuildTransaction = initialState.loadingBuildTransaction;
609
+ state.loadingTransaction = initialState.loadingTransaction;
610
+ state.fetchError = initialState.fetchError;
611
+ state.transactionError = initialState.transactionError;
612
+ state.swapTransaction = initialState.swapTransaction;
613
+ state.approvalTransaction = initialState.approvalTransaction;
614
+ },
615
+ resetState() {
616
+ this.clearTokens();
617
+ state.myTokensWithBalance = initialState.myTokensWithBalance;
618
+ state.tokensPriceMap = initialState.tokensPriceMap;
619
+ state.networkPrice = initialState.networkPrice;
620
+ state.networkTokenSymbol = initialState.networkTokenSymbol;
621
+ },
626
622
  // -- Checks -------------------------------------------- //
627
623
  hasInsufficientToken(sourceTokenAmount, sourceTokenAddress) {
624
+ const {
625
+ balances
626
+ } = ConnectionsController.state;
627
+ const networkToken = balances?.find(t => t.address === undefined);
628
+ const networkBalanceInUSD = networkToken ? NumberUtil.multiply(networkToken.quantity?.numeric ?? '0', networkToken.price).toString() : '0';
628
629
  const isInsufficientSourceTokenForSwap = SwapCalculationUtil.isInsufficientSourceTokenForSwap(sourceTokenAmount, sourceTokenAddress, state.myTokensWithBalance);
629
630
  let insufficientNetworkTokenForGas = true;
630
- if (AccountController.state.preferredAccountType === 'smartAccount') {
631
+ if (ConnectionsController.state.accountType === 'smartAccount') {
631
632
  // Smart Accounts may pay gas in any ERC20 token
632
633
  insufficientNetworkTokenForGas = false;
633
634
  } else {
634
- insufficientNetworkTokenForGas = SwapCalculationUtil.isInsufficientNetworkTokenForGas(state.networkBalanceInUSD, state.gasPriceInUSD);
635
+ insufficientNetworkTokenForGas = SwapCalculationUtil.isInsufficientNetworkTokenForGas(networkBalanceInUSD, state.gasPriceInUSD);
635
636
  }
636
637
  return insufficientNetworkTokenForGas || isInsufficientSourceTokenForSwap;
637
638
  },