@layerswap/widget 1.0.5 → 1.1.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 (361) hide show
  1. package/dist/esm/Models/LayerSwapSettings.js +0 -1
  2. package/dist/esm/Models/Theme.js +39 -8
  3. package/dist/esm/components/Buttons/copyButton.js +5 -3
  4. package/dist/esm/components/Buttons/submitButton.js +2 -1
  5. package/dist/esm/components/ColorSchema.js +3 -10
  6. package/dist/esm/components/Common/ConnectWalletButton.js +9 -3
  7. package/dist/esm/components/Common/CountDownTimer.js +0 -15
  8. package/dist/esm/components/Common/WarningMessage.js +4 -2
  9. package/dist/esm/components/Common/guideLink.js +4 -6
  10. package/dist/esm/components/ErrorFallback.js +11 -11
  11. package/dist/esm/components/HeaderWithMenu.js +1 -1
  12. package/dist/esm/components/Icons/Wallets/Xverse.js +3 -0
  13. package/dist/esm/components/Icons/Wallets/index.js +1 -0
  14. package/dist/esm/components/Input/Address/AddressPicker/index.js +15 -12
  15. package/dist/esm/components/Input/Amount/Balance.js +8 -2
  16. package/dist/esm/components/Input/Amount/ExchangeReceiveAmount.js +8 -0
  17. package/dist/esm/components/Input/Amount/MinMax.js +1 -1
  18. package/dist/esm/components/Input/Amount/PriceImpact.js +5 -38
  19. package/dist/esm/components/Input/Amount/ReceiveAmount.js +2 -2
  20. package/dist/esm/components/Input/Amount/index.js +3 -3
  21. package/dist/esm/components/Input/DestinationPicker.js +2 -2
  22. package/dist/esm/components/Input/NumericInput.js +7 -4
  23. package/dist/esm/components/Input/RoutePicker/Content.js +19 -3
  24. package/dist/esm/components/Input/RoutePicker/RouterPickerWalletConnect.js +5 -5
  25. package/dist/esm/components/Input/RoutePicker/Routes.js +18 -18
  26. package/dist/esm/components/Input/RoutePicker/Rows/CollapsableHeader.js +2 -2
  27. package/dist/esm/components/Input/RoutePicker/Rows/CollapsibleRow.js +3 -3
  28. package/dist/esm/components/Input/RoutePicker/Rows/StickyHeader.js +2 -2
  29. package/dist/esm/components/Input/RoutePicker/Rows/SuggestionsHeader.js +55 -0
  30. package/dist/esm/components/Input/RoutePicker/Rows/TitleRow.js +11 -0
  31. package/dist/esm/components/Input/RoutePicker/Rows/index.js +6 -7
  32. package/dist/esm/components/Input/RoutePicker/index.js +2 -2
  33. package/dist/esm/components/Input/SourceWalletPicker.js +7 -5
  34. package/dist/esm/components/Menu/index.js +2 -2
  35. package/dist/esm/components/Modal/vaulModal.js +11 -16
  36. package/dist/esm/components/Pages/Campaigns/Details/Leaderboard.js +2 -2
  37. package/dist/esm/components/Pages/Campaigns/Details/Rewards.js +2 -2
  38. package/dist/esm/components/Pages/Campaigns/Details/index.js +2 -3
  39. package/dist/esm/components/Pages/Campaigns/index.js +3 -4
  40. package/dist/esm/components/Pages/Swap/Form/ExchangeForm.js +21 -19
  41. package/dist/esm/components/Pages/Swap/Form/FeeDetails/Rate.js +5 -4
  42. package/dist/esm/components/Pages/Swap/Form/FeeDetails/Refuel.js +8 -6
  43. package/dist/esm/components/Pages/Swap/Form/FeeDetails/Slippage.js +6 -1
  44. package/dist/esm/components/Pages/Swap/Form/FeeDetails/SwapQuote/DetailedEstimates.js +51 -14
  45. package/dist/esm/components/Pages/Swap/Form/FeeDetails/SwapQuote/SummaryRow.js +2 -2
  46. package/dist/esm/components/Pages/Swap/Form/FeeDetails/SwapQuote/index.js +4 -4
  47. package/dist/esm/components/Pages/Swap/Form/FeeDetails/index.js +8 -9
  48. package/dist/esm/components/Pages/Swap/Form/Form.js +27 -3
  49. package/dist/esm/components/Pages/Swap/Form/FormWrapper.js +8 -14
  50. package/dist/esm/components/Pages/Swap/Form/NetworkForm.js +11 -13
  51. package/dist/esm/components/Pages/Swap/Form/SecondaryComponents/ReserveGasNote.js +8 -6
  52. package/dist/esm/components/Pages/Swap/Form/SecondaryComponents/validationError/ErrorDisplay.js +1 -1
  53. package/dist/esm/components/Pages/Swap/Withdraw/Failed.js +12 -8
  54. package/dist/esm/components/Pages/Swap/Withdraw/ManualWithdraw.js +29 -10
  55. package/dist/esm/components/Pages/Swap/Withdraw/NotFound.js +15 -4
  56. package/dist/esm/components/Pages/Swap/Withdraw/Processing/Processing.js +36 -41
  57. package/dist/esm/components/Pages/Swap/Withdraw/Summary/Summary.js +3 -3
  58. package/dist/esm/components/Pages/Swap/Withdraw/Summary/index.js +3 -3
  59. package/dist/esm/components/Pages/Swap/Withdraw/SwapDetails.js +9 -7
  60. package/dist/esm/components/Pages/Swap/Withdraw/Wallet/Common/actionMessage.js +43 -0
  61. package/dist/esm/components/Pages/Swap/Withdraw/Wallet/Common/buttons.js +118 -71
  62. package/dist/esm/components/Pages/Swap/Withdraw/Wallet/index.js +56 -65
  63. package/dist/esm/components/Pages/Swap/Withdraw/WalletTransferButton.js +2 -2
  64. package/dist/esm/components/Pages/Swap/Withdraw/WalletTransferContent.js +2 -2
  65. package/dist/esm/components/Pages/Swap/Withdraw/Withdraw.js +3 -3
  66. package/dist/esm/components/Pages/Swap/Withdraw/index.js +5 -4
  67. package/dist/esm/components/Pages/Swap/Withdraw/messages/TransactionMessages.js +14 -15
  68. package/dist/esm/components/Pages/SwapHistory/History.js +2 -2
  69. package/dist/esm/components/Pages/SwapHistory/SwapDetailsComponent.js +4 -1
  70. package/dist/esm/components/Pages/SwapHistory/index.js +6 -6
  71. package/dist/esm/components/Wallet/WalletComponents/ConnectedWallets.js +1 -1
  72. package/dist/esm/components/Wallet/WalletComponents/WalletsList.js +4 -3
  73. package/dist/esm/components/Wallet/WalletModal/Connector.js +2 -2
  74. package/dist/esm/components/Wallet/WalletModal/ConnectorsList.js +49 -24
  75. package/dist/esm/components/Wallet/WalletModal/index.js +3 -1
  76. package/dist/esm/components/Wallet/WalletProviders/index.js +4 -2
  77. package/dist/esm/components/Widget/Content.js +2 -2
  78. package/dist/esm/components/Widget/Footer.js +1 -1
  79. package/dist/esm/components/Widget/Index.js +2 -3
  80. package/dist/esm/components/WidgetLoading.js +9 -2
  81. package/dist/esm/components/utils/RoundDecimals.js +4 -2
  82. package/dist/esm/context/ErrorProvider.js +14 -0
  83. package/dist/esm/context/LayerswapProvider.js +6 -5
  84. package/dist/esm/context/asyncModal.js +1 -1
  85. package/dist/esm/context/callbackProvider.js +54 -60
  86. package/dist/esm/context/resolverContext.js +7 -2
  87. package/dist/esm/context/swap.js +13 -18
  88. package/dist/esm/context/{balanceAccounts.js → swapAccounts.js} +17 -17
  89. package/dist/esm/context/validationContext.js +1 -1
  90. package/dist/esm/context/walletProviders.js +7 -1
  91. package/dist/esm/context/withdrawalContext.js +2 -2
  92. package/dist/esm/exports/internal.js +4 -3
  93. package/dist/esm/helpers/filterSourceNetworks.js +23 -0
  94. package/dist/esm/helpers/getSettings/getSettings.js +18 -13
  95. package/dist/esm/helpers/routes.js +4 -1
  96. package/dist/esm/hooks/useAllWithdrawalBalances.js +6 -5
  97. package/dist/esm/hooks/useFormRoutes.js +16 -8
  98. package/dist/esm/hooks/useFormValidation.js +11 -6
  99. package/dist/esm/hooks/useRouteValidation.js +1 -1
  100. package/dist/esm/hooks/useSwrSwaps.js +1 -1
  101. package/dist/esm/hooks/useTransfer.js +9 -0
  102. package/dist/esm/hooks/useWallet.js +7 -7
  103. package/dist/esm/lib/AppSettings.js +28 -17
  104. package/dist/esm/lib/ErrorHandler.js +6 -0
  105. package/dist/esm/lib/NetworkSettings.js +0 -16
  106. package/dist/esm/lib/apiClients/layerSwapApiClient.js +12 -35
  107. package/dist/esm/lib/axiosInterceptor.js +2 -2
  108. package/dist/esm/lib/balances/balanceResolver.js +9 -13
  109. package/dist/esm/lib/fees.js +50 -0
  110. package/dist/esm/lib/resolvers/resolverService.js +10 -1
  111. package/dist/esm/lib/transfers/index.js +1 -0
  112. package/dist/esm/lib/transfers/transferResolver.js +14 -0
  113. package/dist/esm/stores/balanceStore.js +1 -2
  114. package/dist/esm/stores/logStore.js +11 -0
  115. package/dist/esm/types/balance.js +8 -9
  116. package/dist/esm/types/index.js +1 -0
  117. package/dist/esm/types/logEvents.js +1 -0
  118. package/dist/index.css +2 -2
  119. package/dist/tsconfig.tsbuildinfo +1 -1
  120. package/dist/types/Models/Balance.d.ts +1 -1
  121. package/dist/types/Models/LayerSwapSettings.d.ts +7 -0
  122. package/dist/types/Models/LayerSwapSettings.d.ts.map +1 -1
  123. package/dist/types/Models/Theme.d.ts +0 -3
  124. package/dist/types/Models/Theme.d.ts.map +1 -1
  125. package/dist/types/components/Buttons/copyButton.d.ts +3 -1
  126. package/dist/types/components/Buttons/copyButton.d.ts.map +1 -1
  127. package/dist/types/components/Buttons/submitButton.d.ts +1 -1
  128. package/dist/types/components/Buttons/submitButton.d.ts.map +1 -1
  129. package/dist/types/components/ColorSchema.d.ts.map +1 -1
  130. package/dist/types/components/Common/ConnectWalletButton.d.ts +1 -1
  131. package/dist/types/components/Common/ConnectWalletButton.d.ts.map +1 -1
  132. package/dist/types/components/Common/CountDownTimer.d.ts.map +1 -1
  133. package/dist/types/components/Common/WarningMessage.d.ts.map +1 -1
  134. package/dist/types/components/Common/guideLink.d.ts.map +1 -1
  135. package/dist/types/components/ErrorFallback.d.ts.map +1 -1
  136. package/dist/types/components/HeaderWithMenu.d.ts.map +1 -1
  137. package/dist/types/components/Icons/Wallets/Xverse.d.ts +4 -0
  138. package/dist/types/components/Icons/Wallets/Xverse.d.ts.map +1 -0
  139. package/dist/types/components/Icons/Wallets/index.d.ts +1 -0
  140. package/dist/types/components/Icons/Wallets/index.d.ts.map +1 -1
  141. package/dist/types/components/Input/Address/AddressNote.d.ts +2 -2
  142. package/dist/types/components/Input/Address/AddressPicker/AddressBook.d.ts +3 -3
  143. package/dist/types/components/Input/Address/AddressPicker/AddressButton.d.ts +3 -3
  144. package/dist/types/components/Input/Address/AddressPicker/AddressWithIcon.d.ts +2 -2
  145. package/dist/types/components/Input/Address/AddressPicker/ConnectedWallets.d.ts +2 -2
  146. package/dist/types/components/Input/Address/AddressPicker/ManualAddressInput.d.ts +4 -4
  147. package/dist/types/components/Input/Address/AddressPicker/index.d.ts +4 -4
  148. package/dist/types/components/Input/Address/AddressPicker/index.d.ts.map +1 -1
  149. package/dist/types/components/Input/Address/index.d.ts +1 -1
  150. package/dist/types/components/Input/Amount/Balance.d.ts +1 -1
  151. package/dist/types/components/Input/Amount/Balance.d.ts.map +1 -1
  152. package/dist/types/components/Input/Amount/ExchangeReceiveAmount.d.ts +11 -0
  153. package/dist/types/components/Input/Amount/ExchangeReceiveAmount.d.ts.map +1 -0
  154. package/dist/types/components/Input/Amount/MinMax.d.ts +1 -1
  155. package/dist/types/components/Input/Amount/PriceImpact.d.ts +2 -6
  156. package/dist/types/components/Input/Amount/PriceImpact.d.ts.map +1 -1
  157. package/dist/types/components/Input/Amount/ReceiveAmount.d.ts +2 -3
  158. package/dist/types/components/Input/Amount/ReceiveAmount.d.ts.map +1 -1
  159. package/dist/types/components/Input/Amount/helpers.d.ts +2 -2
  160. package/dist/types/components/Input/Amount/index.d.ts +1 -1
  161. package/dist/types/components/Input/CexPicker.d.ts +1 -1
  162. package/dist/types/components/Input/DestinationPicker.d.ts +1 -1
  163. package/dist/types/components/Input/DestinationPicker.d.ts.map +1 -1
  164. package/dist/types/components/Input/NumericInput.d.ts.map +1 -1
  165. package/dist/types/components/Input/RoutePicker/Content.d.ts +5 -5
  166. package/dist/types/components/Input/RoutePicker/Content.d.ts.map +1 -1
  167. package/dist/types/components/Input/RoutePicker/RouterPickerWalletConnect.d.ts +1 -1
  168. package/dist/types/components/Input/RoutePicker/Routes.d.ts +4 -8
  169. package/dist/types/components/Input/RoutePicker/Routes.d.ts.map +1 -1
  170. package/dist/types/components/Input/RoutePicker/Rows/CollapsableHeader.d.ts +3 -4
  171. package/dist/types/components/Input/RoutePicker/Rows/CollapsableHeader.d.ts.map +1 -1
  172. package/dist/types/components/Input/RoutePicker/Rows/CollapsibleRow.d.ts +6 -5
  173. package/dist/types/components/Input/RoutePicker/Rows/CollapsibleRow.d.ts.map +1 -1
  174. package/dist/types/components/Input/RoutePicker/Rows/StickyHeader.d.ts +3 -4
  175. package/dist/types/components/Input/RoutePicker/Rows/StickyHeader.d.ts.map +1 -1
  176. package/dist/types/components/Input/RoutePicker/Rows/SuggestionsHeader.d.ts +7 -0
  177. package/dist/types/components/Input/RoutePicker/Rows/SuggestionsHeader.d.ts.map +1 -0
  178. package/dist/types/components/Input/RoutePicker/Rows/TitleRow.d.ts +7 -0
  179. package/dist/types/components/Input/RoutePicker/Rows/TitleRow.d.ts.map +1 -0
  180. package/dist/types/components/Input/RoutePicker/Rows/index.d.ts +5 -5
  181. package/dist/types/components/Input/RoutePicker/Rows/index.d.ts.map +1 -1
  182. package/dist/types/components/Input/RoutePicker/index.d.ts +1 -1
  183. package/dist/types/components/Input/RoutePicker/index.d.ts.map +1 -1
  184. package/dist/types/components/Input/SourcePicker.d.ts +1 -1
  185. package/dist/types/components/Input/SourceWalletPicker.d.ts.map +1 -1
  186. package/dist/types/components/Modal/vaulModal.d.ts.map +1 -1
  187. package/dist/types/components/Pages/Campaigns/Details/Leaderboard.d.ts +1 -1
  188. package/dist/types/components/Pages/Campaigns/Details/Rewards.d.ts +1 -1
  189. package/dist/types/components/Pages/Campaigns/Details/index.d.ts +1 -2
  190. package/dist/types/components/Pages/Campaigns/Details/index.d.ts.map +1 -1
  191. package/dist/types/components/Pages/Campaigns/index.d.ts +2 -3
  192. package/dist/types/components/Pages/Campaigns/index.d.ts.map +1 -1
  193. package/dist/types/components/Pages/Swap/Form/ExchangeForm.d.ts +3 -1
  194. package/dist/types/components/Pages/Swap/Form/ExchangeForm.d.ts.map +1 -1
  195. package/dist/types/components/Pages/Swap/Form/FeeDetails/Rate.d.ts +7 -6
  196. package/dist/types/components/Pages/Swap/Form/FeeDetails/Rate.d.ts.map +1 -1
  197. package/dist/types/components/Pages/Swap/Form/FeeDetails/ReceiveAmounts.d.ts +2 -2
  198. package/dist/types/components/Pages/Swap/Form/FeeDetails/Refuel.d.ts +1 -1
  199. package/dist/types/components/Pages/Swap/Form/FeeDetails/Refuel.d.ts.map +1 -1
  200. package/dist/types/components/Pages/Swap/Form/FeeDetails/RefuelModal.d.ts +1 -1
  201. package/dist/types/components/Pages/Swap/Form/FeeDetails/Slippage.d.ts +1 -1
  202. package/dist/types/components/Pages/Swap/Form/FeeDetails/SwapQuote/DetailedEstimates.d.ts +3 -2
  203. package/dist/types/components/Pages/Swap/Form/FeeDetails/SwapQuote/DetailedEstimates.d.ts.map +1 -1
  204. package/dist/types/components/Pages/Swap/Form/FeeDetails/SwapQuote/SummaryRow.d.ts +4 -4
  205. package/dist/types/components/Pages/Swap/Form/FeeDetails/SwapQuote/index.d.ts +4 -4
  206. package/dist/types/components/Pages/Swap/Form/FeeDetails/SwapQuote/index.d.ts.map +1 -1
  207. package/dist/types/components/Pages/Swap/Form/FeeDetails/SwapQuote/utils.d.ts +2 -2
  208. package/dist/types/components/Pages/Swap/Form/FeeDetails/index.d.ts +7 -4
  209. package/dist/types/components/Pages/Swap/Form/FeeDetails/index.d.ts.map +1 -1
  210. package/dist/types/components/Pages/Swap/Form/Form.d.ts.map +1 -1
  211. package/dist/types/components/Pages/Swap/Form/FormWrapper.d.ts +1 -1
  212. package/dist/types/components/Pages/Swap/Form/FormWrapper.d.ts.map +1 -1
  213. package/dist/types/components/Pages/Swap/Form/NetworkForm.d.ts +1 -1
  214. package/dist/types/components/Pages/Swap/Form/NetworkForm.d.ts.map +1 -1
  215. package/dist/types/components/Pages/Swap/Form/SecondaryComponents/FormButton.d.ts +1 -1
  216. package/dist/types/components/Pages/Swap/Form/SecondaryComponents/ReserveGasNote.d.ts +2 -2
  217. package/dist/types/components/Pages/Swap/Form/SecondaryComponents/ReserveGasNote.d.ts.map +1 -1
  218. package/dist/types/components/Pages/Swap/Form/SecondaryComponents/validationError/ErrorDisplay.d.ts +1 -1
  219. package/dist/types/components/Pages/Swap/Form/SwapFormValues.d.ts +2 -2
  220. package/dist/types/components/Pages/Swap/Withdraw/Failed.d.ts.map +1 -1
  221. package/dist/types/components/Pages/Swap/Withdraw/ManualWithdraw.d.ts +4 -3
  222. package/dist/types/components/Pages/Swap/Withdraw/ManualWithdraw.d.ts.map +1 -1
  223. package/dist/types/components/Pages/Swap/Withdraw/NotFound.d.ts.map +1 -1
  224. package/dist/types/components/Pages/Swap/Withdraw/Processing/Processing.d.ts +1 -1
  225. package/dist/types/components/Pages/Swap/Withdraw/Processing/Processing.d.ts.map +1 -1
  226. package/dist/types/components/Pages/Swap/Withdraw/QuoteUpdate.d.ts +1 -1
  227. package/dist/types/components/Pages/Swap/Withdraw/Summary/Summary.d.ts +1 -1
  228. package/dist/types/components/Pages/Swap/Withdraw/SwapDetails.d.ts +2 -1
  229. package/dist/types/components/Pages/Swap/Withdraw/SwapDetails.d.ts.map +1 -1
  230. package/dist/types/components/Pages/Swap/Withdraw/SwapQuoteDetails.d.ts +3 -3
  231. package/dist/types/components/Pages/Swap/Withdraw/Wallet/Common/actionMessage.d.ts +6 -0
  232. package/dist/types/components/Pages/Swap/Withdraw/Wallet/Common/actionMessage.d.ts.map +1 -0
  233. package/dist/types/components/Pages/Swap/Withdraw/Wallet/Common/buttons.d.ts +4 -3
  234. package/dist/types/components/Pages/Swap/Withdraw/Wallet/Common/buttons.d.ts.map +1 -1
  235. package/dist/types/components/Pages/Swap/Withdraw/Wallet/Common/sharedTypes.d.ts +2 -1
  236. package/dist/types/components/Pages/Swap/Withdraw/Wallet/Common/sharedTypes.d.ts.map +1 -1
  237. package/dist/types/components/Pages/Swap/Withdraw/Wallet/index.d.ts +2 -1
  238. package/dist/types/components/Pages/Swap/Withdraw/Wallet/index.d.ts.map +1 -1
  239. package/dist/types/components/Pages/Swap/Withdraw/WalletTransferButton.d.ts +2 -1
  240. package/dist/types/components/Pages/Swap/Withdraw/WalletTransferButton.d.ts.map +1 -1
  241. package/dist/types/components/Pages/Swap/Withdraw/WalletTransferContent.d.ts +1 -1
  242. package/dist/types/components/Pages/Swap/Withdraw/Withdraw.d.ts +2 -1
  243. package/dist/types/components/Pages/Swap/Withdraw/Withdraw.d.ts.map +1 -1
  244. package/dist/types/components/Pages/Swap/Withdraw/index.d.ts +1 -2
  245. package/dist/types/components/Pages/Swap/Withdraw/index.d.ts.map +1 -1
  246. package/dist/types/components/Pages/Swap/Withdraw/messages/TransactionMessages.d.ts +3 -4
  247. package/dist/types/components/Pages/Swap/Withdraw/messages/TransactionMessages.d.ts.map +1 -1
  248. package/dist/types/components/Pages/SwapHistory/HistorySummary.d.ts +2 -2
  249. package/dist/types/components/Pages/SwapHistory/StatusIcons.d.ts +1 -1
  250. package/dist/types/components/Pages/SwapHistory/SwapDetailsComponent.d.ts +1 -1
  251. package/dist/types/components/Pages/SwapHistory/SwapDetailsComponent.d.ts.map +1 -1
  252. package/dist/types/components/Pages/SwapHistory/index.d.ts +3 -1
  253. package/dist/types/components/Pages/SwapHistory/index.d.ts.map +1 -1
  254. package/dist/types/components/Wallet/WalletComponents/WalletsList.d.ts +3 -3
  255. package/dist/types/components/Wallet/WalletComponents/WalletsList.d.ts.map +1 -1
  256. package/dist/types/components/Wallet/WalletModal/Connector.d.ts +2 -1
  257. package/dist/types/components/Wallet/WalletModal/Connector.d.ts.map +1 -1
  258. package/dist/types/components/Wallet/WalletModal/ConnectorsList.d.ts +1 -1
  259. package/dist/types/components/Wallet/WalletModal/ConnectorsList.d.ts.map +1 -1
  260. package/dist/types/components/Wallet/WalletModal/index.d.ts +1 -1
  261. package/dist/types/components/Wallet/WalletModal/index.d.ts.map +1 -1
  262. package/dist/types/components/Wallet/WalletProviders/index.d.ts +3 -1
  263. package/dist/types/components/Wallet/WalletProviders/index.d.ts.map +1 -1
  264. package/dist/types/components/Widget/Content.d.ts +2 -1
  265. package/dist/types/components/Widget/Content.d.ts.map +1 -1
  266. package/dist/types/components/Widget/Footer.d.ts +2 -1
  267. package/dist/types/components/Widget/Footer.d.ts.map +1 -1
  268. package/dist/types/components/Widget/Index.d.ts +3 -2
  269. package/dist/types/components/Widget/Index.d.ts.map +1 -1
  270. package/dist/types/components/WidgetLoading.d.ts.map +1 -1
  271. package/dist/types/components/shadcn/command.d.ts +9 -52
  272. package/dist/types/components/shadcn/command.d.ts.map +1 -1
  273. package/dist/types/components/utils/RoundDecimals.d.ts.map +1 -1
  274. package/dist/types/context/ErrorProvider.d.ts +3 -0
  275. package/dist/types/context/ErrorProvider.d.ts.map +1 -0
  276. package/dist/types/context/LayerswapProvider.d.ts +22 -4
  277. package/dist/types/context/LayerswapProvider.d.ts.map +1 -1
  278. package/dist/types/context/callbackProvider.d.ts +6 -12
  279. package/dist/types/context/callbackProvider.d.ts.map +1 -1
  280. package/dist/types/context/resolverContext.d.ts.map +1 -1
  281. package/dist/types/context/swap.d.ts +7 -7
  282. package/dist/types/context/swap.d.ts.map +1 -1
  283. package/dist/types/context/{balanceAccounts.d.ts → swapAccounts.d.ts} +9 -9
  284. package/dist/types/context/swapAccounts.d.ts.map +1 -0
  285. package/dist/types/context/validationContext.d.ts +1 -0
  286. package/dist/types/context/validationContext.d.ts.map +1 -1
  287. package/dist/types/context/walletProviders.d.ts.map +1 -1
  288. package/dist/types/context/withdrawalContext.d.ts +2 -0
  289. package/dist/types/context/withdrawalContext.d.ts.map +1 -1
  290. package/dist/types/exports/internal.d.ts +9 -7
  291. package/dist/types/exports/internal.d.ts.map +1 -1
  292. package/dist/types/helpers/accountSelectHelper.d.ts +1 -1
  293. package/dist/types/helpers/balanceHelper.d.ts +2 -2
  294. package/dist/types/helpers/filterSourceNetworks.d.ts +4 -0
  295. package/dist/types/helpers/filterSourceNetworks.d.ts.map +1 -0
  296. package/dist/types/helpers/getSettings/getSettings.d.ts +1 -1
  297. package/dist/types/helpers/getSettings/getSettings.d.ts.map +1 -1
  298. package/dist/types/helpers/routes.d.ts +1 -1
  299. package/dist/types/helpers/routes.d.ts.map +1 -1
  300. package/dist/types/helpers/tokenHelper.d.ts +2 -2
  301. package/dist/types/hooks/useAllWithdrawalBalances.d.ts +2 -1
  302. package/dist/types/hooks/useAllWithdrawalBalances.d.ts.map +1 -1
  303. package/dist/types/hooks/useFee.d.ts +1 -1
  304. package/dist/types/hooks/useFormRoutes.d.ts +2 -3
  305. package/dist/types/hooks/useFormRoutes.d.ts.map +1 -1
  306. package/dist/types/hooks/useFormValidation.d.ts +10 -1
  307. package/dist/types/hooks/useFormValidation.d.ts.map +1 -1
  308. package/dist/types/hooks/useSwapHistoryData.d.ts +2 -2
  309. package/dist/types/hooks/useTransfer.d.ts +5 -0
  310. package/dist/types/hooks/useTransfer.d.ts.map +1 -0
  311. package/dist/types/hooks/useWallet.d.ts +3 -3
  312. package/dist/types/hooks/useWallet.d.ts.map +1 -1
  313. package/dist/types/lib/AppSettings.d.ts +25 -16
  314. package/dist/types/lib/AppSettings.d.ts.map +1 -1
  315. package/dist/types/lib/ErrorHandler.d.ts +3 -0
  316. package/dist/types/lib/ErrorHandler.d.ts.map +1 -0
  317. package/dist/types/lib/NetworkSettings.d.ts +0 -1
  318. package/dist/types/lib/NetworkSettings.d.ts.map +1 -1
  319. package/dist/types/lib/apiClients/layerSwapApiClient.d.ts +2 -10
  320. package/dist/types/lib/apiClients/layerSwapApiClient.d.ts.map +1 -1
  321. package/dist/types/lib/balances/balanceResolver.d.ts +3 -3
  322. package/dist/types/lib/balances/balanceResolver.d.ts.map +1 -1
  323. package/dist/types/lib/balances/helpers.d.ts +1 -1
  324. package/dist/types/lib/balances/useBalance.d.ts +1 -1
  325. package/dist/types/lib/fees.d.ts +16 -0
  326. package/dist/types/lib/fees.d.ts.map +1 -1
  327. package/dist/types/lib/gases/gasResolver.d.ts +2 -2
  328. package/dist/types/lib/gases/useSWRGas.d.ts +3 -3
  329. package/dist/types/lib/generateSwapInitialValues.d.ts +1 -1
  330. package/dist/types/lib/nft/nftBalanceResolver.d.ts +1 -1
  331. package/dist/types/lib/resolvers/resolverService.d.ts +8 -5
  332. package/dist/types/lib/resolvers/resolverService.d.ts.map +1 -1
  333. package/dist/types/lib/sorting.d.ts +1 -1
  334. package/dist/types/lib/transfers/index.d.ts +2 -0
  335. package/dist/types/lib/transfers/index.d.ts.map +1 -0
  336. package/dist/types/lib/transfers/transferResolver.d.ts +7 -0
  337. package/dist/types/lib/transfers/transferResolver.d.ts.map +1 -0
  338. package/dist/types/stores/balanceStore.d.ts.map +1 -1
  339. package/dist/types/stores/logStore.d.ts +8 -0
  340. package/dist/types/stores/logStore.d.ts.map +1 -0
  341. package/dist/types/stores/walletStore.d.ts +1 -1
  342. package/dist/types/types/balance.d.ts +2 -2
  343. package/dist/types/types/balance.d.ts.map +1 -1
  344. package/dist/types/types/gas.d.ts +2 -2
  345. package/dist/types/types/index.d.ts +1 -0
  346. package/dist/types/types/index.d.ts.map +1 -1
  347. package/dist/types/types/logEvents.d.ts +41 -0
  348. package/dist/types/types/logEvents.d.ts.map +1 -0
  349. package/dist/types/types/nft.d.ts +1 -1
  350. package/dist/types/types/transfer.d.ts +7 -2
  351. package/dist/types/types/transfer.d.ts.map +1 -1
  352. package/dist/types/types/wallet.d.ts +25 -6
  353. package/dist/types/types/wallet.d.ts.map +1 -1
  354. package/package.json +3 -3
  355. package/dist/esm/helpers/querryHelper.js +0 -13
  356. package/dist/esm/lib/logError.js +0 -17
  357. package/dist/types/context/balanceAccounts.d.ts.map +0 -1
  358. package/dist/types/helpers/querryHelper.d.ts +0 -3
  359. package/dist/types/helpers/querryHelper.d.ts.map +0 -1
  360. package/dist/types/lib/logError.d.ts +0 -3
  361. package/dist/types/lib/logError.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback, useState } from "react";
