@lifi/widget 2.0.0-beta.9 → 2.0.0

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 (601) hide show
  1. package/App.js +2 -2
  2. package/AppDrawer.d.ts +3 -2
  3. package/AppDrawer.js +7 -3
  4. package/AppDrawer.style.d.ts +2 -2
  5. package/AppDrawer.style.js +5 -0
  6. package/AppProvider.js +4 -4
  7. package/AppRoutes.js +16 -16
  8. package/cjs/App.js +2 -2
  9. package/cjs/AppDrawer.d.ts +3 -2
  10. package/cjs/AppDrawer.js +7 -3
  11. package/cjs/AppDrawer.style.d.ts +2 -2
  12. package/cjs/AppDrawer.style.js +5 -0
  13. package/cjs/AppProvider.js +3 -3
  14. package/cjs/AppRoutes.js +16 -16
  15. package/cjs/components/{ActiveSwaps/ActiveSwapItem.d.ts → ActiveTransactions/ActiveTransactionItem.d.ts} +1 -1
  16. package/cjs/components/{ActiveSwaps/ActiveSwapItem.js → ActiveTransactions/ActiveTransactionItem.js} +6 -6
  17. package/cjs/{pages/SwapRoutesPage/SwapRoutesPage.d.ts → components/ActiveTransactions/ActiveTransactions.d.ts} +1 -1
  18. package/cjs/components/{ActiveSwaps/ActiveSwaps.js → ActiveTransactions/ActiveTransactions.js} +7 -7
  19. package/cjs/components/{ActiveSwaps/ActiveSwaps.style.d.ts → ActiveTransactions/ActiveTransactions.style.d.ts} +4 -4
  20. package/cjs/components/ActiveTransactions/index.d.ts +2 -0
  21. package/cjs/components/{ActiveSwaps → ActiveTransactions}/index.js +2 -2
  22. package/cjs/components/AmountInput/AmountInput.d.ts +12 -0
  23. package/cjs/components/AmountInput/AmountInput.js +57 -0
  24. package/{components/SwapInput/SwapInput.style.d.ts → cjs/components/AmountInput/AmountInput.style.d.ts} +1 -1
  25. package/{components/SwapInput/SwapInputAdornment.style.d.ts → cjs/components/AmountInput/AmountInputAdornment.style.d.ts} +2 -2
  26. package/cjs/components/AmountInput/AmountInputEndAdornment.d.ts +2 -0
  27. package/cjs/components/{SwapInput/SwapInputEndAdornment.js → AmountInput/AmountInputEndAdornment.js} +9 -9
  28. package/cjs/components/AmountInput/AmountInputStartAdornment.d.ts +3 -0
  29. package/cjs/components/{SwapInput/SwapInputStartAdornment.js → AmountInput/AmountInputStartAdornment.js} +5 -5
  30. package/cjs/components/AmountInput/FormPriceHelperText.d.ts +9 -0
  31. package/cjs/components/{SwapInput → AmountInput}/FormPriceHelperText.js +15 -9
  32. package/cjs/components/AmountInput/index.d.ts +1 -0
  33. package/cjs/{pages/SwapPage → components/AmountInput}/index.js +1 -1
  34. package/cjs/components/Card/CardIconButton.d.ts +2 -2
  35. package/cjs/components/Card/CardLabel.d.ts +1 -1
  36. package/cjs/components/ChainSelect/ChainSelect.d.ts +2 -2
  37. package/cjs/components/ChainSelect/ChainSelect.js +1 -1
  38. package/cjs/components/ChainSelect/useChainSelect.d.ts +2 -2
  39. package/cjs/components/ChainSelect/useChainSelect.js +5 -5
  40. package/cjs/components/ContractComponent/ContractComponent.d.ts +2 -2
  41. package/cjs/components/ContractComponent/ContractComponent.js +3 -5
  42. package/cjs/components/DefaultTransactionButton/DefaultTransactionButton.d.ts +3 -0
  43. package/cjs/components/DefaultTransactionButton/DefaultTransactionButton.js +36 -0
  44. package/cjs/components/DefaultTransactionButton/index.d.ts +2 -0
  45. package/cjs/components/{SwapButton → DefaultTransactionButton}/index.js +3 -3
  46. package/cjs/components/{SwapButton → DefaultTransactionButton}/types.d.ts +1 -2
  47. package/cjs/components/GasMessage/FundsSufficiencyMessage.js +1 -1
  48. package/cjs/components/GasMessage/GasRefuelMessage.js +1 -1
  49. package/cjs/components/GasMessage/GasSufficiencyMessage.js +2 -2
  50. package/cjs/components/Header/Header.style.d.ts +2 -2
  51. package/cjs/components/Header/NavigationHeader.js +19 -19
  52. package/cjs/components/Header/NavigationTabs.js +3 -3
  53. package/cjs/components/Header/NavigationTabs.style.js +3 -3
  54. package/cjs/components/Header/index.d.ts +1 -1
  55. package/cjs/components/Header/index.js +1 -1
  56. package/cjs/components/Header/types.d.ts +5 -2
  57. package/cjs/components/Header/useHeaderStore.d.ts +2 -0
  58. package/cjs/components/Header/{useHeaderActionStore.js → useHeaderStore.js} +13 -2
  59. package/cjs/components/Insurance/Insurance.js +2 -2
  60. package/cjs/components/Insurance/InsuranceCard.js +10 -7
  61. package/cjs/components/Insurance/InsuranceCollapsed.js +7 -3
  62. package/cjs/components/Insurance/index.d.ts +1 -0
  63. package/cjs/components/Insurance/index.js +1 -0
  64. package/cjs/components/Insurance/types.d.ts +11 -7
  65. package/cjs/components/ListItemButton.d.ts +1 -1
  66. package/cjs/components/NFT/NFT.d.ts +1 -2
  67. package/cjs/components/NFT/NFT.js +15 -13
  68. package/cjs/components/NFT/NFT.style.d.ts +1 -1
  69. package/cjs/components/NFT/NFTBase.d.ts +3 -0
  70. package/cjs/components/NFT/NFTBase.js +13 -0
  71. package/cjs/components/NFT/index.d.ts +1 -0
  72. package/cjs/components/NFT/index.js +1 -0
  73. package/cjs/components/NFT/types.d.ts +3 -1
  74. package/cjs/components/ProgressToNextUpdate/ProgressToNextUpdate.js +3 -3
  75. package/cjs/components/ReverseTokensButton/ReverseTokensButton.js +9 -9
  76. package/cjs/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +2 -2
  77. package/cjs/components/RouteCard/RouteCard.d.ts +4 -0
  78. package/cjs/components/{SwapRouteCard/SwapRouteCard.js → RouteCard/RouteCard.js} +16 -12
  79. package/cjs/components/RouteCard/RouteCardEssentials.d.ts +3 -0
  80. package/cjs/components/{SwapRouteCard/SwapRouteCardEssentials.js → RouteCard/RouteCardEssentials.js} +7 -7
  81. package/cjs/components/RouteCard/RouteCardSkeleton.d.ts +4 -0
  82. package/cjs/components/{SwapRouteCard/SwapRouteCardSkeleton.js → RouteCard/RouteCardSkeleton.js} +6 -6
  83. package/cjs/components/RouteCard/RouteNotFoundCard.d.ts +2 -0
  84. package/cjs/components/{SwapRouteCard/SwapRouteNotFoundCard.js → RouteCard/RouteNotFoundCard.js} +4 -4
  85. package/cjs/components/RouteCard/index.d.ts +3 -0
  86. package/cjs/components/{SwapRoutes → RouteCard}/index.js +3 -2
  87. package/cjs/components/{SwapRouteCard → RouteCard}/types.d.ts +3 -3
  88. package/cjs/components/{SwapRoutes/SwapRoutes.d.ts → Routes/Routes.d.ts} +1 -1
  89. package/cjs/components/Routes/Routes.js +37 -0
  90. package/cjs/components/Routes/RoutesExpanded.d.ts +2 -0
  91. package/cjs/components/Routes/RoutesExpanded.js +44 -0
  92. package/cjs/components/Routes/index.d.ts +2 -0
  93. package/cjs/components/Routes/index.js +18 -0
  94. package/cjs/components/SelectChainAndToken.js +7 -7
  95. package/cjs/components/SelectTokenButton/SelectTokenButton.d.ts +2 -2
  96. package/cjs/components/SelectTokenButton/SelectTokenButton.js +11 -11
  97. package/cjs/components/SendToWallet/SendToWallet.js +9 -10
  98. package/cjs/components/SendToWallet/SendToWallet.style.d.ts +1 -1
  99. package/cjs/components/SendToWallet/SendToWalletButton.js +2 -2
  100. package/cjs/components/SmallAvatar.d.ts +1 -1
  101. package/cjs/components/Step/DestinationWalletAddress.js +2 -2
  102. package/cjs/components/Step/GasStepProcess.js +1 -1
  103. package/cjs/components/Step/Step.js +13 -13
  104. package/cjs/components/Step/StepTimer.js +2 -2
  105. package/cjs/components/StepActions/StepActions.d.ts +3 -3
  106. package/cjs/components/StepActions/StepActions.js +20 -16
  107. package/cjs/components/StepActions/StepActions.style.d.ts +1 -1
  108. package/cjs/components/StepActions/types.d.ts +2 -2
  109. package/cjs/components/Token/Token.js +1 -1
  110. package/cjs/components/TokenList/TokenList.js +2 -2
  111. package/cjs/components/TokenList/TokenList.style.d.ts +4 -4
  112. package/cjs/components/TokenList/TokenList.style.js +11 -8
  113. package/cjs/components/TokenList/TokenListItem.js +5 -9
  114. package/cjs/components/TokenList/TokenNotFound.d.ts +2 -2
  115. package/cjs/components/TokenList/TokenNotFound.js +2 -2
  116. package/cjs/components/TokenList/VirtualizedTokenList.js +2 -2
  117. package/cjs/components/TokenList/types.d.ts +2 -2
  118. package/cjs/components/TokenList/useTokenSelect.d.ts +2 -2
  119. package/cjs/components/TokenList/useTokenSelect.js +11 -9
  120. package/cjs/config/theme.js +1 -2
  121. package/cjs/config/version.d.ts +1 -1
  122. package/cjs/config/version.js +1 -1
  123. package/cjs/hooks/index.d.ts +1 -1
  124. package/cjs/hooks/index.js +1 -1
  125. package/cjs/hooks/useChains.js +4 -4
  126. package/cjs/hooks/useFundsSufficiency.js +1 -5
  127. package/cjs/hooks/useGasRecommendation.d.ts +1 -1
  128. package/cjs/hooks/useGasRecommendation.js +5 -0
  129. package/cjs/hooks/useGasRefuel.js +4 -4
  130. package/cjs/hooks/useProcessMessage.d.ts +2 -2
  131. package/cjs/hooks/useProcessMessage.js +46 -46
  132. package/cjs/hooks/useRouteExecution.js +3 -4
  133. package/cjs/hooks/{useSwapRoutes.d.ts → useRoutes.d.ts} +2 -2
  134. package/cjs/hooks/{useSwapRoutes.js → useRoutes.js} +24 -24
  135. package/cjs/hooks/useTokenBalance.js +4 -5
  136. package/cjs/hooks/useTokenBalances.js +1 -5
  137. package/cjs/hooks/useTokens.js +21 -9
  138. package/cjs/i18n/bn.json +80 -80
  139. package/cjs/i18n/de.json +74 -74
  140. package/cjs/i18n/en.json +132 -131
  141. package/cjs/i18n/es.json +72 -72
  142. package/cjs/i18n/fr.json +102 -85
  143. package/cjs/i18n/id.json +102 -85
  144. package/cjs/i18n/it.json +112 -84
  145. package/cjs/i18n/ko.json +102 -85
  146. package/cjs/i18n/pt.json +89 -87
  147. package/cjs/i18n/th.json +102 -85
  148. package/cjs/i18n/tr.json +72 -72
  149. package/cjs/i18n/uk.json +98 -96
  150. package/cjs/i18n/vi.json +104 -79
  151. package/cjs/i18n/zh.json +104 -87
  152. package/cjs/index.d.ts +2 -0
  153. package/cjs/index.js +5 -1
  154. package/cjs/pages/ActiveTransactionsPage/ActiveTransactionsEmpty.d.ts +2 -0
  155. package/cjs/pages/{ActiveSwapsPage/ActiveSwapsEmpty.js → ActiveTransactionsPage/ActiveTransactionsEmpty.js} +4 -4
  156. package/cjs/pages/ActiveTransactionsPage/ActiveTransactionsPage.d.ts +1 -0
  157. package/cjs/pages/{ActiveSwapsPage/ActiveSwapsPage.js → ActiveTransactionsPage/ActiveTransactionsPage.js} +8 -8
  158. package/cjs/pages/ActiveTransactionsPage/index.d.ts +1 -0
  159. package/cjs/pages/{ActiveSwapsPage → ActiveTransactionsPage}/index.js +1 -1
  160. package/cjs/pages/MainPage/MainGasMessage.js +1 -1
  161. package/cjs/pages/MainPage/MainPage.js +7 -7
  162. package/cjs/pages/MainPage/ReviewButton.d.ts +2 -0
  163. package/cjs/pages/MainPage/ReviewButton.js +62 -0
  164. package/{components/SwapRoutes/SwapRoutes.d.ts → cjs/pages/RoutesPage/RoutesPage.d.ts} +1 -1
  165. package/cjs/pages/{SwapRoutesPage/SwapRoutesPage.js → RoutesPage/RoutesPage.js} +11 -11
  166. package/cjs/pages/RoutesPage/index.d.ts +1 -0
  167. package/cjs/{components/SwapInput → pages/RoutesPage}/index.js +1 -1
  168. package/cjs/pages/SelectChainPage/types.d.ts +2 -2
  169. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +1 -1
  170. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts +1 -1
  171. package/cjs/pages/SelectNativeTokenPage/SelectNativeTokenPage.d.ts +2 -2
  172. package/cjs/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +1 -1
  173. package/cjs/pages/SelectTokenPage/SearchTokenInput.js +3 -3
  174. package/cjs/pages/SelectTokenPage/SelectTokenPage.d.ts +2 -2
  175. package/cjs/pages/SelectTokenPage/types.js +1 -1
  176. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +2 -2
  177. package/cjs/pages/SettingsPage/EnabledToolsButton.style.d.ts +1 -1
  178. package/cjs/pages/SettingsPage/LanguageSelect.js +1 -1
  179. package/cjs/pages/SettingsPage/ResetSettingsButton.js +1 -1
  180. package/cjs/pages/SettingsPage/RoutePrioritySelect.js +1 -1
  181. package/cjs/pages/TransactionDetailsPage/TransactionDetailsPage.d.ts +2 -0
  182. package/cjs/pages/{SwapDetailsPage/SwapDetailsPage.js → TransactionDetailsPage/TransactionDetailsPage.js} +10 -9
  183. package/cjs/pages/TransactionDetailsPage/index.d.ts +1 -0
  184. package/cjs/pages/{SwapDetailsPage → TransactionDetailsPage}/index.js +1 -1
  185. package/cjs/pages/TransactionHistoryPage/TransactionHistoryEmpty.d.ts +2 -0
  186. package/cjs/pages/{SwapHistoryPage/SwapHistoryEmpty.js → TransactionHistoryPage/TransactionHistoryEmpty.js} +4 -4
  187. package/cjs/pages/{SwapHistoryPage/SwapHistoryItem.d.ts → TransactionHistoryPage/TransactionHistoryItem.d.ts} +1 -1
  188. package/cjs/pages/{SwapHistoryPage/SwapHistoryItem.js → TransactionHistoryPage/TransactionHistoryItem.js} +4 -4
  189. package/cjs/pages/TransactionHistoryPage/TransactionHistoryPage.d.ts +2 -0
  190. package/cjs/pages/TransactionHistoryPage/TransactionHistoryPage.js +35 -0
  191. package/cjs/pages/TransactionHistoryPage/index.d.ts +1 -0
  192. package/cjs/pages/TransactionHistoryPage/index.js +17 -0
  193. package/cjs/pages/{SwapPage → TransactionPage}/ExchangeRateBottomSheet.js +3 -3
  194. package/cjs/pages/TransactionPage/StartTransactionButton.d.ts +4 -0
  195. package/cjs/pages/TransactionPage/StartTransactionButton.js +21 -0
  196. package/cjs/pages/{SwapPage → TransactionPage}/StatusBottomSheet.js +27 -24
  197. package/cjs/pages/TransactionPage/TokenValueBottomSheet.js +38 -0
  198. package/cjs/pages/TransactionPage/TransactionPage.d.ts +2 -0
  199. package/cjs/pages/TransactionPage/TransactionPage.js +125 -0
  200. package/cjs/pages/TransactionPage/index.d.ts +1 -0
  201. package/cjs/pages/{SwapHistoryPage → TransactionPage}/index.js +1 -1
  202. package/cjs/pages/TransactionPage/types.d.ts +6 -0
  203. package/cjs/pages/TransactionPage/utils.d.ts +2 -0
  204. package/cjs/pages/TransactionPage/utils.js +10 -0
  205. package/cjs/providers/{SwapFormProvider/SwapFormProvider.d.ts → FormProvider/FormProvider.d.ts} +1 -1
  206. package/cjs/providers/{SwapFormProvider/SwapFormProvider.js → FormProvider/FormProvider.js} +11 -11
  207. package/cjs/providers/FormProvider/FormUpdater.d.ts +5 -0
  208. package/cjs/providers/{SwapFormProvider → FormProvider}/FormUpdater.js +14 -14
  209. package/cjs/providers/{SwapFormProvider → FormProvider}/URLSearchParamsBuilder.js +6 -6
  210. package/cjs/providers/{SwapFormProvider → FormProvider}/index.d.ts +1 -1
  211. package/cjs/providers/{SwapFormProvider → FormProvider}/index.js +1 -1
  212. package/cjs/providers/FormProvider/types.d.ts +37 -0
  213. package/cjs/providers/FormProvider/types.js +23 -0
  214. package/cjs/providers/WalletProvider/WalletProvider.js +5 -3
  215. package/cjs/providers/WalletProvider/types.d.ts +1 -1
  216. package/cjs/providers/WidgetProvider/WidgetProvider.js +1 -1
  217. package/cjs/providers/index.d.ts +1 -1
  218. package/cjs/providers/index.js +1 -1
  219. package/cjs/stores/routes/createRouteExecutionStore.js +1 -1
  220. package/cjs/stores/routes/index.d.ts +1 -1
  221. package/cjs/stores/routes/index.js +1 -1
  222. package/cjs/stores/routes/types.js +1 -1
  223. package/cjs/stores/routes/useTransactionHistory.d.ts +2 -0
  224. package/cjs/stores/routes/{useSwapHistory.js → useTransactionHistory.js} +3 -3
  225. package/cjs/types/events.d.ts +9 -1
  226. package/cjs/types/events.js +2 -1
  227. package/cjs/types/widget.d.ts +6 -4
  228. package/cjs/types/widget.js +3 -3
  229. package/cjs/utils/elements.js +1 -1
  230. package/cjs/utils/format.d.ts +1 -1
  231. package/cjs/utils/format.js +13 -15
  232. package/cjs/utils/navigationRoutes.d.ts +5 -5
  233. package/cjs/utils/navigationRoutes.js +15 -15
  234. package/components/{ActiveSwaps/ActiveSwapItem.d.ts → ActiveTransactions/ActiveTransactionItem.d.ts} +1 -1
  235. package/components/{ActiveSwaps/ActiveSwapItem.js → ActiveTransactions/ActiveTransactionItem.js} +3 -3
  236. package/components/ActiveTransactions/ActiveTransactions.d.ts +3 -0
  237. package/components/{ActiveSwaps/ActiveSwaps.js → ActiveTransactions/ActiveTransactions.js} +5 -5
  238. package/components/{ActiveSwaps/ActiveSwaps.style.d.ts → ActiveTransactions/ActiveTransactions.style.d.ts} +4 -4
  239. package/components/ActiveTransactions/index.d.ts +2 -0
  240. package/components/ActiveTransactions/index.js +2 -0
  241. package/components/AmountInput/AmountInput.d.ts +12 -0
  242. package/components/AmountInput/AmountInput.js +52 -0
  243. package/{cjs/components/SwapInput/SwapInput.style.d.ts → components/AmountInput/AmountInput.style.d.ts} +1 -1
  244. package/{cjs/components/SwapInput/SwapInputAdornment.style.d.ts → components/AmountInput/AmountInputAdornment.style.d.ts} +2 -2
  245. package/components/AmountInput/AmountInputEndAdornment.d.ts +2 -0
  246. package/components/{SwapInput/SwapInputEndAdornment.js → AmountInput/AmountInputEndAdornment.js} +7 -7
  247. package/components/AmountInput/AmountInputStartAdornment.d.ts +3 -0
  248. package/components/{SwapInput/SwapInputStartAdornment.js → AmountInput/AmountInputStartAdornment.js} +4 -4
  249. package/components/AmountInput/FormPriceHelperText.d.ts +9 -0
  250. package/components/{SwapInput → AmountInput}/FormPriceHelperText.js +14 -9
  251. package/components/AmountInput/index.d.ts +1 -0
  252. package/components/AmountInput/index.js +1 -0
  253. package/components/Card/CardIconButton.d.ts +2 -2
  254. package/components/Card/CardLabel.d.ts +1 -1
  255. package/components/ChainSelect/ChainSelect.d.ts +2 -2
  256. package/components/ChainSelect/ChainSelect.js +2 -2
  257. package/components/ChainSelect/useChainSelect.d.ts +2 -2
  258. package/components/ChainSelect/useChainSelect.js +6 -6
  259. package/components/ContractComponent/ContractComponent.d.ts +2 -2
  260. package/components/ContractComponent/ContractComponent.js +3 -5
  261. package/components/DefaultTransactionButton/DefaultTransactionButton.d.ts +3 -0
  262. package/components/DefaultTransactionButton/DefaultTransactionButton.js +32 -0
  263. package/components/DefaultTransactionButton/index.d.ts +2 -0
  264. package/components/DefaultTransactionButton/index.js +2 -0
  265. package/components/{SwapButton → DefaultTransactionButton}/types.d.ts +1 -2
  266. package/components/GasMessage/FundsSufficiencyMessage.js +1 -1
  267. package/components/GasMessage/GasRefuelMessage.js +1 -1
  268. package/components/GasMessage/GasSufficiencyMessage.js +2 -2
  269. package/components/Header/Header.style.d.ts +2 -2
  270. package/components/Header/NavigationHeader.js +19 -19
  271. package/components/Header/NavigationTabs.js +4 -4
  272. package/components/Header/NavigationTabs.style.js +3 -3
  273. package/components/Header/index.d.ts +1 -1
  274. package/components/Header/index.js +1 -1
  275. package/components/Header/types.d.ts +5 -2
  276. package/components/Header/useHeaderStore.d.ts +2 -0
  277. package/components/Header/useHeaderStore.js +25 -0
  278. package/components/Insurance/Insurance.js +2 -2
  279. package/components/Insurance/InsuranceCard.js +11 -8
  280. package/components/Insurance/InsuranceCollapsed.js +8 -4
  281. package/components/Insurance/index.d.ts +1 -0
  282. package/components/Insurance/index.js +1 -0
  283. package/components/Insurance/types.d.ts +11 -7
  284. package/components/ListItemButton.d.ts +1 -1
  285. package/components/NFT/NFT.d.ts +1 -2
  286. package/components/NFT/NFT.js +17 -15
  287. package/components/NFT/NFT.style.d.ts +1 -1
  288. package/components/NFT/NFTBase.d.ts +3 -0
  289. package/components/NFT/NFTBase.js +9 -0
  290. package/components/NFT/index.d.ts +1 -0
  291. package/components/NFT/index.js +1 -0
  292. package/components/NFT/types.d.ts +3 -1
  293. package/components/ProgressToNextUpdate/ProgressToNextUpdate.js +4 -4
  294. package/components/ReverseTokensButton/ReverseTokensButton.js +10 -10
  295. package/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +2 -2
  296. package/components/RouteCard/RouteCard.d.ts +4 -0
  297. package/components/{SwapRouteCard/SwapRouteCard.js → RouteCard/RouteCard.js} +15 -11
  298. package/components/RouteCard/RouteCardEssentials.d.ts +3 -0
  299. package/components/{SwapRouteCard/SwapRouteCardEssentials.js → RouteCard/RouteCardEssentials.js} +3 -3
  300. package/components/RouteCard/RouteCardSkeleton.d.ts +4 -0
  301. package/components/{SwapRouteCard/SwapRouteCardSkeleton.js → RouteCard/RouteCardSkeleton.js} +4 -4
  302. package/components/RouteCard/RouteNotFoundCard.d.ts +2 -0
  303. package/components/{SwapRouteCard/SwapRouteNotFoundCard.js → RouteCard/RouteNotFoundCard.js} +2 -2
  304. package/components/RouteCard/index.d.ts +3 -0
  305. package/components/RouteCard/index.js +3 -0
  306. package/components/{SwapRouteCard → RouteCard}/types.d.ts +3 -3
  307. package/{cjs/components/ActiveSwaps/ActiveSwaps.d.ts → components/Routes/Routes.d.ts} +1 -1
  308. package/components/Routes/Routes.js +33 -0
  309. package/components/Routes/RoutesExpanded.d.ts +2 -0
  310. package/components/{SwapRoutes/SwapRoutesExpanded.js → Routes/RoutesExpanded.js} +12 -10
  311. package/components/Routes/index.d.ts +2 -0
  312. package/components/Routes/index.js +2 -0
  313. package/components/SelectChainAndToken.js +8 -8
  314. package/components/SelectTokenButton/SelectTokenButton.d.ts +2 -2
  315. package/components/SelectTokenButton/SelectTokenButton.js +12 -12
  316. package/components/SendToWallet/SendToWallet.js +10 -11
  317. package/components/SendToWallet/SendToWallet.style.d.ts +1 -1
  318. package/components/SendToWallet/SendToWalletButton.js +3 -3
  319. package/components/SmallAvatar.d.ts +1 -1
  320. package/components/Step/DestinationWalletAddress.js +2 -2
  321. package/components/Step/GasStepProcess.js +1 -1
  322. package/components/Step/Step.js +13 -13
  323. package/components/Step/StepTimer.js +2 -2
  324. package/components/StepActions/StepActions.d.ts +3 -3
  325. package/components/StepActions/StepActions.js +20 -16
  326. package/components/StepActions/StepActions.style.d.ts +1 -1
  327. package/components/StepActions/types.d.ts +2 -2
  328. package/components/Token/Token.js +1 -1
  329. package/components/TokenList/TokenList.js +3 -3
  330. package/components/TokenList/TokenList.style.d.ts +4 -4
  331. package/components/TokenList/TokenList.style.js +11 -8
  332. package/components/TokenList/TokenListItem.js +7 -11
  333. package/components/TokenList/TokenNotFound.d.ts +2 -2
  334. package/components/TokenList/TokenNotFound.js +3 -3
  335. package/components/TokenList/VirtualizedTokenList.js +2 -2
  336. package/components/TokenList/types.d.ts +2 -2
  337. package/components/TokenList/useTokenSelect.d.ts +2 -2
  338. package/components/TokenList/useTokenSelect.js +12 -10
  339. package/config/theme.js +1 -2
  340. package/config/version.d.ts +1 -1
  341. package/config/version.js +1 -1
  342. package/hooks/index.d.ts +1 -1
  343. package/hooks/index.js +1 -1
  344. package/hooks/useChains.js +5 -5
  345. package/hooks/useFundsSufficiency.js +2 -6
  346. package/hooks/useGasRecommendation.d.ts +1 -1
  347. package/hooks/useGasRecommendation.js +5 -0
  348. package/hooks/useGasRefuel.js +5 -5
  349. package/hooks/useProcessMessage.d.ts +2 -2
  350. package/hooks/useProcessMessage.js +46 -46
  351. package/hooks/useRouteExecution.js +3 -4
  352. package/hooks/{useSwapRoutes.d.ts → useRoutes.d.ts} +2 -2
  353. package/hooks/{useSwapRoutes.js → useRoutes.js} +23 -23
  354. package/hooks/useTokenBalance.js +4 -5
  355. package/hooks/useTokenBalances.js +1 -5
  356. package/hooks/useTokens.js +21 -9
  357. package/i18n/bn.json +80 -80
  358. package/i18n/de.json +74 -74
  359. package/i18n/en.json +132 -131
  360. package/i18n/es.json +72 -72
  361. package/i18n/fr.json +102 -85
  362. package/i18n/id.json +102 -85
  363. package/i18n/it.json +112 -84
  364. package/i18n/ko.json +102 -85
  365. package/i18n/pt.json +89 -87
  366. package/i18n/th.json +102 -85
  367. package/i18n/tr.json +72 -72
  368. package/i18n/uk.json +98 -96
  369. package/i18n/vi.json +104 -79
  370. package/i18n/zh.json +104 -87
  371. package/index.d.ts +2 -0
  372. package/index.js +2 -0
  373. package/package.json +31 -17
  374. package/pages/ActiveTransactionsPage/ActiveTransactionsEmpty.d.ts +2 -0
  375. package/pages/{ActiveSwapsPage/ActiveSwapsEmpty.js → ActiveTransactionsPage/ActiveTransactionsEmpty.js} +2 -2
  376. package/pages/ActiveTransactionsPage/ActiveTransactionsPage.d.ts +1 -0
  377. package/pages/{ActiveSwapsPage/ActiveSwapsPage.js → ActiveTransactionsPage/ActiveTransactionsPage.js} +7 -7
  378. package/pages/ActiveTransactionsPage/index.d.ts +1 -0
  379. package/pages/ActiveTransactionsPage/index.js +1 -0
  380. package/pages/MainPage/MainGasMessage.js +2 -2
  381. package/pages/MainPage/MainPage.js +7 -7
  382. package/pages/MainPage/ReviewButton.d.ts +2 -0
  383. package/pages/MainPage/ReviewButton.js +58 -0
  384. package/{components/ActiveSwaps/ActiveSwaps.d.ts → pages/RoutesPage/RoutesPage.d.ts} +1 -1
  385. package/pages/{SwapRoutesPage/SwapRoutesPage.js → RoutesPage/RoutesPage.js} +11 -11
  386. package/pages/RoutesPage/index.d.ts +1 -0
  387. package/pages/RoutesPage/index.js +1 -0
  388. package/pages/SelectChainPage/types.d.ts +2 -2
  389. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +2 -2
  390. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts +1 -1
  391. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.d.ts +2 -2
  392. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +1 -1
  393. package/pages/SelectTokenPage/SearchTokenInput.js +4 -4
  394. package/pages/SelectTokenPage/SelectTokenPage.d.ts +2 -2
  395. package/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +2 -2
  396. package/pages/SettingsPage/EnabledToolsButton.style.d.ts +1 -1
  397. package/pages/SettingsPage/LanguageSelect.js +1 -1
  398. package/pages/SettingsPage/ResetSettingsButton.js +1 -1
  399. package/pages/SettingsPage/RoutePrioritySelect.js +1 -1
  400. package/pages/TransactionDetailsPage/TransactionDetailsPage.d.ts +2 -0
  401. package/pages/{SwapDetailsPage/SwapDetailsPage.js → TransactionDetailsPage/TransactionDetailsPage.js} +8 -7
  402. package/pages/TransactionDetailsPage/index.d.ts +1 -0
  403. package/pages/TransactionDetailsPage/index.js +1 -0
  404. package/pages/TransactionHistoryPage/TransactionHistoryEmpty.d.ts +2 -0
  405. package/pages/{SwapHistoryPage/SwapHistoryEmpty.js → TransactionHistoryPage/TransactionHistoryEmpty.js} +2 -2
  406. package/pages/{SwapHistoryPage/SwapHistoryItem.d.ts → TransactionHistoryPage/TransactionHistoryItem.d.ts} +1 -1
  407. package/pages/{SwapHistoryPage/SwapHistoryItem.js → TransactionHistoryPage/TransactionHistoryItem.js} +2 -2
  408. package/pages/TransactionHistoryPage/TransactionHistoryPage.d.ts +2 -0
  409. package/pages/TransactionHistoryPage/TransactionHistoryPage.js +31 -0
  410. package/pages/TransactionHistoryPage/index.d.ts +1 -0
  411. package/pages/TransactionHistoryPage/index.js +1 -0
  412. package/pages/{SwapPage → TransactionPage}/ExchangeRateBottomSheet.js +3 -3
  413. package/pages/TransactionPage/StartTransactionButton.d.ts +4 -0
  414. package/pages/TransactionPage/StartTransactionButton.js +16 -0
  415. package/pages/{SwapPage → TransactionPage}/StatusBottomSheet.js +28 -25
  416. package/pages/TransactionPage/TokenValueBottomSheet.js +34 -0
  417. package/pages/TransactionPage/TransactionPage.d.ts +2 -0
  418. package/pages/TransactionPage/TransactionPage.js +121 -0
  419. package/pages/TransactionPage/index.d.ts +1 -0
  420. package/pages/TransactionPage/index.js +1 -0
  421. package/pages/TransactionPage/types.d.ts +6 -0
  422. package/pages/TransactionPage/utils.d.ts +2 -0
  423. package/pages/TransactionPage/utils.js +6 -0
  424. package/providers/{SwapFormProvider/SwapFormProvider.d.ts → FormProvider/FormProvider.d.ts} +1 -1
  425. package/providers/{SwapFormProvider/SwapFormProvider.js → FormProvider/FormProvider.js} +12 -12
  426. package/providers/FormProvider/FormUpdater.d.ts +5 -0
  427. package/providers/{SwapFormProvider → FormProvider}/FormUpdater.js +14 -14
  428. package/providers/{SwapFormProvider → FormProvider}/URLSearchParamsBuilder.js +7 -7
  429. package/providers/{SwapFormProvider → FormProvider}/index.d.ts +1 -1
  430. package/providers/{SwapFormProvider → FormProvider}/index.js +1 -1
  431. package/providers/FormProvider/types.d.ts +37 -0
  432. package/providers/FormProvider/types.js +20 -0
  433. package/providers/WalletProvider/WalletProvider.js +5 -3
  434. package/providers/WalletProvider/types.d.ts +1 -1
  435. package/providers/WidgetProvider/WidgetProvider.js +2 -2
  436. package/providers/index.d.ts +1 -1
  437. package/providers/index.js +1 -1
  438. package/stores/routes/createRouteExecutionStore.js +1 -1
  439. package/stores/routes/index.d.ts +1 -1
  440. package/stores/routes/index.js +1 -1
  441. package/stores/routes/useTransactionHistory.d.ts +2 -0
  442. package/stores/routes/{useSwapHistory.js → useTransactionHistory.js} +1 -1
  443. package/tsconfig.cjs.tsbuildinfo +1 -1
  444. package/types/events.d.ts +9 -1
  445. package/types/events.js +1 -0
  446. package/types/widget.d.ts +6 -4
  447. package/utils/format.d.ts +1 -1
  448. package/utils/format.js +11 -13
  449. package/utils/navigationRoutes.d.ts +5 -5
  450. package/utils/navigationRoutes.js +15 -15
  451. package/cjs/components/ActiveSwaps/index.d.ts +0 -2
  452. package/cjs/components/Header/useHeaderActionStore.d.ts +0 -2
  453. package/cjs/components/SwapButton/SwapButton.d.ts +0 -3
  454. package/cjs/components/SwapButton/SwapButton.js +0 -56
  455. package/cjs/components/SwapButton/index.d.ts +0 -2
  456. package/cjs/components/SwapInput/FitInputText.d.ts +0 -3
  457. package/cjs/components/SwapInput/FitInputText.js +0 -19
  458. package/cjs/components/SwapInput/FormPriceHelperText.d.ts +0 -3
  459. package/cjs/components/SwapInput/SwapInput.d.ts +0 -4
  460. package/cjs/components/SwapInput/SwapInput.js +0 -41
  461. package/cjs/components/SwapInput/SwapInputEndAdornment.d.ts +0 -2
  462. package/cjs/components/SwapInput/SwapInputStartAdornment.d.ts +0 -3
  463. package/cjs/components/SwapInput/index.d.ts +0 -1
  464. package/cjs/components/SwapRouteCard/SwapRouteCard.d.ts +0 -4
  465. package/cjs/components/SwapRouteCard/SwapRouteCardEssentials.d.ts +0 -3
  466. package/cjs/components/SwapRouteCard/SwapRouteCardSkeleton.d.ts +0 -4
  467. package/cjs/components/SwapRouteCard/SwapRouteNotFoundCard.d.ts +0 -2
  468. package/cjs/components/SwapRouteCard/index.d.ts +0 -3
  469. package/cjs/components/SwapRouteCard/index.js +0 -19
  470. package/cjs/components/SwapRoutes/SwapRoutes.js +0 -37
  471. package/cjs/components/SwapRoutes/SwapRoutesExpanded.d.ts +0 -2
  472. package/cjs/components/SwapRoutes/SwapRoutesExpanded.js +0 -42
  473. package/cjs/components/SwapRoutes/index.d.ts +0 -2
  474. package/cjs/pages/ActiveSwapsPage/ActiveSwapsEmpty.d.ts +0 -2
  475. package/cjs/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +0 -1
  476. package/cjs/pages/ActiveSwapsPage/index.d.ts +0 -1
  477. package/cjs/pages/MainPage/MainSwapButton.d.ts +0 -2
  478. package/cjs/pages/MainPage/MainSwapButton.js +0 -27
  479. package/cjs/pages/SwapDetailsPage/SwapDetailsPage.d.ts +0 -2
  480. package/cjs/pages/SwapDetailsPage/index.d.ts +0 -1
  481. package/cjs/pages/SwapHistoryPage/SwapHistoryEmpty.d.ts +0 -2
  482. package/cjs/pages/SwapHistoryPage/SwapHistoryPage.d.ts +0 -2
  483. package/cjs/pages/SwapHistoryPage/SwapHistoryPage.js +0 -35
  484. package/cjs/pages/SwapHistoryPage/index.d.ts +0 -1
  485. package/cjs/pages/SwapPage/StartSwapButton.d.ts +0 -4
  486. package/cjs/pages/SwapPage/StartSwapButton.js +0 -21
  487. package/cjs/pages/SwapPage/SwapPage.d.ts +0 -2
  488. package/cjs/pages/SwapPage/SwapPage.js +0 -99
  489. package/cjs/pages/SwapPage/TokenValueBottomSheet.js +0 -43
  490. package/cjs/pages/SwapPage/index.d.ts +0 -1
  491. package/cjs/pages/SwapPage/types.d.ts +0 -9
  492. package/cjs/pages/SwapRoutesPage/index.d.ts +0 -1
  493. package/cjs/pages/SwapRoutesPage/index.js +0 -17
  494. package/cjs/providers/SwapFormProvider/FormUpdater.d.ts +0 -5
  495. package/cjs/providers/SwapFormProvider/types.d.ts +0 -37
  496. package/cjs/providers/SwapFormProvider/types.js +0 -23
  497. package/cjs/stores/routes/useSwapHistory.d.ts +0 -2
  498. package/components/ActiveSwaps/index.d.ts +0 -2
  499. package/components/ActiveSwaps/index.js +0 -2
  500. package/components/Header/useHeaderActionStore.d.ts +0 -2
  501. package/components/Header/useHeaderActionStore.js +0 -14
  502. package/components/SwapButton/SwapButton.d.ts +0 -3
  503. package/components/SwapButton/SwapButton.js +0 -52
  504. package/components/SwapButton/index.d.ts +0 -2
  505. package/components/SwapButton/index.js +0 -2
  506. package/components/SwapInput/FitInputText.d.ts +0 -3
  507. package/components/SwapInput/FitInputText.js +0 -16
  508. package/components/SwapInput/FormPriceHelperText.d.ts +0 -3
  509. package/components/SwapInput/SwapInput.d.ts +0 -4
  510. package/components/SwapInput/SwapInput.js +0 -37
  511. package/components/SwapInput/SwapInputEndAdornment.d.ts +0 -2
  512. package/components/SwapInput/SwapInputStartAdornment.d.ts +0 -3
  513. package/components/SwapInput/index.d.ts +0 -1
  514. package/components/SwapInput/index.js +0 -1
  515. package/components/SwapRouteCard/SwapRouteCard.d.ts +0 -4
  516. package/components/SwapRouteCard/SwapRouteCardEssentials.d.ts +0 -3
  517. package/components/SwapRouteCard/SwapRouteCardSkeleton.d.ts +0 -4
  518. package/components/SwapRouteCard/SwapRouteNotFoundCard.d.ts +0 -2
  519. package/components/SwapRouteCard/index.d.ts +0 -3
  520. package/components/SwapRouteCard/index.js +0 -3
  521. package/components/SwapRoutes/SwapRoutes.js +0 -33
  522. package/components/SwapRoutes/SwapRoutesExpanded.d.ts +0 -2
  523. package/components/SwapRoutes/index.d.ts +0 -2
  524. package/components/SwapRoutes/index.js +0 -2
  525. package/pages/ActiveSwapsPage/ActiveSwapsEmpty.d.ts +0 -2
  526. package/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +0 -1
  527. package/pages/ActiveSwapsPage/index.d.ts +0 -1
  528. package/pages/ActiveSwapsPage/index.js +0 -1
  529. package/pages/MainPage/MainSwapButton.d.ts +0 -2
  530. package/pages/MainPage/MainSwapButton.js +0 -23
  531. package/pages/SwapDetailsPage/SwapDetailsPage.d.ts +0 -2
  532. package/pages/SwapDetailsPage/index.d.ts +0 -1
  533. package/pages/SwapDetailsPage/index.js +0 -1
  534. package/pages/SwapHistoryPage/SwapHistoryEmpty.d.ts +0 -2
  535. package/pages/SwapHistoryPage/SwapHistoryPage.d.ts +0 -2
  536. package/pages/SwapHistoryPage/SwapHistoryPage.js +0 -31
  537. package/pages/SwapHistoryPage/index.d.ts +0 -1
  538. package/pages/SwapHistoryPage/index.js +0 -1
  539. package/pages/SwapPage/StartSwapButton.d.ts +0 -4
  540. package/pages/SwapPage/StartSwapButton.js +0 -16
  541. package/pages/SwapPage/SwapPage.d.ts +0 -2
  542. package/pages/SwapPage/SwapPage.js +0 -95
  543. package/pages/SwapPage/TokenValueBottomSheet.js +0 -39
  544. package/pages/SwapPage/index.d.ts +0 -1
  545. package/pages/SwapPage/index.js +0 -1
  546. package/pages/SwapPage/types.d.ts +0 -9
  547. package/pages/SwapRoutesPage/SwapRoutesPage.d.ts +0 -3
  548. package/pages/SwapRoutesPage/index.d.ts +0 -1
  549. package/pages/SwapRoutesPage/index.js +0 -1
  550. package/providers/SwapFormProvider/FormUpdater.d.ts +0 -5
  551. package/providers/SwapFormProvider/types.d.ts +0 -37
  552. package/providers/SwapFormProvider/types.js +0 -20
  553. package/stores/routes/useSwapHistory.d.ts +0 -2
  554. /package/cjs/components/{ActiveSwaps/ActiveSwaps.style.js → ActiveTransactions/ActiveTransactions.style.js} +0 -0
  555. /package/cjs/components/{SwapInput/SwapInput.style.js → AmountInput/AmountInput.style.js} +0 -0
  556. /package/cjs/components/{SwapInput/SwapInputAdornment.style.js → AmountInput/AmountInputAdornment.style.js} +0 -0
  557. /package/cjs/components/{SwapButton → DefaultTransactionButton}/types.js +0 -0
  558. /package/cjs/components/{SwapRouteCard/SwapRouteCard.style.d.ts → RouteCard/RouteCard.style.d.ts} +0 -0
  559. /package/cjs/components/{SwapRouteCard/SwapRouteCard.style.js → RouteCard/RouteCard.style.js} +0 -0
  560. /package/cjs/components/{SwapRouteCard → RouteCard}/types.js +0 -0
  561. /package/cjs/components/{SwapRouteCard → RouteCard}/utils.d.ts +0 -0
  562. /package/cjs/components/{SwapRouteCard → RouteCard}/utils.js +0 -0
  563. /package/cjs/components/{SwapRoutes/SwapRoutesExpanded.style.d.ts → Routes/RoutesExpanded.style.d.ts} +0 -0
  564. /package/cjs/components/{SwapRoutes/SwapRoutesExpanded.style.js → Routes/RoutesExpanded.style.js} +0 -0
  565. /package/cjs/pages/{SwapRoutesPage/SwapRoutesPage.style.d.ts → RoutesPage/RoutesPage.style.d.ts} +0 -0
  566. /package/cjs/pages/{SwapRoutesPage/SwapRoutesPage.style.js → RoutesPage/RoutesPage.style.js} +0 -0
  567. /package/cjs/pages/{SwapDetailsPage/SwapDetailsPage.style.d.ts → TransactionDetailsPage/TransactionDetailsPage.style.d.ts} +0 -0
  568. /package/cjs/pages/{SwapDetailsPage/SwapDetailsPage.style.js → TransactionDetailsPage/TransactionDetailsPage.style.js} +0 -0
  569. /package/cjs/pages/{SwapPage → TransactionPage}/ExchangeRateBottomSheet.d.ts +0 -0
  570. /package/cjs/pages/{SwapPage → TransactionPage}/StatusBottomSheet.d.ts +0 -0
  571. /package/cjs/pages/{SwapPage → TransactionPage}/StatusBottomSheet.style.d.ts +0 -0
  572. /package/cjs/pages/{SwapPage → TransactionPage}/StatusBottomSheet.style.js +0 -0
  573. /package/cjs/pages/{SwapPage → TransactionPage}/TokenValueBottomSheet.d.ts +0 -0
  574. /package/cjs/pages/{SwapPage/SwapPage.style.d.ts → TransactionPage/TransactionPage.style.d.ts} +0 -0
  575. /package/cjs/pages/{SwapPage/SwapPage.style.js → TransactionPage/TransactionPage.style.js} +0 -0
  576. /package/cjs/pages/{SwapPage → TransactionPage}/types.js +0 -0
  577. /package/cjs/providers/{SwapFormProvider → FormProvider}/URLSearchParamsBuilder.d.ts +0 -0
  578. /package/components/{ActiveSwaps/ActiveSwaps.style.js → ActiveTransactions/ActiveTransactions.style.js} +0 -0
  579. /package/components/{SwapInput/SwapInput.style.js → AmountInput/AmountInput.style.js} +0 -0
  580. /package/components/{SwapInput/SwapInputAdornment.style.js → AmountInput/AmountInputAdornment.style.js} +0 -0
  581. /package/components/{SwapButton → DefaultTransactionButton}/types.js +0 -0
  582. /package/components/{SwapRouteCard/SwapRouteCard.style.d.ts → RouteCard/RouteCard.style.d.ts} +0 -0
  583. /package/components/{SwapRouteCard/SwapRouteCard.style.js → RouteCard/RouteCard.style.js} +0 -0
  584. /package/components/{SwapRouteCard → RouteCard}/types.js +0 -0
  585. /package/components/{SwapRouteCard → RouteCard}/utils.d.ts +0 -0
  586. /package/components/{SwapRouteCard → RouteCard}/utils.js +0 -0
  587. /package/components/{SwapRoutes/SwapRoutesExpanded.style.d.ts → Routes/RoutesExpanded.style.d.ts} +0 -0
  588. /package/components/{SwapRoutes/SwapRoutesExpanded.style.js → Routes/RoutesExpanded.style.js} +0 -0
  589. /package/pages/{SwapRoutesPage/SwapRoutesPage.style.d.ts → RoutesPage/RoutesPage.style.d.ts} +0 -0
  590. /package/pages/{SwapRoutesPage/SwapRoutesPage.style.js → RoutesPage/RoutesPage.style.js} +0 -0
  591. /package/pages/{SwapDetailsPage/SwapDetailsPage.style.d.ts → TransactionDetailsPage/TransactionDetailsPage.style.d.ts} +0 -0
  592. /package/pages/{SwapDetailsPage/SwapDetailsPage.style.js → TransactionDetailsPage/TransactionDetailsPage.style.js} +0 -0
  593. /package/pages/{SwapPage → TransactionPage}/ExchangeRateBottomSheet.d.ts +0 -0
  594. /package/pages/{SwapPage → TransactionPage}/StatusBottomSheet.d.ts +0 -0
  595. /package/pages/{SwapPage → TransactionPage}/StatusBottomSheet.style.d.ts +0 -0
  596. /package/pages/{SwapPage → TransactionPage}/StatusBottomSheet.style.js +0 -0
  597. /package/pages/{SwapPage → TransactionPage}/TokenValueBottomSheet.d.ts +0 -0
  598. /package/pages/{SwapPage/SwapPage.style.d.ts → TransactionPage/TransactionPage.style.d.ts} +0 -0
  599. /package/pages/{SwapPage/SwapPage.style.js → TransactionPage/TransactionPage.style.js} +0 -0
  600. /package/pages/{SwapPage → TransactionPage}/types.js +0 -0
  601. /package/providers/{SwapFormProvider → FormProvider}/URLSearchParamsBuilder.d.ts +0 -0
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import DeleteIcon from '@mui/icons-material/DeleteOutline';
3
+ import { Button, Container, DialogActions, DialogContent, DialogContentText, DialogTitle, IconButton, Stack, } from '@mui/material';
4
+ import { useCallback, useEffect, useState } from 'react';
5
+ import { useTranslation } from 'react-i18next';
6
+ import { Dialog } from '../../components/Dialog';
7
+ import { useHeaderStore } from '../../components/Header';
8
+ import { useWallet } from '../../providers';
9
+ import { useRouteExecutionStore } from '../../stores';
10
+ import { useTransactionHistory } from '../../stores/routes';
11
+ import { TransactionHistoryEmpty } from './TransactionHistoryEmpty';
12
+ import { TransactionHistoryItem } from './TransactionHistoryItem';
13
+ export const TransactionHistoryPage = () => {
14
+ const { t } = useTranslation();
15
+ const { account } = useWallet();
16
+ const transactions = useTransactionHistory(account.address);
17
+ const deleteRoutes = useRouteExecutionStore((store) => store.deleteRoutes);
18
+ const [open, setOpen] = useState(false);
19
+ const toggleDialog = useCallback(() => {
20
+ setOpen((open) => !open);
21
+ }, []);
22
+ useEffect(() => {
23
+ if (transactions.length) {
24
+ return useHeaderStore.getState().setAction(_jsx(IconButton, { size: "medium", edge: "end", onClick: toggleDialog, children: _jsx(DeleteIcon, {}) }));
25
+ }
26
+ }, [transactions.length, toggleDialog]);
27
+ if (!transactions.length) {
28
+ return _jsx(TransactionHistoryEmpty, {});
29
+ }
30
+ return (_jsxs(Container, { children: [_jsx(Stack, { spacing: 2, mt: 1, children: transactions.length ? (transactions.map(({ route }) => (_jsx(TransactionHistoryItem, { route: route }, route.id)))) : (_jsx(TransactionHistoryEmpty, {})) }), _jsxs(Dialog, { open: open, onClose: toggleDialog, children: [_jsx(DialogTitle, { children: t('warning.title.deleteTransactionHistory') }), _jsx(DialogContent, { children: _jsx(DialogContentText, { children: t('warning.message.deleteTransactionHistory') }) }), _jsxs(DialogActions, { children: [_jsx(Button, { onClick: toggleDialog, children: t('button.cancel') }), _jsx(Button, { variant: "contained", onClick: () => deleteRoutes('completed'), autoFocus: true, children: t('button.delete') })] })] })] }));
31
+ };
@@ -0,0 +1 @@
1
+ export * from './TransactionHistoryPage';
@@ -0,0 +1 @@
1
+ export * from './TransactionHistoryPage';
@@ -44,11 +44,11 @@ const ExchangeRateBottomSheetContent = ({ data, onCancel, onContinue }) => {
44
44
  const { t } = useTranslation();
45
45
  const ref = useRef();
46
46
  useSetContentHeight(ref);
47
- return (_jsxs(Box, { p: 3, ref: ref, children: [_jsxs(CenterContainer, { children: [_jsx(IconCircle, { status: "warning", mb: 1, children: _jsx(WarningRoundedIcon, { color: "warning" }) }), _jsx(Typography, { py: 1, fontSize: 18, fontWeight: 700, children: t('swap.warning.title.rateChanged') })] }), _jsx(Typography, { py: 1, children: t('swap.warning.message.rateChanged') }), _jsxs(Box, { display: "flex", justifyContent: "space-between", mt: 1, children: [_jsx(Typography, { children: t('swap.quotedAmount') }), _jsxs(Typography, { fontWeight: 600, children: [t('format.number', {
47
+ return (_jsxs(Box, { p: 3, ref: ref, children: [_jsxs(CenterContainer, { children: [_jsx(IconCircle, { status: "warning", mb: 1, children: _jsx(WarningRoundedIcon, { color: "warning" }) }), _jsx(Typography, { py: 1, fontSize: 18, fontWeight: 700, children: t('warning.title.rateChanged') })] }), _jsx(Typography, { py: 1, children: t('warning.message.rateChanged') }), _jsxs(Box, { display: "flex", justifyContent: "space-between", mt: 1, children: [_jsx(Typography, { children: t('main.quotedAmount') }), _jsxs(Typography, { fontWeight: 600, children: [t('format.number', {
48
48
  value: formatTokenAmount(data?.oldToAmount, data?.toToken.decimals, 5),
49
- }), ' ', data?.toToken.symbol] })] }), _jsxs(Box, { display: "flex", justifyContent: "space-between", mt: 0.25, children: [_jsx(Typography, { children: t('swap.currentAmount') }), _jsxs(Typography, { fontWeight: 600, children: [t('format.number', {
49
+ }), ' ', data?.toToken.symbol] })] }), _jsxs(Box, { display: "flex", justifyContent: "space-between", mt: 0.25, children: [_jsx(Typography, { children: t('main.currentAmount') }), _jsxs(Typography, { fontWeight: 600, children: [t('format.number', {
50
50
  value: formatTokenAmount(data?.newToAmount, data?.toToken.decimals, 5),
51
- }), ' ', data?.toToken.symbol] })] }), _jsxs(Box, { display: "flex", justifyContent: "space-between", mt: 0.25, children: [_jsx(Typography, { children: t('swap.rateChange') }), _jsxs(Typography, { fontWeight: 600, children: [Big(data?.newToAmount || 0)
51
+ }), ' ', data?.toToken.symbol] })] }), _jsxs(Box, { display: "flex", justifyContent: "space-between", mt: 0.25, children: [_jsx(Typography, { children: t('main.rateChange') }), _jsxs(Typography, { fontWeight: 600, children: [Big(data?.newToAmount || 0)
52
52
  .div(Big(data?.oldToAmount || 0))
53
53
  .minus(1)
54
54
  .mul(100)
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import type { StartTransactionButtonProps } from './types';
3
+ export declare const StartTransactionButton: React.FC<StartTransactionButtonProps>;
4
+ export declare const StartInsurableTransactionButton: React.FC<StartTransactionButtonProps>;
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DefaultTransactionButton } from '../../components/DefaultTransactionButton';
3
+ import { useFundsSufficiency, useGasSufficiency, useRoutes } from '../../hooks';
4
+ import { useRouteExecutionStore } from '../../stores';
5
+ export const StartTransactionButton = ({ onClick, route, text, loading, }) => {
6
+ const { insufficientGas, isInitialLoading: isGasSufficiencyLoading } = useGasSufficiency(route);
7
+ const { insufficientFunds, isInitialLoading: isFundsSufficiencyLoading } = useFundsSufficiency(route);
8
+ return (_jsx(DefaultTransactionButton, { onClick: onClick, text: text, disabled: insufficientFunds || !!insufficientGas?.length, loading: isFundsSufficiencyLoading || isGasSufficiencyLoading || loading }));
9
+ };
10
+ export const StartInsurableTransactionButton = ({ onClick, text, route, loading, disabled, insurableRouteId }) => {
11
+ const routeExecution = useRouteExecutionStore((state) => state.routes[insurableRouteId]);
12
+ const { isFetching } = useRoutes({
13
+ insurableRoute: routeExecution?.route,
14
+ });
15
+ return (_jsx(StartTransactionButton, { onClick: onClick, text: text, route: route, disabled: disabled, loading: loading || isFetching, insurableRouteId: insurableRouteId }));
16
+ };
@@ -10,7 +10,7 @@ import { useTranslation } from 'react-i18next';
10
10
  import { BottomSheet } from '../../components/BottomSheet';
11
11
  import { Token } from '../../components/Token';
12
12
  import { getProcessMessage, useChains, useNavigateBack, useTokenBalance, } from '../../hooks';
13
- import { SwapFormKey, useWidgetConfig } from '../../providers';
13
+ import { FormKey, useWidgetConfig } from '../../providers';
14
14
  import { RouteExecutionStatus } from '../../stores';
15
15
  import { formatTokenAmount, hasEnumFlag, navigationRoutes, shortenAddress, } from '../../utils';
16
16
  import { CenterContainer, IconCircle } from './StatusBottomSheet.style';
@@ -20,7 +20,7 @@ export const StatusBottomSheet = ({ status, route, }) => {
20
20
  const ref = useRef(null);
21
21
  const { getChainById } = useChains();
22
22
  const { setValue } = useFormContext();
23
- const { variant, contractComponent, contractCompactComponent } = useWidgetConfig();
23
+ const { subvariant, contractComponent, contractSecondaryComponent, contractCompactComponent, } = useWidgetConfig();
24
24
  const toToken = {
25
25
  ...(route.steps.at(-1)?.execution?.toToken ?? route.toToken),
26
26
  amount: route.steps.at(-1)?.execution?.toAmount ??
@@ -30,8 +30,8 @@ export const StatusBottomSheet = ({ status, route, }) => {
30
30
  const { token, refetch, refetchNewBalance, refetchAllBalances } = useTokenBalance(toToken, route.toAddress);
31
31
  const clearFromAmount = () => {
32
32
  refetchAllBalances();
33
- setValue(SwapFormKey.FromAmount, '');
34
- setValue(SwapFormKey.ToAmount, '');
33
+ setValue(FormKey.FromAmount, '');
34
+ setValue(FormKey.ToAmount, '');
35
35
  };
36
36
  const handleDone = () => {
37
37
  clearFromAmount();
@@ -41,13 +41,13 @@ export const StatusBottomSheet = ({ status, route, }) => {
41
41
  clearFromAmount();
42
42
  if (toToken.chainId !== route.toToken.chainId &&
43
43
  toToken.address !== route.toToken.address) {
44
- setValue(SwapFormKey.FromAmount, formatTokenAmount(toToken.amount, toToken.decimals), { shouldTouch: true });
45
- setValue(SwapFormKey.FromChain, toToken.chainId, { shouldTouch: true });
46
- setValue(SwapFormKey.FromToken, toToken.address, { shouldTouch: true });
47
- setValue(SwapFormKey.ToChain, route.toToken.chainId, {
44
+ setValue(FormKey.FromAmount, formatTokenAmount(toToken.amount, toToken.decimals), { shouldTouch: true });
45
+ setValue(FormKey.FromChain, toToken.chainId, { shouldTouch: true });
46
+ setValue(FormKey.FromToken, toToken.address, { shouldTouch: true });
47
+ setValue(FormKey.ToChain, route.toToken.chainId, {
48
48
  shouldTouch: true,
49
49
  });
50
- setValue(SwapFormKey.ToToken, route.toToken.address, {
50
+ setValue(FormKey.ToToken, route.toToken.address, {
51
51
  shouldTouch: true,
52
52
  });
53
53
  }
@@ -59,11 +59,12 @@ export const StatusBottomSheet = ({ status, route, }) => {
59
59
  };
60
60
  const handleSeeDetails = () => {
61
61
  handleClose();
62
- navigate(navigationRoutes.swapDetails, {
62
+ navigate(navigationRoutes.transactionDetails, {
63
63
  state: { routeId: route.id },
64
64
  replace: true,
65
65
  });
66
66
  };
67
+ const transactionType = route.fromChainId === route.toChainId ? 'swap' : 'bridge';
67
68
  let title;
68
69
  let primaryMessage;
69
70
  let secondaryMessage;
@@ -71,12 +72,12 @@ export const StatusBottomSheet = ({ status, route, }) => {
71
72
  switch (status) {
72
73
  case RouteExecutionStatus.Done: {
73
74
  title =
74
- variant === 'nft'
75
- ? t('swap.success.title.purchaseSuccessful')
76
- : t('swap.success.title.swapSuccessful');
75
+ subvariant === 'nft'
76
+ ? t('success.title.purchaseSuccessful')
77
+ : t(`success.title.${transactionType}Successful`);
77
78
  if (token) {
78
- primaryMessage = t('swap.success.message.swapSuccessful', {
79
- amount: token.amount,
79
+ primaryMessage = t('success.message.exchangeSuccessful', {
80
+ amount: formatTokenAmount(token.amount),
80
81
  tokenSymbol: token.symbol,
81
82
  chainName: getChainById(token.chainId)?.name,
82
83
  walletAddress: shortenAddress(route.toAddress),
@@ -86,14 +87,14 @@ export const StatusBottomSheet = ({ status, route, }) => {
86
87
  break;
87
88
  }
88
89
  case RouteExecutionStatus.Done | RouteExecutionStatus.Partial: {
89
- title = t('swap.success.title.swapPartiallySuccessful');
90
- primaryMessage = t('swap.success.message.swapPartiallySuccessful', {
90
+ title = t(`success.title.${transactionType}PartiallySuccessful`);
91
+ primaryMessage = t('success.message.exchangePartiallySuccessful', {
91
92
  tool: route.steps.at(-1)?.toolDetails.name,
92
93
  tokenSymbol: route.steps.at(-1)?.action.toToken.symbol,
93
94
  });
94
95
  if (token) {
95
- secondaryMessage = t('swap.success.message.swapSuccessful', {
96
- amount: token.amount,
96
+ secondaryMessage = t('success.message.exchangeSuccessful', {
97
+ amount: formatTokenAmount(token.amount),
97
98
  tokenSymbol: token.symbol,
98
99
  chainName: getChainById(token.chainId)?.name,
99
100
  walletAddress: shortenAddress(route.toAddress),
@@ -103,14 +104,14 @@ export const StatusBottomSheet = ({ status, route, }) => {
103
104
  break;
104
105
  }
105
106
  case RouteExecutionStatus.Done | RouteExecutionStatus.Refunded: {
106
- title = t('swap.success.title.refundIssued');
107
- primaryMessage = t('swap.success.message.swapPartiallySuccessful', {
107
+ title = t('success.title.refundIssued');
108
+ primaryMessage = t('success.message.exchangePartiallySuccessful', {
108
109
  tool: route.steps.at(-1)?.toolDetails.name,
109
110
  tokenSymbol: route.steps.at(-1)?.action.toToken.symbol,
110
111
  });
111
112
  if (token) {
112
- secondaryMessage = t('swap.success.message.swapSuccessful', {
113
- amount: token.amount,
113
+ secondaryMessage = t('success.message.exchangeSuccessful', {
114
+ amount: formatTokenAmount(token.amount),
114
115
  tokenSymbol: token.symbol,
115
116
  chainName: getChainById(token.chainId)?.name,
116
117
  walletAddress: shortenAddress(route.toAddress),
@@ -144,9 +145,11 @@ export const StatusBottomSheet = ({ status, route, }) => {
144
145
  ref.current?.open();
145
146
  }
146
147
  }, [refetch, refetchNewBalance, status]);
147
- const showContractComponent = variant === 'nft' && hasEnumFlag(status, RouteExecutionStatus.Done);
148
+ const showContractComponent = subvariant === 'nft' && hasEnumFlag(status, RouteExecutionStatus.Done);
148
149
  return (_jsx(BottomSheet, { ref: ref, children: _jsxs(Box, { p: 3, children: [!showContractComponent ? (_jsx(CenterContainer, { children: _jsxs(IconCircle, { status: status, mb: 1, children: [status === RouteExecutionStatus.Idle ? (_jsx(InfoRoundedIcon, { color: "primary" })) : null, status === RouteExecutionStatus.Done ? (_jsx(DoneIcon, { color: "success" })) : null, hasEnumFlag(status, RouteExecutionStatus.Partial) ||
149
- hasEnumFlag(status, RouteExecutionStatus.Refunded) ? (_jsx(WarningRoundedIcon, { color: "warning" })) : null, hasEnumFlag(status, RouteExecutionStatus.Failed) ? (_jsx(ErrorRoundedIcon, { color: "error" })) : null] }) })) : null, _jsx(CenterContainer, { children: _jsx(Typography, { py: 1, fontSize: 18, fontWeight: 700, children: title }) }), showContractComponent ? (contractCompactComponent || contractComponent) : (_jsx(CenterContainer, { children: hasEnumFlag(status, RouteExecutionStatus.Done) ? (_jsx(Token, { token: toToken, py: 1, disableDescription: true })) : null })), !showContractComponent ? (_jsx(Typography, { py: 1, children: primaryMessage })) : null, secondaryMessage ? (_jsx(Typography, { py: 1, children: secondaryMessage })) : null, _jsx(Box, { mt: 2, children: _jsxs(Button, { variant: "contained", fullWidth: true, onClick: handlePrimaryButton, children: [status === RouteExecutionStatus.Idle ? t('button.ok') : null, hasEnumFlag(status, RouteExecutionStatus.Done)
150
+ hasEnumFlag(status, RouteExecutionStatus.Refunded) ? (_jsx(WarningRoundedIcon, { color: "warning" })) : null, hasEnumFlag(status, RouteExecutionStatus.Failed) ? (_jsx(ErrorRoundedIcon, { color: "error" })) : null] }) })) : null, _jsx(CenterContainer, { children: _jsx(Typography, { py: 1, fontSize: 18, fontWeight: 700, children: title }) }), showContractComponent ? (contractCompactComponent ||
151
+ contractSecondaryComponent ||
152
+ contractComponent) : (_jsx(CenterContainer, { children: hasEnumFlag(status, RouteExecutionStatus.Done) ? (_jsx(Token, { token: toToken, py: 1, disableDescription: true })) : null })), !showContractComponent ? (_jsx(Typography, { py: 1, children: primaryMessage })) : null, secondaryMessage ? (_jsx(Typography, { py: 1, children: secondaryMessage })) : null, _jsx(Box, { mt: 2, children: _jsxs(Button, { variant: "contained", fullWidth: true, onClick: handlePrimaryButton, children: [status === RouteExecutionStatus.Idle ? t('button.ok') : null, hasEnumFlag(status, RouteExecutionStatus.Done)
150
153
  ? t('button.done')
151
154
  : null, status === RouteExecutionStatus.Failed
152
155
  ? t('button.seeDetails')
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import WarningRoundedIcon from '@mui/icons-material/WarningRounded';
3
+ import { Box, Button, Typography } from '@mui/material';
4
+ import { forwardRef, useRef } from 'react';
5
+ import { useTranslation } from 'react-i18next';
6
+ import { BottomSheet } from '../../components/BottomSheet';
7
+ import { useSetContentHeight } from '../../hooks';
8
+ import { CenterContainer, IconCircle } from './StatusBottomSheet.style';
9
+ import { calcValueLoss } from './utils';
10
+ export const TokenValueBottomSheet = forwardRef(({ route, onContinue, onCancel }, ref) => {
11
+ const handleCancel = () => {
12
+ ref.current?.close();
13
+ onCancel?.();
14
+ };
15
+ return (_jsx(BottomSheet, { ref: ref, onClose: onCancel, children: _jsx(TokenValueBottomSheetContent, { route: route, onContinue: onContinue, onCancel: handleCancel }) }));
16
+ });
17
+ const TokenValueBottomSheetContent = ({ route, onCancel, onContinue, }) => {
18
+ const { t } = useTranslation();
19
+ const ref = useRef();
20
+ useSetContentHeight(ref);
21
+ return (_jsxs(Box, { p: 3, ref: ref, children: [_jsxs(CenterContainer, { children: [_jsx(IconCircle, { status: "warning", mb: 1, children: _jsx(WarningRoundedIcon, { color: "warning" }) }), _jsx(Typography, { py: 1, fontSize: 18, fontWeight: 700, children: t('warning.title.highValueLoss') })] }), _jsx(Typography, { py: 1, children: t('warning.message.highValueLoss') }), _jsxs(Box, { display: "flex", justifyContent: "space-between", mt: 1, children: [_jsx(Typography, { children: t('main.sending') }), _jsx(Typography, { fontWeight: 600, children: t('format.currency', { value: route.fromAmountUSD }) })] }), _jsxs(Box, { display: "flex", justifyContent: "space-between", mt: 0.25, children: [_jsx(Typography, { children: t('main.gasCost') }), _jsx(Typography, { fontWeight: 600, children: t('format.currency', { value: route.gasCostUSD }) })] }), _jsxs(Box, { display: "flex", justifyContent: "space-between", mt: 0.25, children: [_jsx(Typography, { children: t('main.receiving') }), _jsx(Typography, { fontWeight: 600, children: t('format.currency', { value: route.toAmountUSD }) })] }), _jsxs(Box, { display: "flex", justifyContent: "space-between", mt: 0.25, children: [_jsx(Typography, { children: t('main.valueLoss') }), _jsx(Typography, { fontWeight: 600, children: calcValueLoss(route) })] }), _jsxs(Box, { display: "flex", mt: 3, children: [_jsx(Button, { variant: "text", onClick: onCancel, fullWidth: true, children: t('button.cancel') }), _jsx(Box, { display: "flex", p: 1 }), _jsx(Button, { variant: "contained", onClick: onContinue, fullWidth: true, children: t('button.continue') })] })] }));
22
+ };
23
+ export const getTokenValueLossThreshold = (route) => {
24
+ if (!route) {
25
+ return false;
26
+ }
27
+ const fromAmountUSD = Number(route.fromAmountUSD || 0);
28
+ const toAmountUSD = Number(route.toAmountUSD || 0);
29
+ const gasCostUSD = Number(route.gasCostUSD || 0);
30
+ if (!fromAmountUSD && !toAmountUSD) {
31
+ return false;
32
+ }
33
+ return toAmountUSD / (fromAmountUSD + gasCostUSD) < 0.9;
34
+ };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const TransactionPage: React.FC;
@@ -0,0 +1,121 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import DeleteIcon from '@mui/icons-material/Delete';
3
+ import { Box, Button, Tooltip } from '@mui/material';
4
+ import { useEffect, useRef, useState } from 'react';
5
+ import { useFormContext } from 'react-hook-form';
6
+ import { useTranslation } from 'react-i18next';
7
+ import { useLocation } from 'react-router-dom';
8
+ import { ContractComponent } from '../../components/ContractComponent';
9
+ import { GasMessage } from '../../components/GasMessage';
10
+ import { useHeaderStore } from '../../components/Header';
11
+ import { Insurance } from '../../components/Insurance';
12
+ import { getStepList } from '../../components/Step';
13
+ import { useNavigateBack, useRouteExecution, useWidgetEvents, } from '../../hooks';
14
+ import { FormKey, useWidgetConfig } from '../../providers';
15
+ import { RouteExecutionStatus } from '../../stores';
16
+ import { WidgetEvent } from '../../types/events';
17
+ import { formatTokenAmount } from '../../utils';
18
+ import { ExchangeRateBottomSheet } from './ExchangeRateBottomSheet';
19
+ import { StartInsurableTransactionButton, StartTransactionButton, } from './StartTransactionButton';
20
+ import { StatusBottomSheet } from './StatusBottomSheet';
21
+ import { TokenValueBottomSheet, getTokenValueLossThreshold, } from './TokenValueBottomSheet';
22
+ import { Container } from './TransactionPage.style';
23
+ import { calcValueLoss } from './utils';
24
+ export const TransactionPage = () => {
25
+ const { t } = useTranslation();
26
+ const { setValue } = useFormContext();
27
+ const emitter = useWidgetEvents();
28
+ const { navigateBack } = useNavigateBack();
29
+ const { subvariant, insurance, contractComponent, contractSecondaryComponent, } = useWidgetConfig();
30
+ const { state } = useLocation();
31
+ const stateRouteId = state?.routeId;
32
+ const [routeId, setRouteId] = useState(stateRouteId);
33
+ const tokenValueBottomSheetRef = useRef(null);
34
+ const exchangeRateBottomSheetRef = useRef(null);
35
+ const onAcceptExchangeRateUpdate = (resolver, data) => {
36
+ exchangeRateBottomSheetRef.current?.open(resolver, data);
37
+ };
38
+ const { route, status, executeRoute, restartRoute, deleteRoute } = useRouteExecution({
39
+ routeId: routeId,
40
+ onAcceptExchangeRateUpdate,
41
+ });
42
+ useEffect(() => {
43
+ if (route && subvariant !== 'nft') {
44
+ const transactionType = route.fromChainId === route.toChainId ? 'Swap' : 'Bridge';
45
+ return useHeaderStore
46
+ .getState()
47
+ .setTitle(status === RouteExecutionStatus.Idle
48
+ ? t(`button.review${transactionType}`)
49
+ : t(`header.${transactionType.toLowerCase()}`));
50
+ }
51
+ }, [route, status, subvariant, t]);
52
+ if (!route) {
53
+ return null;
54
+ }
55
+ const tokenValueLossThresholdExceeded = getTokenValueLossThreshold(route);
56
+ const handleExecuteRoute = () => {
57
+ if (tokenValueBottomSheetRef.current?.isOpen()) {
58
+ emitter.emit(WidgetEvent.RouteHighValueLoss, {
59
+ fromAmountUsd: route.fromAmountUSD,
60
+ gasCostUSD: route.gasCostUSD,
61
+ toAmountUSD: route.toAmountUSD,
62
+ valueLoss: calcValueLoss(route),
63
+ });
64
+ }
65
+ tokenValueBottomSheetRef.current?.close();
66
+ executeRoute();
67
+ setValue(FormKey.FromAmount, '');
68
+ };
69
+ const handleStartClick = async () => {
70
+ if (status === RouteExecutionStatus.Idle) {
71
+ if (tokenValueLossThresholdExceeded && subvariant !== 'nft') {
72
+ tokenValueBottomSheetRef.current?.open();
73
+ }
74
+ else {
75
+ handleExecuteRoute();
76
+ }
77
+ }
78
+ if (status === RouteExecutionStatus.Failed) {
79
+ restartRoute();
80
+ }
81
+ };
82
+ const handleRemoveRoute = () => {
83
+ navigateBack();
84
+ deleteRoute();
85
+ };
86
+ const getButtonText = () => {
87
+ switch (status) {
88
+ case RouteExecutionStatus.Idle:
89
+ switch (subvariant) {
90
+ case 'nft':
91
+ return t('button.buyNow');
92
+ case 'refuel':
93
+ return t('button.startBridging');
94
+ default:
95
+ const transactionType = route.fromChainId === route.toChainId ? 'Swapping' : 'Bridging';
96
+ return t(`button.start${transactionType}`);
97
+ }
98
+ case RouteExecutionStatus.Failed:
99
+ return t('button.tryAgain');
100
+ default:
101
+ return '';
102
+ }
103
+ };
104
+ const insuredRoute = route.insurance?.state === 'INSURED';
105
+ const insurableRoute = insurance &&
106
+ subvariant !== 'refuel' &&
107
+ status === RouteExecutionStatus.Idle &&
108
+ route.insurance?.state === 'INSURABLE';
109
+ const insuranceAvailable = insuredRoute || insurableRoute;
110
+ const StartButton = insurableRoute
111
+ ? StartInsurableTransactionButton
112
+ : StartTransactionButton;
113
+ const getInsuranceCoverageId = () => route.steps[0].execution?.process
114
+ .filter((process) => process.type !== 'TOKEN_ALLOWANCE')
115
+ .find((process) => process.txHash)?.txHash ?? route.fromAddress;
116
+ return (_jsxs(Container, { children: [getStepList(route), subvariant === 'nft' ? (_jsx(ContractComponent, { mt: 2, children: contractSecondaryComponent || contractComponent })) : null, insuranceAvailable ? (_jsx(Insurance, { mt: 2, status: status, insurableRouteId: stateRouteId, feeAmountUsd: route.insurance.feeAmountUsd, insuredAmount: formatTokenAmount(route.toAmountMin, route.toToken.decimals), insuredTokenSymbol: route.toToken.symbol, insuranceCoverageId: getInsuranceCoverageId(), onChange: setRouteId })) : null, status === RouteExecutionStatus.Idle ||
117
+ status === RouteExecutionStatus.Failed ? (_jsxs(_Fragment, { children: [_jsx(GasMessage, { mt: 2, route: route }), _jsxs(Box, { mt: 2, display: "flex", children: [_jsx(StartButton, { text: getButtonText(), onClick: handleStartClick, route: route, insurableRouteId: stateRouteId }), status === RouteExecutionStatus.Failed ? (_jsx(Tooltip, { title: t('button.removeTransaction'), placement: "bottom-end", enterDelay: 400, arrow: true, children: _jsx(Button, { onClick: handleRemoveRoute, sx: {
118
+ minWidth: 48,
119
+ marginLeft: 1,
120
+ }, children: _jsx(DeleteIcon, {}) }) })) : null] })] })) : null, status ? _jsx(StatusBottomSheet, { status: status, route: route }) : null, tokenValueLossThresholdExceeded && subvariant !== 'nft' ? (_jsx(TokenValueBottomSheet, { route: route, ref: tokenValueBottomSheetRef, onContinue: handleExecuteRoute })) : null, _jsx(ExchangeRateBottomSheet, { ref: exchangeRateBottomSheetRef })] }));
121
+ };
@@ -0,0 +1 @@
1
+ export * from './TransactionPage';
@@ -0,0 +1 @@
1
+ export * from './TransactionPage';
@@ -0,0 +1,6 @@
1
+ import type { Route } from '@lifi/sdk';
2
+ import type { DefaultTransactionButtonProps } from '../../components/DefaultTransactionButton';
3
+ export interface StartTransactionButtonProps extends DefaultTransactionButtonProps {
4
+ route?: Route;
5
+ insurableRouteId: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ import type { Route } from '@lifi/sdk';
2
+ export declare const calcValueLoss: (route: Route) => string;
@@ -0,0 +1,6 @@
1
+ export const calcValueLoss = (route) => {
2
+ return `${((Number(route.toAmountUSD || 0) /
3
+ (Number(route.fromAmountUSD || 0) + Number(route.gasCostUSD || 0)) -
4
+ 1) *
5
+ 100).toFixed(2)}%`;
6
+ };
@@ -9,4 +9,4 @@ export declare const formDefaultValues: {
9
9
  ToContractGasLimit: string;
10
10
  toAmount: string;
11
11
  };
12
- export declare const SwapFormProvider: React.FC<React.PropsWithChildren<{}>>;
12
+ export declare const FormProvider: React.FC<React.PropsWithChildren<{}>>;
@@ -1,20 +1,20 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useMemo } from 'react';
3
- import { FormProvider, useForm } from 'react-hook-form';
3
+ import { FormProvider as ReactHookFormProvider, useForm, } from 'react-hook-form';
4
4
  import { useWidgetConfig } from '../WidgetProvider';
5
5
  import { FormUpdater } from './FormUpdater';
6
- import { SwapFormKey } from './types';
6
+ import { FormKey } from './types';
7
7
  export const formDefaultValues = {
8
- [SwapFormKey.FromAmount]: '',
9
- [SwapFormKey.ToAddress]: '',
10
- [SwapFormKey.TokenSearchFilter]: '',
11
- [SwapFormKey.ContractOutputsToken]: '',
12
- [SwapFormKey.ToContractAddress]: '',
13
- [SwapFormKey.ToContractCallData]: '',
14
- [SwapFormKey.ToContractGasLimit]: '',
15
- [SwapFormKey.ToAmount]: '',
8
+ [FormKey.FromAmount]: '',
9
+ [FormKey.ToAddress]: '',
10
+ [FormKey.TokenSearchFilter]: '',
11
+ [FormKey.ContractOutputsToken]: '',
12
+ [FormKey.ToContractAddress]: '',
13
+ [FormKey.ToContractCallData]: '',
14
+ [FormKey.ToContractGasLimit]: '',
15
+ [FormKey.ToAmount]: '',
16
16
  };
17
- export const SwapFormProvider = ({ children, }) => {
17
+ export const FormProvider = ({ children, }) => {
18
18
  const { fromChain, fromToken, fromAmount, toChain, toToken, toAddress } = useWidgetConfig();
19
19
  const defaultValues = useMemo(() => ({
20
20
  ...formDefaultValues,
@@ -31,5 +31,5 @@ export const SwapFormProvider = ({ children, }) => {
31
31
  // values,
32
32
  defaultValues,
33
33
  });
34
- return (_jsxs(FormProvider, { ...methods, children: [_jsx(FormUpdater, { defaultValues: defaultValues }), children] }));
34
+ return (_jsxs(ReactHookFormProvider, { ...methods, children: [_jsx(FormUpdater, { defaultValues: defaultValues }), children] }));
35
35
  };
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import type { FormValues } from '.';
3
+ export declare const FormUpdater: React.FC<{
4
+ defaultValues: Partial<FormValues>;
5
+ }>;
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable @typescript-eslint/no-unused-vars */
2
2
  import { useEffect, useRef } from 'react';
3
3
  import { useFormContext } from 'react-hook-form';
4
- import { SwapFormKey } from '../SwapFormProvider';
4
+ import { FormKey } from '.';
5
5
  import { useWallet } from '../WalletProvider';
6
6
  import { isItemAllowed, useWidgetConfig } from '../WidgetProvider';
7
7
  export const FormUpdater = ({ defaultValues }) => {
@@ -17,23 +17,23 @@ export const FormUpdater = ({ defaultValues }) => {
17
17
  if (!account.isActive || !account.chainId || !chainAllowed) {
18
18
  return;
19
19
  }
20
- const { isTouched: isFromChainTouched } = getFieldState(SwapFormKey.FromChain);
21
- const { isTouched: isToChainTouched } = getFieldState(SwapFormKey.ToChain);
22
- const { isTouched: isFromTokenTouched } = getFieldState(SwapFormKey.FromToken);
23
- const { isTouched: isToTokenTouched } = getFieldState(SwapFormKey.ToToken);
24
- const { isTouched: isFromAmountTouched } = getFieldState(SwapFormKey.FromAmount);
20
+ const { isTouched: isFromChainTouched } = getFieldState(FormKey.FromChain);
21
+ const { isTouched: isToChainTouched } = getFieldState(FormKey.ToChain);
22
+ const { isTouched: isFromTokenTouched } = getFieldState(FormKey.FromToken);
23
+ const { isTouched: isToTokenTouched } = getFieldState(FormKey.ToToken);
24
+ const { isTouched: isFromAmountTouched } = getFieldState(FormKey.FromAmount);
25
25
  if (!fromChain && !isFromChainTouched && !isFromTokenTouched) {
26
- resetField(SwapFormKey.FromChain, { defaultValue: account.chainId });
27
- setValue(SwapFormKey.FromChain, account.chainId);
28
- setValue(SwapFormKey.FromToken, '');
26
+ resetField(FormKey.FromChain, { defaultValue: account.chainId });
27
+ setValue(FormKey.FromChain, account.chainId);
28
+ setValue(FormKey.FromToken, '');
29
29
  if (isFromAmountTouched) {
30
- setValue(SwapFormKey.FromAmount, '');
30
+ setValue(FormKey.FromAmount, '');
31
31
  }
32
32
  }
33
33
  if (!toChain && !isToChainTouched && !isToTokenTouched) {
34
- resetField(SwapFormKey.ToChain, { defaultValue: account.chainId });
35
- setValue(SwapFormKey.ToChain, account.chainId);
36
- setValue(SwapFormKey.ToToken, '');
34
+ resetField(FormKey.ToChain, { defaultValue: account.chainId });
35
+ setValue(FormKey.ToChain, account.chainId);
36
+ setValue(FormKey.ToToken, '');
37
37
  }
38
38
  }, [
39
39
  account.chainId,
@@ -53,7 +53,7 @@ export const FormUpdater = ({ defaultValues }) => {
53
53
  if (previousDefaultValues.current[key] !== defaultValues[key]) {
54
54
  const value = defaultValues[key] ||
55
55
  // set the chain to the current user one if it is not present in the config
56
- (key === SwapFormKey.FromChain || key === SwapFormKey.ToChain
56
+ (key === FormKey.FromChain || key === FormKey.ToChain
57
57
  ? account.chainId || ''
58
58
  : '');
59
59
  setValue(key, value);
@@ -1,14 +1,14 @@
1
1
  import { useEffect } from 'react';
2
2
  import { useFormState, useWatch } from 'react-hook-form';
3
3
  import { useLocation } from 'react-router-dom';
4
- import { SwapFormKey } from './types';
4
+ import { FormKey } from './types';
5
5
  const formValueKeys = [
6
- SwapFormKey.FromAmount,
7
- SwapFormKey.FromChain,
8
- SwapFormKey.FromToken,
9
- SwapFormKey.ToAddress,
10
- SwapFormKey.ToChain,
11
- SwapFormKey.ToToken,
6
+ FormKey.FromAmount,
7
+ FormKey.FromChain,
8
+ FormKey.FromToken,
9
+ FormKey.ToAddress,
10
+ FormKey.ToChain,
11
+ FormKey.ToToken,
12
12
  ];
13
13
  export const URLSearchParamsBuilder = () => {
14
14
  const { pathname } = useLocation();
@@ -1,3 +1,3 @@
1
- export * from './SwapFormProvider';
1
+ export * from './FormProvider';
2
2
  export * from './URLSearchParamsBuilder';
3
3
  export * from './types';
@@ -1,3 +1,3 @@
1
- export * from './SwapFormProvider';
1
+ export * from './FormProvider';
2
2
  export * from './URLSearchParamsBuilder';
3
3
  export * from './types';
@@ -0,0 +1,37 @@
1
+ export declare enum FormKey {
2
+ ContractOutputsToken = "contractOutputsToken",
3
+ FromAmount = "fromAmount",
4
+ FromChain = "fromChain",
5
+ FromToken = "fromToken",
6
+ ToAddress = "toAddress",
7
+ ToAmount = "toAmount",
8
+ ToChain = "toChain",
9
+ ToContractAddress = "toContractAddress",
10
+ ToContractCallData = "toContractCallData",
11
+ ToContractGasLimit = "ToContractGasLimit",
12
+ ToToken = "toToken",
13
+ TokenSearchFilter = "tokenSearchFilter"
14
+ }
15
+ export type FormValues = {
16
+ [FormKey.ContractOutputsToken]: string;
17
+ [FormKey.FromAmount]: string;
18
+ [FormKey.FromChain]: number;
19
+ [FormKey.FromToken]: string;
20
+ [FormKey.ToAddress]: string;
21
+ [FormKey.ToAmount]: string;
22
+ [FormKey.ToChain]: number;
23
+ [FormKey.ToContractAddress]: string;
24
+ [FormKey.ToContractCallData]: string;
25
+ [FormKey.ToContractGasLimit]: string;
26
+ [FormKey.ToToken]: string;
27
+ [FormKey.TokenSearchFilter]: string;
28
+ };
29
+ export type FormType = 'from' | 'to';
30
+ export declare const FormKeyHelper: {
31
+ getChainKey: (formType: FormType) => 'fromChain' | 'toChain';
32
+ getTokenKey: (formType: FormType) => 'fromToken' | 'toToken';
33
+ getAmountKey: (formType: FormType) => 'fromAmount' | 'toAmount';
34
+ };
35
+ export interface FormTypeProps {
36
+ formType: FormType;
37
+ }
@@ -0,0 +1,20 @@
1
+ export var FormKey;
2
+ (function (FormKey) {
3
+ FormKey["ContractOutputsToken"] = "contractOutputsToken";
4
+ FormKey["FromAmount"] = "fromAmount";
5
+ FormKey["FromChain"] = "fromChain";
6
+ FormKey["FromToken"] = "fromToken";
7
+ FormKey["ToAddress"] = "toAddress";
8
+ FormKey["ToAmount"] = "toAmount";
9
+ FormKey["ToChain"] = "toChain";
10
+ FormKey["ToContractAddress"] = "toContractAddress";
11
+ FormKey["ToContractCallData"] = "toContractCallData";
12
+ FormKey["ToContractGasLimit"] = "ToContractGasLimit";
13
+ FormKey["ToToken"] = "toToken";
14
+ FormKey["TokenSearchFilter"] = "tokenSearchFilter";
15
+ })(FormKey || (FormKey = {}));
16
+ export const FormKeyHelper = {
17
+ getChainKey: (formType) => `${formType}Chain`,
18
+ getTokenKey: (formType) => `${formType}Token`,
19
+ getAmountKey: (formType) => `${formType}Amount`,
20
+ };