@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
@@ -13,9 +13,8 @@ var _BlockchainApiController = require("./BlockchainApiController");
13
13
  var _OptionsController = require("./OptionsController");
14
14
  var _SwapCalculationUtil = require("../utils/SwapCalculationUtil");
15
15
  var _SnackController = require("./SnackController");
16
+ var _LogController = require("./LogController");
16
17
  var _RouterController = require("./RouterController");
17
- var _ConnectorController = require("./ConnectorController");
18
- var _AccountController = require("./AccountController");
19
18
  var _CoreHelperUtil = require("../utils/CoreHelperUtil");
20
19
  var _TransactionsController = require("./TransactionsController");
21
20
  var _EventsController = require("./EventsController");
@@ -36,8 +35,7 @@ class TransactionError extends Error {
36
35
  // -- State --------------------------------------------- //
37
36
  const initialState = {
38
37
  // Loading states
39
- initializing: false,
40
- initialized: false,
38
+ loadingTokens: false,
41
39
  loadingPrices: false,
42
40
  loadingQuote: false,
43
41
  loadingApprovalTransaction: false,
@@ -57,7 +55,6 @@ const initialState = {
57
55
  toTokenAmount: '',
58
56
  toTokenPriceInUSD: 0,
59
57
  networkPrice: '0',
60
- networkBalanceInUSD: '0',
61
58
  networkTokenSymbol: '',
62
59
  inputError: undefined,
63
60
  // Request values
@@ -76,7 +73,9 @@ const initialState = {
76
73
  maxSlippage: undefined,
77
74
  providerFee: undefined
78
75
  };
79
- const state = (0, _valtio.proxy)(initialState);
76
+ const state = (0, _valtio.proxy)({
77
+ ...initialState
78
+ });
80
79
 
81
80
  // -- Controller ---------------------------------------- //
82
81
  const SwapController = exports.SwapController = {
@@ -91,14 +90,14 @@ const SwapController = exports.SwapController = {
91
90
  const {
92
91
  activeAddress,
93
92
  activeNamespace,
94
- activeNetwork
93
+ activeNetwork,
94
+ connection
95
95
  } = _ConnectionsController.ConnectionsController.state;
96
96
  const address = _CoreHelperUtil.CoreHelperUtil.getPlainAddress(activeAddress);
97
97
  if (!activeNamespace || !activeNetwork) {
98
98
  throw new Error('No active namespace or network found to swap the tokens from.');
99
99
  }
100
100
  const networkAddress = `${activeNetwork.caipNetworkId}:${_ConstantsUtil.ConstantsUtil.NATIVE_TOKEN_ADDRESS[activeNamespace]}`;
101
- const type = _ConnectorController.ConnectorController.state.connectedConnector;
102
101
  if (!address) {
103
102
  throw new Error('No address found to swap the tokens from.');
104
103
  }
@@ -107,6 +106,7 @@ const SwapController = exports.SwapController = {
107
106
  const invalidSourceTokenAmount = !state.sourceTokenAmount;
108
107
  return {
109
108
  networkAddress,
109
+ network: activeNetwork,
110
110
  fromAddress: address,
111
111
  fromCaipAddress: activeAddress,
112
112
  sourceTokenAddress: state.sourceToken?.address,
@@ -119,11 +119,11 @@ const SwapController = exports.SwapController = {
119
119
  invalidSourceToken,
120
120
  invalidSourceTokenAmount,
121
121
  availableToSwap: activeAddress && !invalidToToken && !invalidSourceToken && !invalidSourceTokenAmount,
122
- isAuthConnector: type === 'AUTH'
122
+ isAuthConnector: !!connection?.properties?.provider
123
123
  };
124
124
  },
125
125
  switchTokens() {
126
- if (state.initializing || !state.initialized) {
126
+ if (state.loadingTokens) {
127
127
  return;
128
128
  }
129
129
  let newSourceToken = state.toToken ? {
@@ -143,35 +143,33 @@ const SwapController = exports.SwapController = {
143
143
  this.setToTokenAmount('');
144
144
  this.swapTokens();
145
145
  },
146
- resetState() {
147
- state.myTokensWithBalance = initialState.myTokensWithBalance;
148
- state.tokensPriceMap = initialState.tokensPriceMap;
149
- state.initialized = initialState.initialized;
150
- state.sourceToken = initialState.sourceToken;
151
- state.sourceTokenAmount = initialState.sourceTokenAmount;
152
- state.sourceTokenPriceInUSD = initialState.sourceTokenPriceInUSD;
153
- state.toToken = initialState.toToken;
154
- state.toTokenAmount = initialState.toTokenAmount;
155
- state.toTokenPriceInUSD = initialState.toTokenPriceInUSD;
156
- state.networkPrice = initialState.networkPrice;
157
- state.networkTokenSymbol = initialState.networkTokenSymbol;
158
- state.networkBalanceInUSD = initialState.networkBalanceInUSD;
159
- state.inputError = initialState.inputError;
160
- },
161
146
  async fetchTokens() {
162
- const {
163
- networkAddress
164
- } = this.getParams();
165
- await this.getTokenList();
166
- await this.getNetworkTokenPrice();
167
- await this.getMyTokensWithBalance();
168
- const networkToken = state.tokens?.find(token => token.address === networkAddress);
169
- if (networkToken) {
170
- state.networkTokenSymbol = networkToken.symbol;
147
+ try {
148
+ const {
149
+ networkAddress
150
+ } = this.getParams();
151
+ state.loadingTokens = true;
152
+ await this.getTokenList();
153
+ await this.getNetworkTokenPrice();
154
+ await this.getMyTokensWithBalance();
155
+ const networkToken = state.tokens?.find(token => token.address === networkAddress);
156
+ if (networkToken) {
157
+ state.networkTokenSymbol = networkToken.symbol;
158
+ }
159
+
160
+ // Set default source token if not set
161
+ if (!state.sourceToken && state.myTokensWithBalance?.length) {
162
+ const sourceToken = state.myTokensWithBalance?.find(token => token.address.startsWith(networkAddress)) || state.myTokensWithBalance?.[0];
163
+ this.setSourceToken(sourceToken);
164
+ this.setSourceTokenAmount('1');
165
+ }
166
+ } catch (error) {
167
+ _LogController.LogController.sendError(error, 'SwapController.ts', 'initializeState');
168
+ _SnackController.SnackController.showError('Failed to initialize swap');
169
+ _RouterController.RouterController.goBack();
170
+ } finally {
171
+ state.loadingTokens = false;
171
172
  }
172
- const sourceToken = state.myTokensWithBalance?.find(token => token.address.startsWith(networkAddress)) || state.myTokensWithBalance?.[0];
173
- this.setSourceToken(sourceToken);
174
- this.setSourceTokenAmount('1');
175
173
  },
176
174
  async getTokenList() {
177
175
  const tokens = await _SwapApiUtil.SwapApiUtil.getTokenList();
@@ -193,15 +191,19 @@ const SwapController = exports.SwapController = {
193
191
  }, {});
194
192
  },
195
193
  async getMyTokensWithBalance(forceUpdate) {
196
- const balances = await _SwapApiUtil.SwapApiUtil.getMyTokensWithBalance(forceUpdate);
197
- if (!balances) {
194
+ await _ConnectionsController.ConnectionsController.fetchBalance(forceUpdate);
195
+ const swapBalances = _SwapApiUtil.SwapApiUtil.mapBalancesToSwapTokens(_ConnectionsController.ConnectionsController.state.balances);
196
+ if (!swapBalances) {
198
197
  return;
199
198
  }
200
199
  await this.getInitialGasPrice();
201
- this.setBalances(balances);
200
+ this.setBalances(swapBalances);
202
201
  },
203
- getFilteredPopularTokens() {
204
- return state.popularTokens?.filter(token => !state.myTokensWithBalance?.some(t => t.address === token.address));
202
+ getFilteredPopularTokens(balances) {
203
+ if (!balances) {
204
+ return state.popularTokens;
205
+ }
206
+ return state.popularTokens?.filter(token => !balances.some(t => t.address === token.address));
205
207
  },
206
208
  setSourceToken(sourceToken) {
207
209
  if (!sourceToken) {
@@ -219,31 +221,17 @@ const SwapController = exports.SwapController = {
219
221
  state.toTokenAmount = '';
220
222
  }
221
223
  },
222
- async initializeState() {
223
- if (state.initializing) {
224
- return;
225
- }
226
- state.initializing = true;
227
- if (!state.initialized) {
228
- try {
229
- await this.fetchTokens();
230
- state.initialized = true;
231
- } catch (error) {
232
- state.initialized = false;
233
- _SnackController.SnackController.showError('Failed to initialize swap');
234
- _RouterController.RouterController.goBack();
235
- }
236
- }
237
- state.initializing = false;
238
- },
239
224
  async getAddressPrice(address) {
225
+ const [namespace, chain] = address.split(':');
226
+ const networkId = `${namespace}:${chain}`;
240
227
  const existPrice = state.tokensPriceMap[address];
241
228
  if (existPrice) {
242
229
  return existPrice;
243
230
  }
244
231
  const response = await _BlockchainApiController.BlockchainApiController.fetchTokenPrice({
245
232
  projectId: _OptionsController.OptionsController.state.projectId,
246
- addresses: [address]
233
+ addresses: [address],
234
+ caipNetworkId: networkId
247
235
  });
248
236
  const fungibles = response?.fungibles || [];
249
237
  const allTokens = [...(state.tokens || []), ...(state.myTokensWithBalance || [])];
@@ -257,9 +245,12 @@ const SwapController = exports.SwapController = {
257
245
  const {
258
246
  networkAddress
259
247
  } = this.getParams();
248
+ const [namespace, chain] = networkAddress.split(':');
249
+ const networkId = `${namespace}:${chain}`;
260
250
  const response = await _BlockchainApiController.BlockchainApiController.fetchTokenPrice({
261
251
  projectId: _OptionsController.OptionsController.state.projectId,
262
- addresses: [networkAddress]
252
+ addresses: [networkAddress],
253
+ caipNetworkId: networkId
263
254
  });
264
255
  const token = response?.fungibles?.[0];
265
256
  const price = token?.price.toString() || '0';
@@ -290,19 +281,10 @@ const SwapController = exports.SwapController = {
290
281
  return _SwapCalculationUtil.SwapCalculationUtil.getProviderFeePrice(state.sourceTokenAmount, state.sourceTokenPriceInUSD);
291
282
  },
292
283
  setBalances(balances) {
293
- const {
294
- networkAddress
295
- } = this.getParams();
296
- const caipNetwork = _ConnectionsController.ConnectionsController.state.activeNetwork;
297
- if (!caipNetwork) {
298
- return;
299
- }
300
- const networkToken = balances.find(token => token.address === networkAddress);
284
+ state.myTokensWithBalance = balances;
301
285
  balances.forEach(token => {
302
286
  state.tokensPriceMap[token.address] = token.price || 0;
303
287
  });
304
- state.myTokensWithBalance = balances.filter(token => token.address?.startsWith(caipNetwork.caipNetworkId));
305
- state.networkBalanceInUSD = networkToken ? _appkitCommonReactNative.NumberUtil.multiply(networkToken.quantity.numeric, networkToken.price).toString() : '0';
306
288
  },
307
289
  setToToken(toToken) {
308
290
  if (!toToken) {
@@ -355,9 +337,9 @@ const SwapController = exports.SwapController = {
355
337
  gasPrice: state.gasFee,
356
338
  amount: amountDecimal.toString()
357
339
  });
358
- state.loadingQuote = false;
359
340
  const quoteToAmount = quoteResponse?.quotes?.[0]?.toAmount;
360
341
  if (!quoteToAmount) {
342
+ state.loadingQuote = false;
361
343
  return;
362
344
  }
363
345
  const toTokenAmount = _appkitCommonReactNative.NumberUtil.bigNumber(quoteToAmount).dividedBy(10 ** toToken.decimals).toString();
@@ -370,7 +352,9 @@ const SwapController = exports.SwapController = {
370
352
  this.setTransactionDetails();
371
353
  }
372
354
  } catch (error) {
355
+ _LogController.LogController.sendError(error, 'SwapController.ts', 'getQuote');
373
356
  _SnackController.SnackController.showError('Failed to get swap quote');
357
+ } finally {
374
358
  state.loadingQuote = false;
375
359
  }
376
360
  },
@@ -524,21 +508,10 @@ const SwapController = exports.SwapController = {
524
508
  async sendTransactionForApproval(data) {
525
509
  const {
526
510
  fromAddress,
527
- isAuthConnector
511
+ network
528
512
  } = this.getParams();
529
513
  state.loadingApprovalTransaction = true;
530
- const approveLimitMessage = `Approve limit increase in your wallet`;
531
- if (isAuthConnector) {
532
- _RouterController.RouterController.pushTransactionStack({
533
- view: null,
534
- goBack: true,
535
- onSuccess() {
536
- _SnackController.SnackController.showLoading(approveLimitMessage);
537
- }
538
- });
539
- } else {
540
- _SnackController.SnackController.showLoading(approveLimitMessage);
541
- }
514
+ _SnackController.SnackController.showLoading('Approve limit increase in your wallet');
542
515
  try {
543
516
  await _ConnectionsController.ConnectionsController.sendTransaction({
544
517
  address: fromAddress,
@@ -546,17 +519,18 @@ const SwapController = exports.SwapController = {
546
519
  data: data.data,
547
520
  value: BigInt(data.value),
548
521
  gasPrice: BigInt(data.gasPrice),
549
- chainNamespace: _ConnectionsController.ConnectionsController.state.activeNamespace
522
+ chainNamespace: _ConnectionsController.ConnectionsController.state.activeNamespace,
523
+ network
550
524
  });
551
525
  await this.swapTokens();
552
526
  await this.getTransaction();
553
527
  state.approvalTransaction = undefined;
554
- state.loadingApprovalTransaction = false;
555
528
  } catch (err) {
556
529
  const error = err;
557
530
  state.transactionError = error?.shortMessage;
558
- state.loadingApprovalTransaction = false;
559
531
  _SnackController.SnackController.showError(error?.shortMessage ?? 'Transaction error');
532
+ } finally {
533
+ state.loadingApprovalTransaction = false;
560
534
  }
561
535
  },
562
536
  async sendTransactionForSwap(data) {
@@ -565,26 +539,14 @@ const SwapController = exports.SwapController = {
565
539
  }
566
540
  const {
567
541
  fromAddress,
568
- toTokenAmount,
569
- isAuthConnector
542
+ isAuthConnector,
543
+ network
570
544
  } = this.getParams();
571
545
  state.loadingTransaction = true;
572
- const snackbarPendingMessage = `Swapping ${state.sourceToken?.symbol} to ${_appkitCommonReactNative.NumberUtil.formatNumberToLocalString(toTokenAmount, 3)} ${state.toToken?.symbol}`;
573
- const snackbarSuccessMessage = `Swapped ${state.sourceToken?.symbol} to ${_appkitCommonReactNative.NumberUtil.formatNumberToLocalString(toTokenAmount, 3)} ${state.toToken?.symbol}`;
574
- if (isAuthConnector) {
575
- _RouterController.RouterController.pushTransactionStack({
576
- view: 'Account',
577
- goBack: false,
578
- onSuccess() {
579
- _SnackController.SnackController.showLoading(snackbarPendingMessage);
580
- SwapController.resetState();
581
- }
582
- });
583
- } else {
584
- _SnackController.SnackController.showLoading('Confirm transaction in your wallet');
585
- }
546
+ const snackbarSuccessMessage = `Swapped ${state.sourceToken?.symbol} to ${state.toToken?.symbol}`;
547
+ _SnackController.SnackController.showLoading('Confirm transaction in your wallet');
586
548
  try {
587
- const forceUpdateAddresses = [state.sourceToken?.address, state.toToken?.address].join(',');
549
+ const forceUpdateAddresses = [state.sourceToken?.address, state.toToken?.address].filter(Boolean);
588
550
  const transactionHash = await _ConnectionsController.ConnectionsController.sendTransaction({
589
551
  address: fromAddress,
590
552
  to: data.to,
@@ -592,34 +554,39 @@ const SwapController = exports.SwapController = {
592
554
  gas: data.gas,
593
555
  gasPrice: BigInt(data.gasPrice),
594
556
  value: data.value,
595
- chainNamespace: _ConnectionsController.ConnectionsController.state.activeNamespace
557
+ chainNamespace: _ConnectionsController.ConnectionsController.state.activeNamespace,
558
+ network
596
559
  });
597
560
  state.loadingTransaction = false;
598
- _SnackController.SnackController.showSuccess(snackbarSuccessMessage);
561
+ _SnackController.SnackController.showSuccess(snackbarSuccessMessage, true);
599
562
  _EventsController.EventsController.sendEvent({
600
563
  type: 'track',
601
564
  event: 'SWAP_SUCCESS',
602
565
  properties: {
603
- network: _ConnectionsController.ConnectionsController.state.activeNetwork?.caipNetworkId || '',
566
+ network: _ConnectionsController.ConnectionsController.state.activeNetwork?.caipNetworkId,
604
567
  swapFromToken: this.state.sourceToken?.symbol || '',
605
568
  swapToToken: this.state.toToken?.symbol || '',
606
569
  swapFromAmount: this.state.sourceTokenAmount || '',
607
570
  swapToAmount: this.state.toTokenAmount || '',
608
- isSmartAccount: _AccountController.AccountController.state.preferredAccountType === 'smartAccount'
571
+ isSmartAccount: _ConnectionsController.ConnectionsController.state.accountType === 'smartAccount'
609
572
  }
610
573
  });
611
- SwapController.resetState();
612
- if (!isAuthConnector) {
613
- _RouterController.RouterController.replace('AccountDefault');
614
- }
574
+ _RouterController.RouterController.replace(isAuthConnector ? 'Account' : 'AccountDefault');
575
+ SwapController.clearTokens();
615
576
  SwapController.getMyTokensWithBalance(forceUpdateAddresses);
616
- _AccountController.AccountController.fetchTokenBalance();
617
577
  setTimeout(() => {
618
- _TransactionsController.TransactionsController.fetchTransactions(_AccountController.AccountController.state.address, true);
578
+ if (_ConnectionsController.ConnectionsController.state.activeAddress) {
579
+ _TransactionsController.TransactionsController.fetchTransactions(_ConnectionsController.ConnectionsController.state.activeAddress, true);
580
+ }
619
581
  }, 5000);
620
582
  return transactionHash;
621
583
  } catch (err) {
622
584
  const error = err;
585
+ _LogController.LogController.sendError(error, 'SwapController.ts', 'sendTransactionForSwap', {
586
+ sourceToken: this.state.sourceToken?.symbol,
587
+ toToken: this.state.toToken?.symbol,
588
+ amount: this.state.sourceTokenAmount
589
+ });
623
590
  state.transactionError = error?.shortMessage;
624
591
  state.loadingTransaction = false;
625
592
  _SnackController.SnackController.showError(error?.shortMessage ?? 'Transaction error');
@@ -628,26 +595,59 @@ const SwapController = exports.SwapController = {
628
595
  event: 'SWAP_ERROR',
629
596
  properties: {
630
597
  message: error?.shortMessage ?? error?.message ?? 'Unknown',
631
- network: _ConnectionsController.ConnectionsController.state.activeNetwork?.caipNetworkId || '',
598
+ network: _ConnectionsController.ConnectionsController.state.activeNetwork?.caipNetworkId,
632
599
  swapFromToken: this.state.sourceToken?.symbol || '',
633
600
  swapToToken: this.state.toToken?.symbol || '',
634
601
  swapFromAmount: this.state.sourceTokenAmount || '',
635
602
  swapToAmount: this.state.toTokenAmount || '',
636
- isSmartAccount: _AccountController.AccountController.state.preferredAccountType === 'smartAccount'
603
+ isSmartAccount: _ConnectionsController.ConnectionsController.state.accountType === 'smartAccount'
637
604
  }
638
605
  });
639
606
  return undefined;
640
607
  }
641
608
  },
609
+ clearTransactionLoaders() {
610
+ state.loadingApprovalTransaction = false;
611
+ state.loadingBuildTransaction = false;
612
+ state.loadingTransaction = false;
613
+ },
614
+ clearTokens() {
615
+ state.sourceToken = initialState.sourceToken;
616
+ state.sourceTokenAmount = initialState.sourceTokenAmount;
617
+ state.sourceTokenPriceInUSD = initialState.sourceTokenPriceInUSD;
618
+ state.toToken = initialState.toToken;
619
+ state.toTokenAmount = initialState.toTokenAmount;
620
+ state.toTokenPriceInUSD = initialState.toTokenPriceInUSD;
621
+ state.inputError = initialState.inputError;
622
+ state.loadingApprovalTransaction = initialState.loadingApprovalTransaction;
623
+ state.loadingBuildTransaction = initialState.loadingBuildTransaction;
624
+ state.loadingTransaction = initialState.loadingTransaction;
625
+ state.fetchError = initialState.fetchError;
626
+ state.transactionError = initialState.transactionError;
627
+ state.swapTransaction = initialState.swapTransaction;
628
+ state.approvalTransaction = initialState.approvalTransaction;
629
+ },
630
+ resetState() {
631
+ this.clearTokens();
632
+ state.myTokensWithBalance = initialState.myTokensWithBalance;
633
+ state.tokensPriceMap = initialState.tokensPriceMap;
634
+ state.networkPrice = initialState.networkPrice;
635
+ state.networkTokenSymbol = initialState.networkTokenSymbol;
636
+ },
642
637
  // -- Checks -------------------------------------------- //
643
638
  hasInsufficientToken(sourceTokenAmount, sourceTokenAddress) {
639
+ const {
640
+ balances
641
+ } = _ConnectionsController.ConnectionsController.state;
642
+ const networkToken = balances?.find(t => t.address === undefined);
643
+ const networkBalanceInUSD = networkToken ? _appkitCommonReactNative.NumberUtil.multiply(networkToken.quantity?.numeric ?? '0', networkToken.price).toString() : '0';
644
644
  const isInsufficientSourceTokenForSwap = _SwapCalculationUtil.SwapCalculationUtil.isInsufficientSourceTokenForSwap(sourceTokenAmount, sourceTokenAddress, state.myTokensWithBalance);
645
645
  let insufficientNetworkTokenForGas = true;
646
- if (_AccountController.AccountController.state.preferredAccountType === 'smartAccount') {
646
+ if (_ConnectionsController.ConnectionsController.state.accountType === 'smartAccount') {
647
647
  // Smart Accounts may pay gas in any ERC20 token
648
648
  insufficientNetworkTokenForGas = false;
649
649
  } else {
650
- insufficientNetworkTokenForGas = _SwapCalculationUtil.SwapCalculationUtil.isInsufficientNetworkTokenForGas(state.networkBalanceInUSD, state.gasPriceInUSD);
650
+ insufficientNetworkTokenForGas = _SwapCalculationUtil.SwapCalculationUtil.isInsufficientNetworkTokenForGas(networkBalanceInUSD, state.gasPriceInUSD);
651
651
  }
652
652
  return insufficientNetworkTokenForGas || isInsufficientSourceTokenForSwap;
653
653
  },
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","_valtio","_appkitCommonReactNative","_ConstantsUtil","_SwapApiUtil","_BlockchainApiController","_OptionsController","_SwapCalculationUtil","_SnackController","_RouterController","_ConnectorController","_AccountController","_CoreHelperUtil","_TransactionsController","_EventsController","_ConnectionsController","INITIAL_GAS_LIMIT","exports","TO_AMOUNT_DECIMALS","TransactionError","Error","constructor","message","shortMessage","name","initialState","initializing","initialized","loadingPrices","loadingQuote","loadingApprovalTransaction","loadingBuildTransaction","loadingTransaction","fetchError","approvalTransaction","undefined","swapTransaction","transactionError","sourceToken","sourceTokenAmount","sourceTokenPriceInUSD","toToken","toTokenAmount","toTokenPriceInUSD","networkPrice","networkBalanceInUSD","networkTokenSymbol","inputError","slippage","ConstantsUtil","CONVERT_SLIPPAGE_TOLERANCE","tokens","popularTokens","suggestedTokens","foundTokens","myTokensWithBalance","tokensPriceMap","gasFee","gasPriceInUSD","priceImpact","maxSlippage","providerFee","state","proxy","SwapController","subscribe","callback","sub","subscribeKey","key","subKey","getParams","activeAddress","activeNamespace","activeNetwork","ConnectionsController","address","CoreHelperUtil","getPlainAddress","networkAddress","caipNetworkId","NATIVE_TOKEN_ADDRESS","type","ConnectorController","connectedConnector","invalidToToken","decimals","invalidSourceToken","NumberUtil","bigNumber","isGreaterThan","invalidSourceTokenAmount","fromAddress","fromCaipAddress","sourceTokenAddress","toTokenAddress","toTokenDecimals","sourceTokenDecimals","availableToSwap","isAuthConnector","switchTokens","newSourceToken","sourceTokenWithBalance","find","token","newToToken","newSourceTokenAmount","setSourceToken","setToToken","setSourceTokenAmount","setToTokenAmount","swapTokens","resetState","fetchTokens","getTokenList","getNetworkTokenPrice","getMyTokensWithBalance","networkToken","symbol","startsWith","SwapApiUtil","sort","aTokenInfo","bTokenInfo","filter","SWAP_SUGGESTED_TOKENS","includes","forceUpdate","balances","getInitialGasPrice","setBalances","getFilteredPopularTokens","some","t","setTokenPrice","amount","initializeState","error","SnackController","showError","RouterController","goBack","getAddressPrice","existPrice","response","BlockchainApiController","fetchTokenPrice","projectId","OptionsController","addresses","fungibles","allTokens","price","p","toLowerCase","priceAsFloat","parseFloat","toString","res","fetchGasPrice","gasPrice","gasPriceInUsd","value","standard","BigInt","gasLimit","SwapCalculationUtil","getGasPriceInUSD","getProviderFeePrice","caipNetwork","forEach","multiply","quantity","numeric","formatNumberToLocalString","target","haveSourceTokenAmount","amountDecimal","multipliedBy","integerValue","quoteResponse","fetchSwapQuote","userAddress","from","to","quoteToAmount","quotes","toAmount","dividedBy","isInsufficientToken","hasInsufficientToken","setTransactionDetails","getTransaction","hasAllowance","fetchSwapAllowance","tokenAddress","transaction","createSwapTransaction","createAllowanceTransaction","generateApproveCalldata","estimateGas","tx","data","gas","eip155","parseUnits","generateSwapCalldata","isSourceNetworkToken","sendTransactionForApproval","approveLimitMessage","pushTransactionStack","view","onSuccess","showLoading","sendTransaction","chainNamespace","err","sendTransactionForSwap","snackbarPendingMessage","snackbarSuccessMessage","forceUpdateAddresses","join","transactionHash","showSuccess","EventsController","sendEvent","event","properties","network","swapFromToken","swapToToken","swapFromAmount","swapToAmount","isSmartAccount","AccountController","preferredAccountType","replace","fetchTokenBalance","setTimeout","TransactionsController","fetchTransactions","isInsufficientSourceTokenForSwap","insufficientNetworkTokenForGas","isInsufficientNetworkTokenForGas","getPriceImpact","getMaxSlippage","getProviderFee"],"sourceRoot":"../../../src","sources":["controllers/SwapController.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_utils","require","_valtio","_appkitCommonReactNative","_ConstantsUtil","_SwapApiUtil","_BlockchainApiController","_OptionsController","_SwapCalculationUtil","_SnackController","_LogController","_RouterController","_CoreHelperUtil","_TransactionsController","_EventsController","_ConnectionsController","INITIAL_GAS_LIMIT","exports","TO_AMOUNT_DECIMALS","TransactionError","Error","constructor","message","shortMessage","name","initialState","loadingTokens","loadingPrices","loadingQuote","loadingApprovalTransaction","loadingBuildTransaction","loadingTransaction","fetchError","approvalTransaction","undefined","swapTransaction","transactionError","sourceToken","sourceTokenAmount","sourceTokenPriceInUSD","toToken","toTokenAmount","toTokenPriceInUSD","networkPrice","networkTokenSymbol","inputError","slippage","ConstantsUtil","CONVERT_SLIPPAGE_TOLERANCE","tokens","popularTokens","suggestedTokens","foundTokens","myTokensWithBalance","tokensPriceMap","gasFee","gasPriceInUSD","priceImpact","maxSlippage","providerFee","state","proxy","SwapController","subscribe","callback","sub","subscribeKey","key","subKey","getParams","activeAddress","activeNamespace","activeNetwork","connection","ConnectionsController","address","CoreHelperUtil","getPlainAddress","networkAddress","caipNetworkId","NATIVE_TOKEN_ADDRESS","invalidToToken","decimals","invalidSourceToken","NumberUtil","bigNumber","isGreaterThan","invalidSourceTokenAmount","network","fromAddress","fromCaipAddress","sourceTokenAddress","toTokenAddress","toTokenDecimals","sourceTokenDecimals","availableToSwap","isAuthConnector","properties","provider","switchTokens","newSourceToken","sourceTokenWithBalance","find","token","newToToken","newSourceTokenAmount","setSourceToken","setToToken","setSourceTokenAmount","setToTokenAmount","swapTokens","fetchTokens","getTokenList","getNetworkTokenPrice","getMyTokensWithBalance","networkToken","symbol","length","startsWith","error","LogController","sendError","SnackController","showError","RouterController","goBack","SwapApiUtil","sort","aTokenInfo","bTokenInfo","filter","SWAP_SUGGESTED_TOKENS","includes","forceUpdate","fetchBalance","swapBalances","mapBalancesToSwapTokens","balances","getInitialGasPrice","setBalances","getFilteredPopularTokens","some","t","setTokenPrice","amount","getAddressPrice","namespace","chain","split","networkId","existPrice","response","BlockchainApiController","fetchTokenPrice","projectId","OptionsController","addresses","fungibles","allTokens","price","p","toLowerCase","priceAsFloat","parseFloat","toString","res","fetchGasPrice","gasPrice","gasPriceInUsd","value","standard","BigInt","gasLimit","SwapCalculationUtil","getGasPriceInUSD","getProviderFeePrice","forEach","formatNumberToLocalString","target","haveSourceTokenAmount","amountDecimal","multipliedBy","integerValue","quoteResponse","fetchSwapQuote","userAddress","from","to","quoteToAmount","quotes","toAmount","dividedBy","isInsufficientToken","hasInsufficientToken","setTransactionDetails","getTransaction","hasAllowance","fetchSwapAllowance","tokenAddress","transaction","createSwapTransaction","createAllowanceTransaction","generateApproveCalldata","estimateGas","tx","data","gas","eip155","parseUnits","generateSwapCalldata","isSourceNetworkToken","sendTransactionForApproval","showLoading","sendTransaction","chainNamespace","err","sendTransactionForSwap","snackbarSuccessMessage","forceUpdateAddresses","Boolean","transactionHash","showSuccess","EventsController","sendEvent","type","event","swapFromToken","swapToToken","swapFromAmount","swapToAmount","isSmartAccount","accountType","replace","clearTokens","setTimeout","TransactionsController","fetchTransactions","clearTransactionLoaders","resetState","networkBalanceInUSD","multiply","quantity","numeric","isInsufficientSourceTokenForSwap","insufficientNetworkTokenForGas","isInsufficientNetworkTokenForGas","getPriceImpact","getMaxSlippage","getProviderFee"],"sourceRoot":"../../../src","sources":["controllers/SwapController.ts"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ var _valtio = require("valtio");
11
11
  // -- State --------------------------------------------- //
12
12
  const state = (0, _valtio.proxy)({
13
13
  themeMode: undefined,
14
+ defaultThemeMode: undefined,
14
15
  themeVariables: {}
15
16
  });
16
17
 
@@ -27,6 +28,10 @@ const ThemeController = exports.ThemeController = {
27
28
  state.themeMode = themeMode;
28
29
  }
29
30
  },
31
+ setDefaultThemeMode(themeMode) {
32
+ state.defaultThemeMode = themeMode;
33
+ this.setThemeMode(themeMode);
34
+ },
30
35
  setThemeVariables(themeVariables) {
31
36
  if (!themeVariables) {
32
37
  state.themeVariables = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_valtio","state","proxy","themeMode","undefined","themeVariables","ThemeController","exports","subscribe","callback","sub","setThemeMode","Appearance","getColorScheme","setThemeVariables"],"sourceRoot":"../../../src","sources":["controllers/ThemeController.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAGA;;AAMA;AACA,MAAME,KAAK,GAAG,IAAAC,aAAK,EAAuB;EACxCC,SAAS,EAAEC,SAAS;EACpBC,cAAc,EAAE,CAAC;AACnB,CAAC,CAAC;;AAEF;AACO,MAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC7BL,KAAK;EAELO,SAASA,CAACC,QAAkD,EAAE;IAC5D,OAAO,IAAAC,iBAAG,EAACT,KAAK,EAAE,MAAMQ,QAAQ,CAACR,KAAK,CAAC,CAAC;EAC1C,CAAC;EAEDU,YAAYA,CAACR,SAA4C,EAAE;IACzD,IAAI,CAACA,SAAS,EAAE;MACdF,KAAK,CAACE,SAAS,GAAGS,uBAAU,CAACC,cAAc,CAAC,CAAc;IAC5D,CAAC,MAAM;MACLZ,KAAK,CAACE,SAAS,GAAGA,SAAS;IAC7B;EACF,CAAC;EAEDW,iBAAiBA,CAACT,cAAsD,EAAE;IACxE,IAAI,CAACA,cAAc,EAAE;MACnBJ,KAAK,CAACI,cAAc,GAAG,CAAC,CAAC;IAC3B;IAEAJ,KAAK,CAACI,cAAc,GAAG;MAAE,GAAGJ,KAAK,CAACI,cAAc;MAAE,GAAGA;IAAe,CAAC;EACvE;AACF,CAAC"}
1
+ {"version":3,"names":["_reactNative","require","_valtio","state","proxy","themeMode","undefined","defaultThemeMode","themeVariables","ThemeController","exports","subscribe","callback","sub","setThemeMode","Appearance","getColorScheme","setDefaultThemeMode","setThemeVariables"],"sourceRoot":"../../../src","sources":["controllers/ThemeController.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAGA;;AAOA;AACA,MAAME,KAAK,GAAG,IAAAC,aAAK,EAAuB;EACxCC,SAAS,EAAEC,SAAS;EACpBC,gBAAgB,EAAED,SAAS;EAC3BE,cAAc,EAAE,CAAC;AACnB,CAAC,CAAC;;AAEF;AACO,MAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC7BN,KAAK;EAELQ,SAASA,CAACC,QAAkD,EAAE;IAC5D,OAAO,IAAAC,iBAAG,EAACV,KAAK,EAAE,MAAMS,QAAQ,CAACT,KAAK,CAAC,CAAC;EAC1C,CAAC;EAEDW,YAAYA,CAACT,SAA4C,EAAE;IACzD,IAAI,CAACA,SAAS,EAAE;MACdF,KAAK,CAACE,SAAS,GAAGU,uBAAU,CAACC,cAAc,CAAC,CAAc;IAC5D,CAAC,MAAM;MACLb,KAAK,CAACE,SAAS,GAAGA,SAAS;IAC7B;EACF,CAAC;EAEDY,mBAAmBA,CAACZ,SAAmD,EAAE;IACvEF,KAAK,CAACI,gBAAgB,GAAGF,SAAS;IAClC,IAAI,CAACS,YAAY,CAACT,SAAS,CAAC;EAC9B,CAAC;EAEDa,iBAAiBA,CAACV,cAAsD,EAAE;IACxE,IAAI,CAACA,cAAc,EAAE;MACnBL,KAAK,CAACK,cAAc,GAAG,CAAC,CAAC;IAC3B;IAEAL,KAAK,CAACK,cAAc,GAAG;MAAE,GAAGL,KAAK,CAACK,cAAc;MAAE,GAAGA;IAAe,CAAC;EACvE;AACF,CAAC","ignoreList":[]}