2
+ import { useCallback, useMemo, useState } from "react";
3
3
  import WalletIcon from "../../../../../../components/Icons/WalletIcon";
4
4
  import SubmitButton from "../../../../../../components/Buttons/submitButton";
5
5
  import useWallet from "../../../../../../hooks/useWallet";
@@ -8,15 +8,19 @@ import toast from "react-hot-toast";
8
8
  import { Loader2 } from "lucide-react";
9
9
  import WalletMessage from "../../messages/Message";
10
10
  import { useConnectModal } from "../../../../../../components/Wallet/WalletModal";
11
- import { useInitialSettings } from "../../../../../../context/settings";
11
+ import { useInitialSettings, useSettingsState } from "../../../../../../context/settings";
12
12
  import { useSwapTransactionStore } from "../../../../../../stores/swapTransactionStore";
13
- import { BackendTransactionStatus } from "../../../../../../lib/apiClients/layerSwapApiClient";
13
+ import LayerSwapApiClient, { BackendTransactionStatus } from "../../../../../../lib/apiClients/layerSwapApiClient";
14
14
  import sleep from "../../../../../../lib/wallets/utils/sleep";
15
15
  import { isDiffByPercent } from "../../../../../../components/utils/numbers";
16
- // import posthog from "posthog-js";
17
16
  import { useWalletWithdrawalState } from "../../../../../../context/withdrawalContext";
