@reown/appkit-core-react-native 0.0.0-feat-multi-social-20250714211631 → 0.0.0-feat-onramp-20250718185718

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 (194) hide show
  1. package/lib/commonjs/controllers/AccountController.js +17 -20
  2. package/lib/commonjs/controllers/AccountController.js.map +1 -1
  3. package/lib/commonjs/controllers/ApiController.js +15 -17
  4. package/lib/commonjs/controllers/ApiController.js.map +1 -1
  5. package/lib/commonjs/controllers/BlockchainApiController.js +29 -110
  6. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  7. package/lib/commonjs/controllers/ConnectionController.js +8 -12
  8. package/lib/commonjs/controllers/ConnectionController.js.map +1 -1
  9. package/lib/commonjs/controllers/ConnectorController.js +49 -0
  10. package/lib/commonjs/controllers/ConnectorController.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 +2 -2
  16. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  17. package/lib/commonjs/controllers/OnRampController.js +60 -20
  18. package/lib/commonjs/controllers/OnRampController.js.map +1 -1
  19. package/lib/commonjs/controllers/OptionsController.js +3 -8
  20. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  21. package/lib/commonjs/controllers/RouterController.js +22 -1
  22. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  23. package/lib/commonjs/controllers/SendController.js +33 -34
  24. package/lib/commonjs/controllers/SendController.js.map +1 -1
  25. package/lib/commonjs/controllers/SnackController.js +5 -29
  26. package/lib/commonjs/controllers/SnackController.js.map +1 -1
  27. package/lib/commonjs/controllers/SwapController.js +148 -136
  28. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  29. package/lib/commonjs/controllers/ThemeController.js +1 -9
  30. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  31. package/lib/commonjs/controllers/TransactionsController.js +21 -25
  32. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  33. package/lib/commonjs/controllers/WebviewController.js +52 -0
  34. package/lib/commonjs/controllers/WebviewController.js.map +1 -0
  35. package/lib/commonjs/index.js +24 -3
  36. package/lib/commonjs/index.js.map +1 -1
  37. package/lib/commonjs/utils/AssetUtil.js +12 -8
  38. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  39. package/lib/commonjs/utils/ConnectionUtil.js +33 -0
  40. package/lib/commonjs/utils/ConnectionUtil.js.map +1 -0
  41. package/lib/commonjs/utils/ConstantsUtil.js +8 -537
  42. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  43. package/lib/commonjs/utils/CoreHelperUtil.js +4 -4
  44. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  45. package/lib/commonjs/utils/FetchUtil.js +28 -9
  46. package/lib/commonjs/utils/FetchUtil.js.map +1 -1
  47. package/lib/commonjs/utils/NetworkUtil.js +46 -0
  48. package/lib/commonjs/utils/NetworkUtil.js.map +1 -0
  49. package/lib/commonjs/utils/StorageUtil.js +42 -51
  50. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  51. package/lib/commonjs/utils/SwapApiUtil.js +21 -15
  52. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  53. package/lib/module/controllers/AccountController.js +17 -20
  54. package/lib/module/controllers/AccountController.js.map +1 -1
  55. package/lib/module/controllers/ApiController.js +15 -16
  56. package/lib/module/controllers/ApiController.js.map +1 -1
  57. package/lib/module/controllers/BlockchainApiController.js +29 -110
  58. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  59. package/lib/module/controllers/ConnectionController.js +8 -12
  60. package/lib/module/controllers/ConnectionController.js.map +1 -1
  61. package/lib/module/controllers/ConnectorController.js +44 -0
  62. package/lib/module/controllers/ConnectorController.js.map +1 -0
  63. package/lib/module/controllers/EnsController.js +2 -2
  64. package/lib/module/controllers/EnsController.js.map +1 -1
  65. package/lib/module/controllers/EventsController.js +1 -1
  66. package/lib/module/controllers/EventsController.js.map +1 -1
  67. package/lib/module/controllers/ModalController.js +2 -2
  68. package/lib/module/controllers/ModalController.js.map +1 -1
  69. package/lib/module/controllers/OnRampController.js +60 -20
  70. package/lib/module/controllers/OnRampController.js.map +1 -1
  71. package/lib/module/controllers/OptionsController.js +3 -8
  72. package/lib/module/controllers/OptionsController.js.map +1 -1
  73. package/lib/module/controllers/RouterController.js +22 -1
  74. package/lib/module/controllers/RouterController.js.map +1 -1
  75. package/lib/module/controllers/SendController.js +30 -31
  76. package/lib/module/controllers/SendController.js.map +1 -1
  77. package/lib/module/controllers/SnackController.js +5 -29
  78. package/lib/module/controllers/SnackController.js.map +1 -1
  79. package/lib/module/controllers/SwapController.js +148 -136
  80. package/lib/module/controllers/SwapController.js.map +1 -1
  81. package/lib/module/controllers/ThemeController.js +1 -9
  82. package/lib/module/controllers/ThemeController.js.map +1 -1
  83. package/lib/module/controllers/TransactionsController.js +19 -23
  84. package/lib/module/controllers/TransactionsController.js.map +1 -1
  85. package/lib/module/controllers/WebviewController.js +47 -0
  86. package/lib/module/controllers/WebviewController.js.map +1 -0
  87. package/lib/module/index.js +4 -1
  88. package/lib/module/index.js.map +1 -1
  89. package/lib/module/utils/AssetUtil.js +12 -8
  90. package/lib/module/utils/AssetUtil.js.map +1 -1
  91. package/lib/module/utils/ConnectionUtil.js +27 -0
  92. package/lib/module/utils/ConnectionUtil.js.map +1 -0
  93. package/lib/module/utils/ConstantsUtil.js +8 -537
  94. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  95. package/lib/module/utils/CoreHelperUtil.js +4 -4
  96. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  97. package/lib/module/utils/FetchUtil.js +28 -9
  98. package/lib/module/utils/FetchUtil.js.map +1 -1
  99. package/lib/module/utils/NetworkUtil.js +40 -0
  100. package/lib/module/utils/NetworkUtil.js.map +1 -0
  101. package/lib/module/utils/StorageUtil.js +42 -51
  102. package/lib/module/utils/StorageUtil.js.map +1 -1
  103. package/lib/module/utils/SwapApiUtil.js +21 -15
  104. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  105. package/lib/typescript/controllers/AccountController.d.ts +4 -4
  106. package/lib/typescript/controllers/AccountController.d.ts.map +1 -1
  107. package/lib/typescript/controllers/ApiController.d.ts +1 -1
  108. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  109. package/lib/typescript/controllers/BlockchainApiController.d.ts +4 -16
  110. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  111. package/lib/typescript/controllers/ConnectionController.d.ts +2 -2
  112. package/lib/typescript/controllers/ConnectionController.d.ts.map +1 -1
  113. package/lib/typescript/controllers/ConnectorController.d.ts +18 -0
  114. package/lib/typescript/controllers/ConnectorController.d.ts.map +1 -0
  115. package/lib/typescript/controllers/ModalController.d.ts +1 -1
  116. package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
  117. package/lib/typescript/controllers/NetworkController.d.ts +1 -1
  118. package/lib/typescript/controllers/NetworkController.d.ts.map +1 -1
  119. package/lib/typescript/controllers/OnRampController.d.ts +3 -1
  120. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
  121. package/lib/typescript/controllers/OptionsController.d.ts +2 -5
  122. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
  123. package/lib/typescript/controllers/PublicStateController.d.ts +1 -1
  124. package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -1
  125. package/lib/typescript/controllers/RouterController.d.ts +15 -4
  126. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  127. package/lib/typescript/controllers/SendController.d.ts.map +1 -1
  128. package/lib/typescript/controllers/SnackController.d.ts +3 -3
  129. package/lib/typescript/controllers/SnackController.d.ts.map +1 -1
  130. package/lib/typescript/controllers/SwapController.d.ts +9 -9
  131. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  132. package/lib/typescript/controllers/ThemeController.d.ts +1 -1
  133. package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
  134. package/lib/typescript/controllers/TransactionsController.d.ts +3 -3
  135. package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -1
  136. package/lib/typescript/controllers/WebviewController.d.ts +21 -0
  137. package/lib/typescript/controllers/WebviewController.d.ts.map +1 -0
  138. package/lib/typescript/index.d.ts +4 -1
  139. package/lib/typescript/index.d.ts.map +1 -1
  140. package/lib/typescript/utils/AssetUtil.d.ts +3 -3
  141. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
  142. package/lib/typescript/utils/ConnectionUtil.d.ts +4 -0
  143. package/lib/typescript/utils/ConnectionUtil.d.ts.map +1 -0
  144. package/lib/typescript/utils/ConstantsUtil.d.ts +1 -421
  145. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  146. package/lib/typescript/utils/CoreHelperUtil.d.ts +3 -3
  147. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  148. package/lib/typescript/utils/FetchUtil.d.ts +1 -1
  149. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  150. package/lib/typescript/utils/NetworkUtil.d.ts +8 -0
  151. package/lib/typescript/utils/NetworkUtil.d.ts.map +1 -0
  152. package/lib/typescript/utils/StorageUtil.d.ts +7 -14
  153. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  154. package/lib/typescript/utils/SwapApiUtil.d.ts +3 -3
  155. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  156. package/lib/typescript/utils/TypeUtil.d.ts +159 -24
  157. package/lib/typescript/utils/TypeUtil.d.ts.map +1 -1
  158. package/package.json +4 -4
  159. package/src/controllers/AccountController.ts +27 -23
  160. package/src/controllers/ApiController.ts +9 -15
  161. package/src/controllers/BlockchainApiController.ts +32 -145
  162. package/src/controllers/ConnectionController.ts +12 -14
  163. package/src/controllers/ConnectorController.ts +63 -0
  164. package/src/controllers/EnsController.ts +2 -2
  165. package/src/controllers/EventsController.ts +1 -1
  166. package/src/controllers/ModalController.ts +3 -4
  167. package/src/controllers/NetworkController.ts +1 -1
  168. package/src/controllers/OnRampController.ts +91 -32
  169. package/src/controllers/OptionsController.ts +13 -14
  170. package/src/controllers/PublicStateController.ts +1 -1
  171. package/src/controllers/RouterController.ts +53 -5
  172. package/src/controllers/SendController.ts +30 -39
  173. package/src/controllers/SnackController.ts +5 -31
  174. package/src/controllers/SwapController.ts +178 -155
  175. package/src/controllers/ThemeController.ts +2 -11
  176. package/src/controllers/TransactionsController.ts +20 -26
  177. package/src/controllers/WebviewController.ts +63 -0
  178. package/src/index.ts +6 -3
  179. package/src/utils/AssetUtil.ts +14 -8
  180. package/src/utils/ConnectionUtil.ts +27 -0
  181. package/src/utils/ConstantsUtil.ts +8 -542
  182. package/src/utils/CoreHelperUtil.ts +7 -15
  183. package/src/utils/FetchUtil.ts +31 -10
  184. package/src/utils/NetworkUtil.ts +33 -0
  185. package/src/utils/StorageUtil.ts +48 -60
  186. package/src/utils/SwapApiUtil.ts +38 -27
  187. package/src/utils/TypeUtil.ts +160 -26
  188. package/lib/commonjs/controllers/ConnectionsController.js +0 -383
  189. package/lib/commonjs/controllers/ConnectionsController.js.map +0 -1
  190. package/lib/module/controllers/ConnectionsController.js +0 -378
  191. package/lib/module/controllers/ConnectionsController.js.map +0 -1
  192. package/lib/typescript/controllers/ConnectionsController.d.ts +0 -52
  193. package/lib/typescript/controllers/ConnectionsController.d.ts.map +0 -1
  194. package/src/controllers/ConnectionsController.ts +0 -503