18
- import { useSelectedAccount } from "../../../../../../context/balanceAccounts";
19
- import { useSwapCreateCallback } from "../../../../../../context/callbackProvider";
17
+ import { useSelectedAccount } from "../../../../../../context/swapAccounts";
18
+ import { ErrorHandler } from "../../../../../../lib/ErrorHandler";
19
+ import { resolvePriceImpactValues } from "../../../../../../lib/fees";
20
+ import InfoIcon from "../../../../../../components/Icons/InfoIcon";
21
+ import { addressFormat } from "../../../../../../lib/address/formatter";
22
+ import { useBalance } from "../../../../../../lib/balances/useBalance";
23
+ import KnownInternalNames from "../../../../../../lib/knownIds";
20
24
  export const ConnectWalletButton = ({ ...props }) => {
21
25
  const { swapBasicData } = useSwapDataState();
22
26
  const { source_network } = swapBasicData || {};
@@ -83,20 +87,26 @@ export const ChangeNetworkButton = (props) => {
83
87
  export const ButtonWrapper = ({ ...props }) => {
84
88
  return _jsx(SubmitButton, { text_align: 'center', buttonStyle: 'filled', size: "medium", type: "button", className: "text-primary-text text-base", ...props, children: props.children });
85
89
  };
86
- export const SendTransactionButton = ({ error, onClick, swapData, refuel, ...props }) => {
87
- const [actionStateText, setActionStateText] = useState();
88
- const [loading, setLoading] = useState(false);
89
- const { quote, quoteIsLoading, quoteError } = useSwapDataState();
90
+ export const SendTransactionButton = ({ error, clearError, onClick, swapData: swapBasicData, refuel, ...props }) => {
91
+ const { quote, quoteIsLoading, quoteError, swapId, swapDetails, depositActionsResponse } = useSwapDataState();
92
+ const { onWalletWithdrawalSuccess: onWalletWithdrawalSuccess, onCancelWithdrawal } = useWalletWithdrawalState();
90
93
  const { createSwap, setSwapId, setQuoteLoading } = useSwapDataUpdate();
91
94
  const { setSwapTransaction } = useSwapTransactionStore();
92
95
  const initialSettings = useInitialSettings();
93
- const triggerSwapCreateCallback = useSwapCreateCallback();
94
- const { onWalletWithdrawalSuccess: onWalletWithdrawalSuccess } = useWalletWithdrawalState();
95
- const selectedSourceAccount = useSelectedAccount("from", swapData.source_network?.name);
96
- const { wallets } = useWallet(swapData.source_network, 'withdrawal');
96
+ const layerswapApiClient = new LayerSwapApiClient();
97
+ const selectedSourceAccount = useSelectedAccount("from", swapBasicData.source_network?.name);
98
+ const { networks } = useSettingsState();
99
+ const networkWithTokens = swapBasicData.source_network && networks.find(n => n.name === swapBasicData.source_network?.name);
100
+ const { balances } = useBalance(selectedSourceAccount?.address, networkWithTokens);
101
+ const { wallets } = useWallet(swapBasicData.source_network, 'withdrawal');
102
+ const [actionStateText, setActionStateText] = useState();
103
+ const [loading, setLoading] = useState(false);
104
+ const [showCriticalMarketPriceImpactButtons, setShowCriticalMarketPriceImpactButtons] = useState(false);
105
+ const priceImpactValues = useMemo(() => quote ? resolvePriceImpactValues(quote) : undefined, [quote]);
106
+ const criticalMarketPriceImpact = useMemo(() => priceImpactValues?.criticalMarketPriceImpact, [priceImpactValues]);
97
107
  const handleClick = async () => {
98
108
  try {
99
- const selectedWallet = wallets.find(w => w.id === selectedSourceAccount?.id);
109
+ const selectedWallet = selectedSourceAccount && wallets.find(w => w.addresses.some(a => addressFormat(a, swapBasicData.source_network) === addressFormat(selectedSourceAccount?.address, swapBasicData.source_network)));
100
110
  if (!selectedSourceAccount) {
101
111
  throw new Error('Selected source account is undefined');
102
112
  }
@@ -104,71 +114,82 @@ export const SendTransactionButton = ({ error, onClick, swapData, refuel, ...pro
104
114
  throw new Error('Wallet is not active');
105
115
  }
106
116
  setLoading(true);
107
- setActionStateText("Preparing");
108
- setSwapId(undefined);
109
- const swapValues = {
110
- amount: swapData.requested_amount.toString(),
111
- from: swapData.source_network,
112
- to: swapData.destination_network,
113
- fromAsset: swapData.source_token,
114
- toAsset: swapData.destination_token,
115
- refuel: refuel,
116
- destination_address: swapData.destination_address,
117
- depositMethod: 'wallet',
118
- };
119
- const newSwapData = await createSwap(swapValues, initialSettings);
120
- const swapId = newSwapData?.swap?.id;
121
- if (!swapId) {
122
- throw new Error('Swap ID is undefined');
117
+ clearError?.();
118
+ let swapData = swapDetails;
119
+ let depositActions = depositActionsResponse;
120
+ if (!swapId || !swapDetails) {
121
+ setActionStateText("Preparing");
122
+ setSwapId(undefined);
123
+ const swapValues = {
124
+ amount: swapBasicData.requested_amount.toString(),
125
+ from: swapBasicData.source_network,
126
+ to: swapBasicData.destination_network,
127
+ fromAsset: swapBasicData.source_token,
128
+ toAsset: swapBasicData.destination_token,
129
+ refuel: refuel,
130
+ destination_address: swapBasicData.destination_address,
131
+ depositMethod: 'wallet',
132
+ };
133
+ const newSwapData = await createSwap(swapValues, initialSettings);
134
+ const newSwapId = newSwapData?.swap?.id;
135
+ if (!newSwapId) {
136
+ throw new Error('Swap ID is undefined');
137
+ }
138
+ setSwapId(newSwapId);
139
+ const priceImpactValues = newSwapData.quote ? resolvePriceImpactValues(newSwapData.quote) : undefined;
140
+ if (priceImpactValues?.criticalMarketPriceImpact) {
141
+ setShowCriticalMarketPriceImpactButtons(true);
142
+ return;
143
+ }
144
+ if (isDiffByPercent(quote?.receive_amount, newSwapData.quote.receive_amount, 2)) {
145
+ setActionStateText("Updating quotes");
146
+ setQuoteLoading(true);
147
+ await sleep(3500);
148
+ setQuoteLoading(false);
149
+ }
150
+ swapData = newSwapData.swap;
151
+ depositActions = newSwapData.deposit_actions;
123
152
  }
124
- if (isDiffByPercent(quote?.receive_amount, newSwapData.quote.receive_amount, 2)) {
125
- setActionStateText("Updating quotes");
126
- setQuoteLoading(true);
127
- await sleep(3500);
128
- setQuoteLoading(false);
153
+ if (!depositActions?.length) {
154
+ throw new Error('No deposit actions');
129
155
  }
130
- setActionStateText("Opening Wallet");
131
- setSwapId(swapId);
132
- const depositAction = newSwapData?.deposit_actions && newSwapData?.deposit_actions[0];
133
- if (!depositAction) {
134
- throw new Error('No deposit action');
156
+ if (!swapData) {
157
+ throw new Error('No swap data');
135
158
  }
136
- if (!depositAction.call_data) {
137
- throw new Error('No deposit action call data');
138
- }
139
- const transferProps = {
140
- network: swapData.source_network,
141
- token: swapData.source_token,
142
- selectedWallet: selectedWallet,
143
- amount: depositAction?.amount,
144
- callData: depositAction?.call_data,
145
- depositAddress: depositAction?.to_address,
146
- sequenceNumber: newSwapData.swap?.metadata.sequence_number,
147
- swapId: swapId,
148
- userDestinationAddress: newSwapData.swap?.destination_address
149
- };
159
+ const transferProps = resolveTransactionData(swapData, swapBasicData, depositActions, balances, selectedWallet);
160
+ setActionStateText("Opening Wallet");
150
161
  const hash = await onClick(transferProps);
151
162
  if (hash) {
152
163
  onWalletWithdrawalSuccess?.();
153
- setSwapTransaction(swapId, BackendTransactionStatus.Pending, hash);
154
- triggerSwapCreateCallback(newSwapData);
164
+ setSwapTransaction(swapData.id, BackendTransactionStatus.Pending, hash);
165
+ try {
166
+ await layerswapApiClient.SwapCatchup(swapData.id, hash);
167
+ }
168
+ catch (e) {
169
+ console.error('Error in SwapCatchup:', e);
170
+ const swapWithdrawalError = new Error(e);
171
+ swapWithdrawalError.name = `SwapCatchupError`;
172
+ swapWithdrawalError.cause = e;
173
+ ErrorHandler({
174
+ type: 'SwapWithdrawalError',
175
+ message: swapWithdrawalError.message,
176
+ name: swapWithdrawalError.name,
177
+ stack: swapWithdrawalError.stack,
178
+ cause: swapWithdrawalError.cause,
179
+ });
180
+ }
155
181
  }
156
182
  }
157
183
  catch (e) {
158
184
  setSwapId(undefined);
159
- console.log('Error in SendTransactionButton:', e);
160
- const swapWithdrawalError = new Error(e);
161
- swapWithdrawalError.name = `SwapWithdrawalError`;
162
- swapWithdrawalError.cause = e;
163
- // posthog.capture('$exception', {
164
- // name: swapWithdrawalError.name,
165
- // cause: swapWithdrawalError.cause,
166
- // message: swapWithdrawalError.message,
167
- // $layerswap_exception_type: "Swap Withdrawal Error",
168
- // stack: swapWithdrawalError.stack,
169
- // where: 'TransactionError',
170
- // severity: 'error',
171
- // });
185
+ const error = e;
186
+ ErrorHandler({
187
+ type: 'SwapWithdrawalError',
188
+ message: error.message,
189
+ name: error.name,
190
+ stack: error.stack,
191
+ cause: error.cause
192
+ });
172
193
  }
173
194
  finally {
174
195
  setLoading(false);
@@ -176,5 +197,31 @@ export const SendTransactionButton = ({ error, onClick, swapData, refuel, ...pro
176
197
  };
177
198
  if (quoteIsLoading || loading)
178
199
  return (_jsx(ButtonWrapper, { ...props, isSubmitting: true, isDisabled: true, children: actionStateText || "Preparing" }));
179
- return (_jsx(ButtonWrapper, { ...props, isSubmitting: props.isSubmitting || loading || quoteIsLoading, onClick: handleClick, isDisabled: quoteIsLoading || !!quoteError, children: error ? 'Try again' : 'Swap now' }));
200
+ if (showCriticalMarketPriceImpactButtons) {
201
+ return (_jsxs(_Fragment, { children: [quote && priceImpactValues && _jsx("div", { className: "py-1", children: _jsxs("div", { className: "flex items-start gap-2.5", children: [_jsx("span", { className: "shrink-0", children: _jsx(InfoIcon, { className: "w-5 h-5 text-warning-foreground" }) }), _jsxs("div", { className: "flex flex-col gap-1.5 pr-4", children: [_jsx("p", { className: "text-white font-semibold leading-4 text-base mt-0.5", children: "Critical receiving amount" }), _jsxs("p", { className: "text-priamry-text text-base font-normal leading-[18px]", children: [_jsx("span", { children: "By continuing, you agree to receive as low as " }), _jsxs("span", { className: "text-warning-foreground text-nowrap", children: [quote.min_receive_amount, " ", quote.destination_token?.symbol, " ($ ", priceImpactValues.minReceiveAmountUSD, ")"] })] })] })] }) }), _jsx(ButtonWrapper, { ...props, onClick: handleClick, buttonStyle: "secondary", size: "small", isSubmitting: false, isDisabled: false, children: "Continue anyway" }), _jsx(ButtonWrapper, { ...props, size: "small", onClick: () => onCancelWithdrawal?.(), isSubmitting: false, isDisabled: false, children: "Cancel & try another route" })] }));
202
+ }
203
+ return (_jsxs(_Fragment, { children: [!!(!swapId && criticalMarketPriceImpact && quote?.destination_token && priceImpactValues && !error) && _jsx("div", { className: "py-1", children: _jsxs("div", { className: "flex items-start gap-2.5", children: [_jsx("span", { className: "shrink-0", children: _jsx(InfoIcon, { className: "w-5 h-5 text-warning-foreground" }) }), _jsxs("div", { className: "flex flex-col gap-1.5 pr-4", children: [_jsx("p", { className: "text-white font-medium leading-4 text-base mt-0.5", children: "Critical receiving amount" }), _jsxs("p", { className: "text-secondary-text text-sm leading-[18px]", children: [_jsx("span", { children: "The \u201Creceive at least\u201D amount is affected by high price impact. You will receive at least " }), _jsxs("span", { children: [quote.min_receive_amount, " ", quote.destination_token?.symbol, " ($ ", priceImpactValues.minReceiveAmountUSD, ") "] })] })] })] }) }), _jsx(ButtonWrapper, { ...props, isSubmitting: props.isSubmitting || loading || quoteIsLoading, onClick: handleClick, isDisabled: quoteIsLoading || !!quoteError, children: error ? 'Try again' : 'Swap now' })] }));
204
+ };
205
+ const resolveTransactionData = (swapDetails, swapBasicData, deposit_actions, balances, selectedWallet) => {
206
+ const depositAction = deposit_actions?.find(action => action.type === 'transfer'
207
+ || ExceptionNetworks.includes(swapBasicData.source_network?.name) && action.type === 'manual_transfer');
208
+ if (!depositAction) {
209
+ throw new Error('No deposit action found');
210
+ }
211
+ return {
212
+ amount: depositAction.amount,
213
+ callData: depositAction.call_data,
214
+ depositAddress: depositAction.to_address,
215
+ sequenceNumber: swapDetails.metadata.sequence_number,
216
+ swapId: swapDetails.id,
217
+ userDestinationAddress: swapBasicData.destination_address,
218
+ balances: balances,
219
+ network: swapBasicData.source_network,
220
+ token: swapBasicData.source_token,
221
+ selectedWallet: selectedWallet,
222
+ };
180
223
  };
224
+ const ExceptionNetworks = [
225
+ KnownInternalNames.Networks.ImmutableXMainnet,
226
+ KnownInternalNames.Networks.ImmutableXSepolia
227
+ ];
@@ -2,13 +2,15 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
2
2
  import { useCallback, useEffect, useState } from "react";
3
3
  import { WithdrawalProvider } from "../../../../../context/withdrawalContext";
4
4
  import useWallet from "../../../../../hooks/useWallet";
5
- import { useSelectedAccount } from "../../../../../context/balanceAccounts";
5
+ import { useSelectedAccount } from "../../../../../context/swapAccounts";
6
6
  import { ChangeNetworkButton, ConnectWalletButton, SendTransactionButton } from "./Common/buttons";
7
- import TransactionMessages, { TransactionMessageType } from "../messages/TransactionMessages";
8
7
  import { useInitialSettings, useSettingsState } from "../../../../../context/settings";
9
8
  import WalletIcon from "../../../../../components/Icons/WalletIcon";
10
9
  import { useBalance } from "../../../../../lib/balances/useBalance";
11
- export const WalletTransferAction = ({ swapData, swapId, refuel, onWalletWithdrawalSuccess }) => {
10
+ import { ActionMessage } from "./Common/actionMessage";
11
+ import { ActionMessages } from "../messages/TransactionMessages";
12
+ import { useTransfer } from "../../../../../hooks/useTransfer";
13
+ export const WalletTransferAction = ({ swapData, swapId, refuel, onWalletWithdrawalSuccess, onCancelWithdrawal }) => {
12
14
  const { source_network } = swapData;
13
15
  const { provider, wallets } = useWallet(source_network, "withdrawal");
14
16
  const selectedSourceAccount = useSelectedAccount("from", source_network?.name);
@@ -19,7 +21,7 @@ export const WalletTransferAction = ({ swapData, swapId, refuel, onWalletWithdra
19
21
  }
20
22
  }, [selectedSourceAccount?.address, source_network?.name]);
21
23
  return _jsx(_Fragment, { children: swapData &&
22
- _jsx(WithdrawalProvider, { onWalletWithdrawalSuccess: onWalletWithdrawalSuccess, children: _jsx(WalletWithdrawal, { swapId: swapId, swapBasicData: swapData, refuel: refuel }) }) });
24
+ _jsx(WithdrawalProvider, { onWalletWithdrawalSuccess: onWalletWithdrawalSuccess, onCancelWithdrawal: onCancelWithdrawal, children: _jsx(WalletWithdrawal, { swapId: swapId, swapBasicData: swapData, refuel: refuel }) }) });
23
25
  };
24
26
  export const WalletWithdrawal = ({ swapBasicData, refuel, swapId }) => {
25
27
  const { source_network, destination_network, destination_address } = swapBasicData;
@@ -27,7 +29,7 @@ export const WalletWithdrawal = ({ swapBasicData, refuel, swapId }) => {
27
29
  const { wallets, provider } = useWallet(source_network, "withdrawal");
28
30
  const { sameAccountNetwork } = useInitialSettings();
29
31
  const wallet = wallets.find(w => w.id === selectedSourceAccount?.id && w.withdrawalSupportedNetworks?.includes(source_network?.name));
30
- const networkChainId = Number(source_network?.chain_id) ?? undefined;
32
+ const networkChainId = source_network?.chain_id ?? undefined;
31
33
  const [savedTransactionHash, setSavedTransactionHash] = useState();
32
34
  useEffect(() => {
33
35
  if (!swapId)
@@ -54,16 +56,16 @@ export const WalletWithdrawal = ({ swapBasicData, refuel, swapId }) => {
54
56
  if ((source_network?.name.toLowerCase() === sameAccountNetwork?.toLowerCase() || destination_network?.name.toLowerCase() === sameAccountNetwork?.toLowerCase())
55
57
  && (selectedSourceAccount?.address && destination_address && selectedSourceAccount?.address.toLowerCase() !== destination_address?.toLowerCase())) {
56
58
  const network = source_network?.name.toLowerCase() === sameAccountNetwork?.toLowerCase() ? source_network : destination_network;
57
- return _jsx(TransactionMessages.DifferentAccountsNotAllowedError, { network: network?.display_name });
59
+ return _jsx(ActionMessages.DifferentAccountsNotAllowedError, { network: network?.display_name });
58
60
  }
59
61
  if (!wallet) {
60
62
  return _jsx(ConnectWalletButton, {});
61
63
  }
62
- else if (wallet.chainId && wallet.chainId !== networkChainId && source_network) {
63
- return _jsx(ChangeNetworkButton, { chainId: networkChainId, network: source_network });
64
+ else if (wallet.chainId && wallet.chainId != networkChainId && source_network) {
65
+ return _jsx(ChangeNetworkButton, { chainId: Number(networkChainId), network: source_network });
64
66
  }
65
67
  else {
66
- return _jsx(TransferTokenButton, { swapData: swapBasicData, refuel: refuel, chainId: networkChainId, savedTransactionHash: savedTransactionHash });
68
+ return _jsx(TransferTokenButton, { swapData: swapBasicData, refuel: refuel, chainId: Number(networkChainId), savedTransactionHash: savedTransactionHash });
67
69
  }
68
70
  };
69
71
  const TransferTokenButton = ({ savedTransactionHash, chainId, swapData, refuel }) => {
@@ -76,7 +78,8 @@ const TransferTokenButton = ({ savedTransactionHash, chainId, swapData, refuel }
76
78
  const { provider, wallets } = useWallet(swapData.source_network, "withdrawal");
77
79
  const { balances } = useBalance(selectedSourceAccount?.address, networkWithTokens);
78
80
  const wallet = wallets.find(w => w.id === selectedSourceAccount?.id);
79
- const clickHandler = useCallback(async ({ amount, callData, depositAddress }) => {
81
+ const { executeTransfer } = useTransfer();
82
+ const clickHandler = useCallback(async ({ amount, callData, depositAddress, swapId }) => {
80
83
  setButtonClicked(true);
81
84
  setError(undefined);
82
85
  setLoading(true);
@@ -87,22 +90,47 @@ const TransferTokenButton = ({ savedTransactionHash, chainId, swapData, refuel }
87
90
  throw new Error('Missing amount');
88
91
  if (!wallet)
89
92
  throw new Error('No selected account');
90
- if (!provider?.transfer)
91
- throw new Error('No provider transfer');
92
- const tx = await provider.transfer({
93
- token: swapData.source_token,
94
- amount,
95
- depositAddress,
96
- callData,
97
- selectedWallet: wallet,
98
- network: swapData.source_network,
99
- balances: balances,
100
- userDestinationAddress: swapData.destination_address,
101
- });
102
- if (!tx)
103
- throw new Error('No transaction');
104
- if (tx) {
105
- return tx;
93
+ try {
94
+ const tx = await executeTransfer({
95
+ token: swapData.source_token,
96
+ amount,
97
+ depositAddress,
98
+ callData,
99
+ selectedWallet: wallet,
100
+ network: swapData.source_network,
101
+ balances: balances,
102
+ userDestinationAddress: swapData.destination_address,
103
+ swapId,
104
+ }, wallet);
105
+ if (!tx)
106
+ throw new Error('No transaction');
107
+ if (tx) {
108
+ return tx;
109
+ }
110
+ }
111
+ catch (e) {
112
+ if (typeof e === 'string' && e?.includes('No transfer provider found for network:')) {
113
+ if (!provider?.transfer)
114
+ throw new Error('No provider transfer');
115
+ const tx = await provider.transfer({
116
+ token: swapData.source_token,
117
+ amount,
118
+ depositAddress,
119
+ callData,
120
+ selectedWallet: wallet,
121
+ network: swapData.source_network,
122
+ balances: balances,
123
+ userDestinationAddress: swapData.destination_address,
124
+ }, wallet);
125
+ if (!tx)
126
+ throw new Error('No transaction');
127
+ if (tx) {
128
+ return tx;
129
+ }
130
+ }
131
+ else {
132
+ throw e;
133
+ }
106
134
  }
107
135
  }
108
136
  catch (e) {
@@ -110,45 +138,8 @@ const TransferTokenButton = ({ savedTransactionHash, chainId, swapData, refuel }
110
138
  setError(e);
111
139
  throw e;
112
140
  }
113
- }, [provider, chainId, selectedSourceAccount?.address]);
141
+ }, [executeTransfer, chainId, selectedSourceAccount?.address, wallet, swapData, balances]);
114
142
  return _jsxs("div", { className: "w-full space-y-3 flex flex-col justify-between h-full text-primary-text", children: [buttonClicked &&
115
- _jsx(TransactionMessage, { error: error, isLoading: loading }), !loading &&
143
+ _jsx(ActionMessage, { error: error, isLoading: loading }), !loading &&
116
144
  _jsx(SendTransactionButton, { onClick: clickHandler, icon: _jsx(WalletIcon, { className: "stroke-2 w-6 h-6" }), error: !!error && buttonClicked, swapData: swapData, refuel: refuel })] });
117
145
  };
118
- const TransactionMessage = ({ error, isLoading }) => {
119
- if (isLoading) {
120
- return _jsx(TransactionMessages.ConfirmTransactionMessage, {});
121
- }
122
- else if (error.name === TransactionMessageType.TransactionRejected) {
123
- return _jsx(TransactionMessages.TransactionRejectedMessage, {});
124
- }
125
- else if (error.name === TransactionMessageType.TransactionFailed) {
126
- return _jsx(TransactionMessages.TransactionFailedMessage, {});
127
- }
128
- else if (error.name === TransactionMessageType.InsufficientFunds) {
129
- return _jsx(TransactionMessages.InsufficientFundsMessage, {});
130
- }
131
- else if (error.name === TransactionMessageType.WaletMismatch) {
132
- return _jsx(TransactionMessages.WaletMismatchMessage, { address: error.message });
133
- }
134
- else if (error.name === TransactionMessageType.DifferentAccountsNotAllowedError) {
135
- return _jsx(TransactionMessages.DifferentAccountsNotAllowedError, { network: error.message });
136
- }
137
- else if (error) {
138
- const swapWithdrawalError = new Error(error.message);
139
- swapWithdrawalError.name = `SwapWithdrawalError`;
140
- swapWithdrawalError.cause = error;
141
- // posthog.captureException('$exception', {
142
- // name: swapWithdrawalError.name,
143
- // message: swapWithdrawalError.message,
144
- // $layerswap_exception_type: "Swap Withdrawal Error",
145
- // stack: swapWithdrawalError.stack,
146
- // cause: swapWithdrawalError.cause,
147
- // where: 'swapWithdrawalError',
148
- // severity: 'error',
149
- // });
150
- return _jsx(TransactionMessages.UnexpectedErrorMessage, { message: error.message });
151
- }
152
- else
153
- return _jsx(_Fragment, {});
154
- };
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { WalletTransferAction } from './Wallet';
3
- const WalletTransferButton = ({ swapBasicData: swapData, swapId, refuel, balanceWarning, onWalletWithdrawalSuccess }) => {
4
- return _jsx(_Fragment, { children: _jsx("div", { className: 'rounded-2xl bg-secondary-500 divide-y divide-secondary-300 p-3', children: _jsxs("div", { className: 'flex flex-col gap-2.5', children: [balanceWarning, _jsx(WalletTransferAction, { swapData: swapData, swapId: swapId, refuel: refuel, onWalletWithdrawalSuccess: onWalletWithdrawalSuccess })] }) }) });
3
+ const WalletTransferButton = ({ swapBasicData: swapData, swapId, refuel, balanceWarning, onWalletWithdrawalSuccess, onCancelWithdrawal }) => {
4
+ return _jsx(_Fragment, { children: _jsx("div", { className: 'rounded-2xl bg-secondary-500 divide-y divide-secondary-300 p-3', children: _jsxs("div", { className: 'flex flex-col gap-2.5', children: [balanceWarning, _jsx(WalletTransferAction, { swapData: swapData, swapId: swapId, refuel: refuel, onWalletWithdrawalSuccess: onWalletWithdrawalSuccess, onCancelWithdrawal: onCancelWithdrawal })] }) }) });
5
5
  };
6
6
  export default WalletTransferButton;
@@ -7,7 +7,7 @@ import { truncateDecimals } from '../../../../components/utils/RoundDecimals';
7
7
  import VaulDrawer from '../../../../components/Modal/vaulModal';
8
8
  import { useSettingsState } from '../../../../context/settings';
9
9
  import WalletsList from '../../../../components/Wallet/WalletComponents/WalletsList';
10
- import { useSelectedAccount, useUpdateBalanceAccount } from '../../../../context/balanceAccounts';
10
+ import { useSelectedAccount, useSelectSwapAccount } from '../../../../context/swapAccounts';
11
11
  import { useBalance } from '../../../../lib/balances/useBalance';
12
12
  const WalletTransferContent = ({ openModal, setOpenModal, swapData }) => {
13
13
  const { networks } = useSettingsState();
@@ -16,7 +16,7 @@ const WalletTransferContent = ({ openModal, setOpenModal, swapData }) => {
16
16
  const { provider } = useWallet(source_network, 'withdrawal');
17
17
  const selectedSourceAccount = useSelectedAccount("from", source_network?.name);
18
18
  const availableWallets = provider?.connectedWallets?.filter(c => !c.isNotAvailable) || [];
19
- const selectSourceAccount = useUpdateBalanceAccount("from");
19
+ const selectSourceAccount = useSelectSwapAccount("from");
20
20
  const changeWallet = async (props) => {
21
21
  selectSourceAccount({
22
22
  id: props.walletId,
@@ -9,9 +9,9 @@ import { SwapQuoteDetails } from './SwapQuoteDetails';
9
9
  import WalletTransferButton from './WalletTransferButton';
10
10
  import { useBalance } from '../../../../lib/balances/useBalance';
11
11
  import { useSettingsState } from '../../../../context/settings';
12
- import { useSelectedAccount } from '../../../../context/balanceAccounts';
12
+ import { useSelectedAccount } from '../../../../context/swapAccounts';
13
13
  import { ErrorDisplay } from '../../../../components/Pages/Swap/Form/SecondaryComponents/validationError/ErrorDisplay';
14
- const Withdraw = ({ type, onWalletWithdrawalSuccess, partner }) => {
14
+ const Withdraw = ({ type, onWalletWithdrawalSuccess, onCancelWithdrawal, partner }) => {
15
15
  const { swapBasicData, swapDetails, quote, refuel, quoteIsLoading, quoteError } = useSwapDataState();
16
16
  const { appName, signature } = useInitialSettings();
17
17
  const sourceIsImmutableX = swapBasicData?.source_network.name?.toUpperCase() === KnownInternalNames.Networks.ImmutableXMainnet?.toUpperCase()
@@ -30,7 +30,7 @@ const Withdraw = ({ type, onWalletWithdrawalSuccess, partner }) => {
30
30
  && Number(walletBalanceAmount) < Number(swapBasicData?.requested_amount);
31
31
  if (swapBasicData?.use_deposit_address === false) {
32
32
  withdraw = {
33
- footer: _jsx(WalletTransferButton, { swapBasicData: swapBasicData, swapId: swapDetails?.id, refuel: !!refuel, onWalletWithdrawalSuccess: onWalletWithdrawalSuccess, balanceWarning: showInsufficientBalanceWarning ? _jsx(ErrorDisplay, { errorName: 'insufficientFunds' }) : null })
33
+ footer: _jsx(WalletTransferButton, { swapBasicData: swapBasicData, swapId: swapDetails?.id, refuel: !!refuel, onWalletWithdrawalSuccess: onWalletWithdrawalSuccess, balanceWarning: showInsufficientBalanceWarning ? _jsx(ErrorDisplay, { errorName: 'insufficientFunds' }) : null, onCancelWithdrawal: onCancelWithdrawal })
34
34
  };
35
35
  }
36
36
  if (isImtblMarketplace) {
@@ -5,18 +5,19 @@ import { Widget } from "../../../Widget/Index";
5
5
  import { SwapDataProvider, useSwapDataState, useSwapDataUpdate } from "../../../../context/swap";
6
6
  import NotFound from "./NotFound";
7
7
  import SwapDetails from "./SwapDetails";
8
- import { LayerswapProvider } from "../../../../context/LayerswapProvider";
8
+ import { useCallbacks } from "../../../../context/callbackProvider";
9
9
  const Comp = () => {
10
10
  const { swapBasicData, swapApiError, swapId } = useSwapDataState();
11
11
  const { mutateSwap } = useSwapDataUpdate();
12
+ const { onBackClick } = useCallbacks();
12
13
  useEffect(() => {
13
14
  mutateSwap();
14
15
  }, []);
15
16
  if (!swapBasicData)
16
- return _jsx(Widget, { children: _jsx("div", { className: `rounded-lg w-full overflow-hidden relative h-[548px]`, children: swapApiError &&
17
+ return _jsx(Widget, { goBack: onBackClick, children: _jsx("div", { className: `rounded-lg w-full overflow-hidden relative h-[548px]`, children: swapApiError &&
17
18
  _jsx(NotFound, { swapId: swapId }) }) });
18
19
  return (_jsx(SwapDetails, { type: "widget" }));
19
20
  };
20
- export const SwapWithdrawal = (props) => {
21
- return (_jsx(LayerswapProvider, { ...props, children: _jsx(SwapDataProvider, { children: _jsx(Comp, {}) }) }));
21
+ export const SwapWithdrawal = () => {
22
+ return (_jsx(SwapDataProvider, { children: _jsx(Comp, {}) }));
22
23
  };
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import WalletMessage from "./Message";
3
3
  import shortenAddress from "../../../../../components/utils/ShortenAddress";
4
- const ConfirmTransactionMessage = () => {
4
+ const ConfirmActionMessage = () => {
5
5
  return _jsx(WalletMessage, { status: "pending", header: 'Confirm in wallet', details: 'Please confirm the transaction in your wallet' });
6
6
  };
7
7
  const TransactionInProgressMessage = () => {
@@ -28,8 +28,8 @@ const SwapErrorMessage = ({ message }) => {
28
28
  const UnexpectedErrorMessage = ({ message }) => {
29
29
  return _jsx(WalletMessage, { status: "error", header: 'Unexpected error', details: message, showInModal: true });
30
30
  };
31
- const ActionMessages = {
32
- ConfirmTransactionMessage,
31
+ export const ActionMessages = {
32
+ ConfirmActionMessage,
33
33
  TransactionInProgressMessage,
34
34
  InsufficientFundsMessage,
35
35
  TransactionRejectedMessage,
@@ -39,15 +39,14 @@ const ActionMessages = {
39
39
  UnexpectedErrorMessage,
40
40
  DifferentAccountsNotAllowedError
41
41
  };
42
- export var TransactionMessageType;
43
- (function (TransactionMessageType) {
44
- TransactionMessageType["ConfirmTransaction"] = "ConfirmTransaction";
45
- TransactionMessageType["TransactionInProgress"] = "TransactionInProgress";
46
- TransactionMessageType["InsufficientFunds"] = "InsufficientFunds";
47
- TransactionMessageType["TransactionRejected"] = "TransactionRejected";
48
- TransactionMessageType["WaletMismatch"] = "WaletMismatch";
49
- TransactionMessageType["TransactionFailed"] = "TransactionFailed";
50
- TransactionMessageType["UnexpectedErrorMessage"] = "UnexpectedErrorMessage";
51
- TransactionMessageType["DifferentAccountsNotAllowedError"] = "DifferentAccountsNotAllowedError";
52
- })(TransactionMessageType || (TransactionMessageType = {}));
53
- export default ActionMessages;
42
+ export var ActionMessageType;
43
+ (function (ActionMessageType) {
44
+ ActionMessageType["ConfirmTransaction"] = "ConfirmTransaction";
45
+ ActionMessageType["TransactionInProgress"] = "TransactionInProgress";
46
+ ActionMessageType["InsufficientFunds"] = "InsufficientFunds";
47
+ ActionMessageType["TransactionRejected"] = "TransactionRejected";
48
+ ActionMessageType["WaletMismatch"] = "WaletMismatch";
49
+ ActionMessageType["TransactionFailed"] = "TransactionFailed";
50
+ ActionMessageType["UnexpectedErrorMessage"] = "UnexpectedErrorMessage";
51
+ ActionMessageType["DifferentAccountsNotAllowedError"] = "DifferentAccountsNotAllowedError";
52
+ })(ActionMessageType || (ActionMessageType = {}));
@@ -85,10 +85,10 @@ const HistoryList = ({ onNewTransferClick }) => {
85
85
  }) }) }) }) }) }));
86
86
  };
87
87
  const BlankHistory = ({ onNewTransferClick }) => {
88
- return _jsxs("div", { className: "w-full h-full min-h-[inherit] flex flex-col justify-between items-center space-y-10", children: [_jsx("div", {}), _jsxs("div", { className: "w-full h-full flex flex-col justify-center items-center ", children: [_jsx(HistoryItemSceleton, { className: "scale-[.63] w-full shadow-lg mr-7" }), _jsx(HistoryItemSceleton, { className: "scale-[.63] -mt-12 shadow-card ml-7 w-full" }), _jsxs("div", { className: "mt-2 text-center space-y-2", children: [_jsx("h1", { className: "text-secondary-text text-[28px] font-bold tracking-wide", children: "No Transfer History" }), _jsx("p", { className: "max-w-xs text-center text-primary-text-tertiary text-base font-normal mx-auto", children: "Transfers you make with this wallet/account will appear here after excution." })] }), _jsxs("button", { type: 'button', onClick: onNewTransferClick, className: "mt-10 flex items-center gap-2 text-base text-secondary-text font-normal bg-secondary-500 hover:bg-secondary-400 py-2 px-3 rounded-lg", children: [_jsx(Plus, { className: "w-4 h-4" }), _jsx("p", { children: "New Transfer" })] })] })] });
88
+ return _jsxs("div", { className: "w-full h-full min-h-[inherit] flex flex-col justify-between items-center space-y-10", children: [_jsx("div", {}), _jsxs("div", { className: "w-full h-full flex flex-col justify-center items-center ", children: [_jsx(HistoryItemSceleton, { className: "scale-[.63] w-full shadow-card mr-7" }), _jsx(HistoryItemSceleton, { className: "scale-[.63] -mt-12 shadow-card ml-7 w-full" }), _jsxs("div", { className: "mt-2 text-center space-y-2", children: [_jsx("h1", { className: "text-secondary-text text-[28px] font-bold tracking-wide", children: "No Transfer History" }), _jsx("p", { className: "max-w-xs text-center text-primary-text-tertiary text-base font-normal mx-auto", children: "Transfers you make with this wallet/account will appear here after excution." })] }), _jsxs("button", { type: 'button', onClick: onNewTransferClick, className: "mt-10 flex items-center gap-2 text-base text-secondary-text font-normal bg-secondary-500 hover:bg-secondary-400 py-2 px-3 rounded-lg", children: [_jsx(Plus, { className: "w-4 h-4" }), _jsx("p", { children: "New Transfer" })] })] })] });
89
89
  };
90
90
  const ConnectWalletCard = () => {
91
- return _jsxs("div", { className: "w-full h-full flex flex-col justify-between items-center space-y-10", children: [_jsxs("div", { className: "flex flex-col items-center justify-center text-center w-full h-full", children: [_jsx(HistoryItemSceleton, { className: "scale-[.63] w-full shadow-lg mr-7" }), _jsx(HistoryItemSceleton, { className: "scale-[.63] -mt-12 shadow-card ml-7 w-full" }), _jsxs("div", { className: "mt-4 text-center space-y-3", children: [_jsx("h1", { className: "text-secondary-text text-[28px] font-bold tracking-wide", children: "Connect wallet" }), _jsx("p", { className: "max-w-xs text-center text-primary-text-tertiary text-base font-normal mx-auto", children: "In order to see your transfer history you need to connect your wallet." })] })] }), _jsx("div", { className: "flex flex-col items-center w-full space-y-3", children: _jsx(ConnectButton, { className: "w-full", children: _jsx("div", { className: "w-full py-2.5 px-3 text-xl font-semibold bg-primary-text-tertiary hover:opacity-90 duration-200 active:opacity-80 transition-opacity rounded-lg text-secondary-900", children: _jsx("div", { className: "text-center text-xl font-semibold", children: "Connect Wallet" }) }) }) })] });
91
+ return _jsxs("div", { className: "w-full h-full flex flex-col justify-between items-center space-y-10", children: [_jsxs("div", { className: "flex flex-col items-center justify-center text-center w-full h-full", children: [_jsx(HistoryItemSceleton, { className: "scale-[.63] w-full shadow-card mr-7" }), _jsx(HistoryItemSceleton, { className: "scale-[.63] -mt-12 shadow-card ml-7 w-full" }), _jsxs("div", { className: "mt-4 text-center space-y-3", children: [_jsx("h1", { className: "text-secondary-text text-[28px] font-bold tracking-wide", children: "Connect wallet" }), _jsx("p", { className: "max-w-xs text-center text-primary-text-tertiary text-base font-normal mx-auto", children: "In order to see your transfer history you need to connect your wallet." })] })] }), _jsx("div", { className: "flex flex-col items-center w-full space-y-3", children: _jsx(ConnectButton, { className: "w-full", children: _jsx("div", { className: "w-full py-2.5 px-3 text-xl font-semibold bg-primary-text-tertiary hover:opacity-90 duration-200 active:opacity-80 transition-opacity rounded-lg text-secondary-900", children: _jsx("div", { className: "text-center text-xl font-semibold", children: "Connect Wallet" }) }) }) })] });
92
92
  };
93
93
  function DaysAgo({ dateInput }) {
94
94
  // Get the current date
@@ -31,7 +31,10 @@ const SwapDetails = ({ swapResponse }) => {
31
31
  // Create a new swap based on the current swap data
32
32
  // Determine if this is a cross-chain or exchange swap
33
33
  const swapType = (swap.source_exchange || swap.destination_exchange) ? 'exchange' : 'cross-chain';
34
- const newSwapData = generateSwapInitialValuesFromSwap(swap, false, settings, swapType);
34
+ const newSwapData = generateSwapInitialValuesFromSwap({
35
+ ...swap,
36
+ requested_amount: swap.requested_amount.toString()
37
+ }, false, settings, swapType);
35
38
  setSubmitedFormValues(newSwapData);
36
39
  // For wallet deposits, follow the same flow as FormWrapper's handleCreateSwap
37
40
  if (newSwapData.depositMethod === 'wallet') {
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import Content from "./History";
4
- import Header from "./Header";
5
4
  import { SwapDataProvider } from "../../../context/swap";
6
- import { useBackClickCallback } from "../../../context/callbackProvider";
7
- export const TransactionsHistory = () => {
8
- const triggerOnBackClickCallback = useBackClickCallback();
9
- return (_jsx(SwapDataProvider, { children: _jsxs("div", { id: "widget", className: 'bg-secondary-900 sm:shadow-card sm:relative rounded-lg w-full text-primary-text overflow-y-auto sm:overflow-hidden max-h-screen h-full sm:h-[650px]', children: [_jsxs("div", { className: "overflow-y-auto flex flex-col h-full z-40 pb-4", children: [_jsx(Header, { onBackClick: triggerOnBackClickCallback }), _jsx("div", { className: "px-6 h-full overflow-y-auto styled-scroll max-h-[80vh]", id: 'virtualListContainer', children: _jsx(Content, {}) })] }), _jsx("div", { id: "widget_root" })] }) }));
5
+ import { useCallbacks } from "../../../context/callbackProvider";
6
+ import { Widget } from "../../../components/Widget/Index";
7
+ export const TransactionsHistory = ({ height = '600px' }) => {
8
+ const { onBackClick } = useCallbacks();
9
+ return (_jsx(SwapDataProvider, { children: _jsx(Widget, { goBack: onBackClick, children: _jsx(Widget.Content, { children: _jsx("div", { style: { height }, className: "h-full w-full overflow-y-auto styled-scroll", id: 'virtualListContainer', children: _jsx(Content, {}) }) }) }) }));
10
10
  };
@@ -39,5 +39,5 @@ const WalletsMenuWalletsList = ({ wallets }) => {
39
39
  return _jsxs(_Fragment, { children: [_jsx("button", { onClick: () => setOpenModal(true), type: "button", className: "py-3 px-4 bg-secondary-500 flex items-center w-full rounded-xl space-x-1 disabled:text-secondary-text/40 disabled:bg-primary-900 disabled:cursor-not-allowed relative font-semibold transform border border-secondary-500 hover:bg-secondary-400 transition duration-200 ease-in-out outline-hidden", children: wallets.length === 1 ?
40
40
  _jsxs("div", { className: "flex gap-4 items-start text-primary-text", children: [_jsx(wallet.icon, { className: 'h-5 w-5' }), !wallet.isLoading && wallet.address && _jsx("p", { children: shortenAddress(wallet.address) })] })
41
41
  :
42
- _jsxs(_Fragment, { children: [_jsx("div", { className: "flex justify-center w-full", children: "Connected wallets" }), _jsx("div", { className: "place-items-end absolute left-2.5", children: _jsx(WalletsIcons, { wallets: wallets }) })] }) }), _jsx(VaulDrawer, { show: openModal, setShow: setOpenModal, header: `Connected wallets`, modalId: "connectedWallets", children: _jsx(VaulDrawer.Snap, { id: "item-1", children: _jsx(WalletsList, { wallets: wallets }) }) })] });
42
+ _jsxs(_Fragment, { children: [_jsx("div", { className: "flex justify-center w-full", children: "Connected wallets" }), _jsx("div", { className: "place-items-end absolute left-2.5", children: _jsx(WalletsIcons, { wallets: wallets }) })] }) }), _jsx(VaulDrawer, { show: openModal, setShow: setOpenModal, header: `Connected wallets`, modalId: "connectedWallets", className: "expandContainerHeight", children: _jsx(VaulDrawer.Snap, { id: "item-1", children: _jsx(WalletsList, { wallets: wallets }) }) })] });
43
43
  };