@@ -1 +1 @@
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"}
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"}
@@ -3,15 +3,18 @@ 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';
6
7
  import { BlockchainApiController } from './BlockchainApiController';
7
8
  import { OptionsController } from './OptionsController';
8
9
  import { SwapCalculationUtil } from '../utils/SwapCalculationUtil';
9
10
  import { SnackController } from './SnackController';
10
11
  import { RouterController } from './RouterController';
12
+ import { ConnectorController } from './ConnectorController';
13
+ import { AccountController } from './AccountController';
11
14
  import { CoreHelperUtil } from '../utils/CoreHelperUtil';
15
+ import { ConnectionController } from './ConnectionController';
12
16
  import { TransactionsController } from './TransactionsController';
13
17
  import { EventsController } from './EventsController';
14
- import { ConnectionsController } from './ConnectionsController';
15
18
 
16
19
  // -- Constants ---------------------------------------- //
17
20
  export const INITIAL_GAS_LIMIT = 150000;
@@ -29,7 +32,8 @@ class TransactionError extends Error {
29
32
  // -- State --------------------------------------------- //
30
33
  const initialState = {
31
34
  // Loading states
32
- loadingTokens: false,
35
+ initializing: false,
36
+ initialized: false,
33
37
  loadingPrices: false,
34
38
  loadingQuote: false,
35
39
  loadingApprovalTransaction: false,
@@ -49,6 +53,7 @@ const initialState = {
49
53
  toTokenAmount: '',
50
54
  toTokenPriceInUSD: 0,
51
55
  networkPrice: '0',
56
+ networkBalanceInUSD: '0',
52
57
  networkTokenSymbol: '',
53
58
  inputError: undefined,
54
59
  // Request values
@@ -79,17 +84,10 @@ export const SwapController = {
79
84
  return subKey(state, key, callback);
80
85
  },
81
86
  getParams() {
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]}`;
87
+ const caipAddress = AccountController.state.caipAddress;
88
+ const address = CoreHelperUtil.getPlainAddress(caipAddress);
89
+ const networkAddress = NetworkController.getActiveNetworkTokenAddress();
90
+ const type = ConnectorController.state.connectedConnector;
93
91
  if (!address) {
94
92
  throw new Error('No address found to swap the tokens from.');
95
93
  }
@@ -99,7 +97,7 @@ export const SwapController = {
99
97
  return {
100
98
  networkAddress,
101
99
  fromAddress: address,
102
- fromCaipAddress: activeAddress,
100
+ fromCaipAddress: caipAddress,
103
101
  sourceTokenAddress: state.sourceToken?.address,
104
102
  toTokenAddress: state.toToken?.address,
105
103
  toTokenAmount: state.toTokenAmount,
@@ -109,12 +107,12 @@ export const SwapController = {
109
107
  invalidToToken,
110
108
  invalidSourceToken,
111
109
  invalidSourceTokenAmount,
112
- availableToSwap: activeAddress && !invalidToToken && !invalidSourceToken && !invalidSourceTokenAmount,
113
- isAuthConnector: !!connection?.properties?.provider
110
+ availableToSwap: caipAddress && !invalidToToken && !invalidSourceToken && !invalidSourceTokenAmount,
111
+ isAuthConnector: type === 'AUTH'
114
112
  };
115
113
  },
116
114
  switchTokens() {
117
- if (state.loadingTokens) {
115
+ if (state.initializing || !state.initialized) {
118
116
  return;
119
117
  }
120
118
  let newSourceToken = state.toToken ? {
@@ -134,32 +132,35 @@ export const SwapController = {
134
132
  this.setToTokenAmount('');
135
133
  this.swapTokens();
136
134
  },
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
+ },
137
150
  async fetchTokens() {
138
- try {
139
- const {
140
- networkAddress
141
- } = this.getParams();
142
- state.loadingTokens = true;
143
- await this.getTokenList();
144
- await this.getNetworkTokenPrice();
145
- await this.getMyTokensWithBalance();
146
- const networkToken = state.tokens?.find(token => token.address === networkAddress);
147
- if (networkToken) {
148
- state.networkTokenSymbol = networkToken.symbol;
149
- }
150
-
151
- // Set default source token if not set
152
- if (!state.sourceToken && state.myTokensWithBalance?.length) {
153
- const sourceToken = state.myTokensWithBalance?.find(token => token.address.startsWith(networkAddress)) || state.myTokensWithBalance?.[0];
154
- this.setSourceToken(sourceToken);
155
- this.setSourceTokenAmount('1');
156
- }
157
- } catch (error) {
158
- SnackController.showError('Failed to initialize swap');
159
- RouterController.goBack();
160
- } finally {
161
- state.loadingTokens = false;
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;
162
160
  }
161
+ const sourceToken = state.myTokensWithBalance?.find(token => token.address.startsWith(networkAddress)) || state.myTokensWithBalance?.[0];
162
+ this.setSourceToken(sourceToken);
163
+ this.setSourceTokenAmount('1');
163
164
  },
164
165
  async getTokenList() {
165
166
  const tokens = await SwapApiUtil.getTokenList();
@@ -181,19 +182,15 @@ export const SwapController = {
181
182
  }, {});
182
183
  },
183
184
  async getMyTokensWithBalance(forceUpdate) {
184
- await ConnectionsController.fetchBalance(forceUpdate);
185
- const swapBalances = SwapApiUtil.mapBalancesToSwapTokens(ConnectionsController.state.balances);
186
- if (!swapBalances) {
185
+ const balances = await SwapApiUtil.getMyTokensWithBalance(forceUpdate);
186
+ if (!balances) {
187
187
  return;
188
188
  }
189
189
  await this.getInitialGasPrice();
190
- this.setBalances(swapBalances);
190
+ this.setBalances(balances);
191
191
  },
192
- getFilteredPopularTokens(balances) {
193
- if (!balances) {
194
- return state.popularTokens;
195
- }
196
- return state.popularTokens?.filter(token => !balances.some(t => t.address === token.address));
192
+ getFilteredPopularTokens() {
193
+ return state.popularTokens?.filter(token => !state.myTokensWithBalance?.some(t => t.address === token.address));
197
194
  },
198
195
  setSourceToken(sourceToken) {
199
196
  if (!sourceToken) {
@@ -211,6 +208,23 @@ export const SwapController = {
211
208
  state.toTokenAmount = '';
212
209
  }
213
210
  },
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
+ },
214
228
  async getAddressPrice(address) {
215
229
  const existPrice = state.tokensPriceMap[address];
216
230
  if (existPrice) {
@@ -265,10 +279,19 @@ export const SwapController = {
265
279
  return SwapCalculationUtil.getProviderFeePrice(state.sourceTokenAmount, state.sourceTokenPriceInUSD);
266
280
  },
267
281
  setBalances(balances) {
268
- state.myTokensWithBalance = 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);
269
290
  balances.forEach(token => {
270
291
  state.tokensPriceMap[token.address] = token.price || 0;
271
292
  });
293
+ state.myTokensWithBalance = balances.filter(token => token.address?.startsWith(caipNetwork.id));
294
+ state.networkBalanceInUSD = networkToken ? NumberUtil.multiply(networkToken.quantity.numeric, networkToken.price).toString() : '0';
272
295
  },
273
296
  setToToken(toToken) {
274
297
  if (!toToken) {
@@ -303,42 +326,36 @@ export const SwapController = {
303
326
  },
304
327
  // -- Swap ---------------------------------------------- //
305
328
  async swapTokens() {
306
- const address = ConnectionsController.state.activeAddress;
329
+ const address = AccountController.state.address;
307
330
  const sourceToken = state.sourceToken;
308
331
  const toToken = state.toToken;
309
332
  const haveSourceTokenAmount = NumberUtil.bigNumber(state.sourceTokenAmount).isGreaterThan(0);
310
- if (!toToken || !sourceToken || state.loadingPrices || !haveSourceTokenAmount || !address) {
333
+ if (!toToken || !sourceToken || state.loadingPrices || !haveSourceTokenAmount) {
311
334
  return;
312
335
  }
313
336
  state.loadingQuote = true;
314
337
  const amountDecimal = NumberUtil.bigNumber(state.sourceTokenAmount).multipliedBy(10 ** sourceToken.decimals).integerValue();
315
- try {
316
- const quoteResponse = await BlockchainApiController.fetchSwapQuote({
317
- userAddress: address,
318
- projectId: OptionsController.state.projectId,
319
- from: sourceToken.address,
320
- to: toToken.address,
321
- gasPrice: state.gasFee,
322
- amount: amountDecimal.toString()
323
- });
324
- const quoteToAmount = quoteResponse?.quotes?.[0]?.toAmount;
325
- if (!quoteToAmount) {
326
- state.loadingQuote = false;
327
- return;
328
- }
329
- const toTokenAmount = NumberUtil.bigNumber(quoteToAmount).dividedBy(10 ** toToken.decimals).toString();
330
- this.setToTokenAmount(toTokenAmount);
331
- const isInsufficientToken = this.hasInsufficientToken(state.sourceTokenAmount, sourceToken.address);
332
- if (isInsufficientToken) {
333
- state.inputError = 'Insufficient balance';
334
- } else {
335
- state.inputError = undefined;
336
- this.setTransactionDetails();
337
- }
338
- } catch (error) {
339
- SnackController.showError('Failed to get swap quote');
340
- } finally {
341
- state.loadingQuote = false;
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();
342
359
  }
343
360
  },
344
361
  // -- Create Transactions -------------------------------------- //
@@ -402,7 +419,7 @@ export const SwapController = {
402
419
  if (!response) {
403
420
  throw new Error('createAllowanceTransaction - No response from generateApproveCalldata');
404
421
  }
405
- const gasLimit = await ConnectionsController.estimateGas({
422
+ const gasLimit = await ConnectionController.estimateGas({
406
423
  address: fromAddress,
407
424
  to: CoreHelperUtil.getPlainAddress(response.tx.to),
408
425
  data: response.tx.data
@@ -452,7 +469,7 @@ export const SwapController = {
452
469
  if (!fromCaipAddress || !sourceTokenAmount || !sourceToken || !toToken) {
453
470
  return undefined;
454
471
  }
455
- const amount = ConnectionsController.parseUnits(sourceTokenAmount, sourceToken.decimals)?.toString();
472
+ const amount = ConnectionController.parseUnits(sourceTokenAmount, sourceToken.decimals)?.toString();
456
473
  try {
457
474
  const response = await BlockchainApiController.generateSwapCalldata({
458
475
  projectId: OptionsController.state.projectId,
@@ -490,28 +507,40 @@ export const SwapController = {
490
507
  },
491
508
  async sendTransactionForApproval(data) {
492
509
  const {
493
- fromAddress
510
+ fromAddress,
511
+ isAuthConnector
494
512
  } = this.getParams();
495
513
  state.loadingApprovalTransaction = true;
496
- SnackController.showLoading('Approve limit increase in your wallet');
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
+ }
497
526
  try {
498
- await ConnectionsController.sendTransaction({
527
+ await ConnectionController.sendTransaction({
499
528
  address: fromAddress,
500
529
  to: data.to,
501
530
  data: data.data,
502
531
  value: BigInt(data.value),
503
532
  gasPrice: BigInt(data.gasPrice),
504
- chainNamespace: ConnectionsController.state.activeNamespace
533
+ chainNamespace: 'eip155'
505
534
  });
506
535
  await this.swapTokens();
507
536
  await this.getTransaction();
508
537
  state.approvalTransaction = undefined;
538
+ state.loadingApprovalTransaction = false;
509
539
  } catch (err) {
510
540
  const error = err;
511
541
  state.transactionError = error?.shortMessage;
512
- SnackController.showError(error?.shortMessage ?? 'Transaction error');
513
- } finally {
514
542
  state.loadingApprovalTransaction = false;
543
+ SnackController.showError(error?.shortMessage ?? 'Transaction error');
515
544
  }
516
545
  },
517
546
  async sendTransactionForSwap(data) {
@@ -520,41 +549,57 @@ export const SwapController = {
520
549
  }
521
550
  const {
522
551
  fromAddress,
552
+ toTokenAmount,
523
553
  isAuthConnector
524
554
  } = this.getParams();
525
555
  state.loadingTransaction = true;
526
- const snackbarSuccessMessage = `Swapped ${state.sourceToken?.symbol} to ${state.toToken?.symbol}`;
527
- SnackController.showLoading('Confirm transaction in your wallet');
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
+ }
528
570
  try {
529
- const forceUpdateAddresses = [state.sourceToken?.address, state.toToken?.address].filter(Boolean);
530
- const transactionHash = await ConnectionsController.sendTransaction({
571
+ const forceUpdateAddresses = [state.sourceToken?.address, state.toToken?.address].join(',');
572
+ const transactionHash = await ConnectionController.sendTransaction({
531
573
  address: fromAddress,
532
574
  to: data.to,
533
575
  data: data.data,
534
576
  gas: data.gas,
535
577
  gasPrice: BigInt(data.gasPrice),
536
578
  value: data.value,
537
- chainNamespace: ConnectionsController.state.activeNamespace
579
+ chainNamespace: 'eip155'
538
580
  });
539
581
  state.loadingTransaction = false;
540
- SnackController.showSuccess(snackbarSuccessMessage, true);
582
+ SnackController.showSuccess(snackbarSuccessMessage);
541
583
  EventsController.sendEvent({
542
584
  type: 'track',
543
585
  event: 'SWAP_SUCCESS',
544
586
  properties: {
545
- network: ConnectionsController.state.activeNetwork?.caipNetworkId || '',
587
+ network: NetworkController.state.caipNetwork?.id || '',
546
588
  swapFromToken: this.state.sourceToken?.symbol || '',
547
589
  swapToToken: this.state.toToken?.symbol || '',
548
590
  swapFromAmount: this.state.sourceTokenAmount || '',
549
591
  swapToAmount: this.state.toTokenAmount || '',
550
- isSmartAccount: ConnectionsController.state.accountType === 'smartAccount'
592
+ isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount'
551
593
  }
552
594
  });
553
- RouterController.replace(isAuthConnector ? 'Account' : 'AccountDefault');
554
- SwapController.clearTokens();
595
+ SwapController.resetState();
596
+ if (!isAuthConnector) {
597
+ RouterController.replace('AccountDefault');
598
+ }
555
599
  SwapController.getMyTokensWithBalance(forceUpdateAddresses);
600
+ AccountController.fetchTokenBalance();
556
601
  setTimeout(() => {
557
- TransactionsController.fetchTransactions(ConnectionsController.state.activeAddress, true);
602
+ TransactionsController.fetchTransactions(AccountController.state.address, true);
558
603
  }, 5000);
559
604
  return transactionHash;
560
605
  } catch (err) {
@@ -567,59 +612,26 @@ export const SwapController = {
567
612
  event: 'SWAP_ERROR',
568
613
  properties: {
569
614
  message: error?.shortMessage ?? error?.message ?? 'Unknown',
570
- network: ConnectionsController.state.activeNetwork?.caipNetworkId || '',
615
+ network: NetworkController.state.caipNetwork?.id || '',
571
616
  swapFromToken: this.state.sourceToken?.symbol || '',
572
617
  swapToToken: this.state.toToken?.symbol || '',
573
618
  swapFromAmount: this.state.sourceTokenAmount || '',
574
619
  swapToAmount: this.state.toTokenAmount || '',
575
- isSmartAccount: ConnectionsController.state.accountType === 'smartAccount'
620
+ isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount'
576
621
  }
577
622
  });
578
623
  return undefined;
579
624
  }
580
625
  },
581
- clearTransactionLoaders() {
582
- state.loadingApprovalTransaction = false;
583
- state.loadingBuildTransaction = false;
584
- state.loadingTransaction = false;
585
- },
586
- clearTokens() {
587
- state.sourceToken = initialState.sourceToken;
588
- state.sourceTokenAmount = initialState.sourceTokenAmount;
589
- state.sourceTokenPriceInUSD = initialState.sourceTokenPriceInUSD;
590
- state.toToken = initialState.toToken;
591
- state.toTokenAmount = initialState.toTokenAmount;
592
- state.toTokenPriceInUSD = initialState.toTokenPriceInUSD;
593
- state.inputError = initialState.inputError;
594
- state.loadingApprovalTransaction = initialState.loadingApprovalTransaction;
595
- state.loadingBuildTransaction = initialState.loadingBuildTransaction;
596
- state.loadingTransaction = initialState.loadingTransaction;
597
- state.fetchError = initialState.fetchError;
598
- state.transactionError = initialState.transactionError;
599
- state.swapTransaction = initialState.swapTransaction;
600
- state.approvalTransaction = initialState.approvalTransaction;
601
- },
602
- resetState() {
603
- this.clearTokens();
604
- state.myTokensWithBalance = initialState.myTokensWithBalance;
605
- state.tokensPriceMap = initialState.tokensPriceMap;
606
- state.networkPrice = initialState.networkPrice;
607
- state.networkTokenSymbol = initialState.networkTokenSymbol;
608
- },
609
626
  // -- Checks -------------------------------------------- //
610
627
  hasInsufficientToken(sourceTokenAmount, sourceTokenAddress) {
611
- const {
612
- balances
613
- } = ConnectionsController.state;
614
- const networkToken = balances?.find(t => t.address === undefined);
615
- const networkBalanceInUSD = networkToken ? NumberUtil.multiply(networkToken.quantity?.numeric ?? '0', networkToken.price).toString() : '0';
616
628
  const isInsufficientSourceTokenForSwap = SwapCalculationUtil.isInsufficientSourceTokenForSwap(sourceTokenAmount, sourceTokenAddress, state.myTokensWithBalance);
617
629
  let insufficientNetworkTokenForGas = true;
618
- if (ConnectionsController.state.accountType === 'smartAccount') {
630
+ if (AccountController.state.preferredAccountType === 'smartAccount') {
619
631
  // Smart Accounts may pay gas in any ERC20 token
620
632
  insufficientNetworkTokenForGas = false;
621
633
  } else {
622
- insufficientNetworkTokenForGas = SwapCalculationUtil.isInsufficientNetworkTokenForGas(networkBalanceInUSD, state.gasPriceInUSD);
634
+ insufficientNetworkTokenForGas = SwapCalculationUtil.isInsufficientNetworkTokenForGas(state.networkBalanceInUSD, state.gasPriceInUSD);
623
635
  }
624
636
  return insufficientNetworkTokenForGas || isInsufficientSourceTokenForSwap;
625
637
  },
@@ -1 +1 @@
1
- {"version":3,"names":["subscribeKey","subKey","proxy","subscribe","sub","NumberUtil","ConstantsUtil","SwapApiUtil","BlockchainApiController","OptionsController","SwapCalculationUtil","SnackController","RouterController","CoreHelperUtil","TransactionsController","EventsController","ConnectionsController","INITIAL_GAS_LIMIT","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","CONVERT_SLIPPAGE_TOLERANCE","tokens","popularTokens","suggestedTokens","foundTokens","myTokensWithBalance","tokensPriceMap","gasFee","gasPriceInUSD","priceImpact","maxSlippage","providerFee","state","SwapController","callback","key","getParams","activeAddress","activeNamespace","activeNetwork","connection","address","getPlainAddress","networkAddress","caipNetworkId","NATIVE_TOKEN_ADDRESS","invalidToToken","decimals","invalidSourceToken","bigNumber","isGreaterThan","invalidSourceTokenAmount","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","showError","goBack","sort","aTokenInfo","bTokenInfo","filter","SWAP_SUGGESTED_TOKENS","includes","forceUpdate","fetchBalance","swapBalances","mapBalancesToSwapTokens","balances","getInitialGasPrice","setBalances","getFilteredPopularTokens","some","t","setTokenPrice","amount","getAddressPrice","existPrice","response","fetchTokenPrice","projectId","addresses","fungibles","allTokens","price","p","toLowerCase","priceAsFloat","parseFloat","toString","res","fetchGasPrice","gasPrice","gasPriceInUsd","value","standard","BigInt","gasLimit","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","sendEvent","type","event","network","swapFromToken","swapToToken","swapFromAmount","swapToAmount","isSmartAccount","accountType","replace","clearTokens","setTimeout","fetchTransactions","clearTransactionLoaders","resetState","networkBalanceInUSD","multiply","quantity","numeric","isInsufficientSourceTokenForSwap","insufficientNetworkTokenForGas","isInsufficientNetworkTokenForGas","getPriceImpact","getMaxSlippage","getProviderFee"],"sourceRoot":"../../../src","sources":["controllers/SwapController.ts"],"mappings":"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"}
1
+ {"version":3,"names":["subscribeKey","subKey","proxy","subscribe","sub","NumberUtil","ConstantsUtil","SwapApiUtil","NetworkController","BlockchainApiController","OptionsController","SwapCalculationUtil","SnackController","RouterController","ConnectorController","AccountController","CoreHelperUtil","ConnectionController","TransactionsController","EventsController","INITIAL_GAS_LIMIT","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","CONVERT_SLIPPAGE_TOLERANCE","tokens","popularTokens","suggestedTokens","foundTokens","myTokensWithBalance","tokensPriceMap","gasFee","gasPriceInUSD","priceImpact","maxSlippage","providerFee","state","SwapController","callback","key","getParams","caipAddress","address","getPlainAddress","networkAddress","getActiveNetworkTokenAddress","type","connectedConnector","invalidToToken","decimals","invalidSourceToken","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","sort","aTokenInfo","bTokenInfo","filter","SWAP_SUGGESTED_TOKENS","includes","forceUpdate","balances","getInitialGasPrice","setBalances","getFilteredPopularTokens","some","t","setTokenPrice","amount","initializeState","error","showError","goBack","getAddressPrice","existPrice","response","fetchTokenPrice","projectId","addresses","fungibles","allTokens","price","p","toLowerCase","priceAsFloat","parseFloat","toString","res","fetchGasPrice","gasPrice","gasPriceInUsd","value","standard","BigInt","gasLimit","getGasPriceInUSD","getProviderFeePrice","caipNetwork","forEach","id","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","sendEvent","event","properties","network","swapFromToken","swapToToken","swapFromAmount","swapToAmount","isSmartAccount","preferredAccountType","replace","fetchTokenBalance","setTimeout","fetchTransactions","isInsufficientSourceTokenForSwap","insufficientNetworkTokenForGas","isInsufficientNetworkTokenForGas","getPriceImpact","getMaxSlippage","getProviderFee"],"sourceRoot":"../../../src","sources":["controllers/SwapController.ts"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { Appearance } from 'react-native';
2
1
  import { proxy, subscribe as sub } from 'valtio';
3
2
 
4
3
  // -- Types --------------------------------------------- //
@@ -16,16 +15,9 @@ export const ThemeController = {
16
15
  return sub(state, () => callback(state));
17
16
  },
18
17
  setThemeMode(themeMode) {
19
- if (!themeMode) {
20
- state.themeMode = Appearance.getColorScheme();
21
- } else {
22
- state.themeMode = themeMode;
23
- }
18
+ state.themeMode = themeMode;
24
19
  },
25
20
  setThemeVariables(themeVariables) {
26
- if (!themeVariables) {
27
- state.themeVariables = {};
28
- }
29
21
  state.themeVariables = {
30
22
  ...state.themeVariables,
31
23
  ...themeVariables