@velora-dex/widget 0.8.1 → 0.8.3-dev.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 (692) hide show
  1. package/dist/components/SearchInput/SearchInput.js.map +1 -1
  2. package/dist/components/ui/accordion.js.map +1 -1
  3. package/dist/components/ui/button.js.map +1 -1
  4. package/dist/components/ui/card.js.map +1 -1
  5. package/dist/components/ui/drawer.js.map +1 -1
  6. package/dist/components/ui/dropdown-menu.js.map +1 -1
  7. package/dist/components/ui/input.js.map +1 -1
  8. package/dist/components/ui/progress.js.map +1 -1
  9. package/dist/components/ui/skeleton.js.map +1 -1
  10. package/dist/components/ui/sonner.js.map +1 -1
  11. package/dist/components/ui/switch.js.map +1 -1
  12. package/dist/components/ui/tooltip.js.map +1 -1
  13. package/dist/components/web3/AccountButton.js.map +1 -1
  14. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  15. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
  16. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
  17. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
  18. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  19. package/dist/components/web3/ConnectWallets/index.js +1 -1
  20. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  21. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  22. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  23. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  24. package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
  25. package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -1
  26. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  27. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  28. package/dist/components/web3/providers.js.map +1 -1
  29. package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
  30. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
  31. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  32. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  33. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  34. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  35. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  36. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  37. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  38. package/dist/components/widget/AppHeader/state/showMoreAtom.js.map +1 -1
  39. package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
  40. package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
  41. package/dist/components/widget/BridgeList/BridgesList.js.map +1 -1
  42. package/dist/components/widget/BridgeList/hooks.d.ts +2 -2
  43. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
  44. package/dist/components/widget/BridgeList/hooks.js +79 -73
  45. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  46. package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -1
  47. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +2 -2
  48. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -1
  49. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  50. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
  51. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -1
  52. package/dist/components/widget/Button/DismissButton.js.map +1 -1
  53. package/dist/components/widget/Button/RefreshButton.js.map +1 -1
  54. package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -1
  55. package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
  56. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  57. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  58. package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
  59. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  60. package/dist/components/widget/DexesList/DexesList.js.map +1 -1
  61. package/dist/components/widget/DexesList/getDexProps.js.map +1 -1
  62. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  63. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  64. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  65. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  66. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  67. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  68. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  69. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  70. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  71. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  72. package/dist/components/widget/Drawer/index.js.map +1 -1
  73. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  74. package/dist/components/widget/Duration/Duration.js.map +1 -1
  75. package/dist/components/widget/Duration/utils.js.map +1 -1
  76. package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -1
  77. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -1
  78. package/dist/components/widget/EnabledList/EnabledList.js.map +1 -1
  79. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -1
  80. package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
  81. package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
  82. package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
  83. package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
  84. package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
  85. package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
  86. package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
  87. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  88. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  89. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  90. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  91. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
  92. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +5 -8
  93. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  94. package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
  95. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  96. package/dist/components/widget/LimitPriceInput/index.js +6 -6
  97. package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
  98. package/dist/components/widget/Line/Line.js.map +1 -1
  99. package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -1
  100. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  101. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  102. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  103. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -1
  104. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -1
  105. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -1
  106. package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -1
  107. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  108. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  109. package/dist/components/widget/NumberInput/NumberInput.js.map +1 -1
  110. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  111. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  112. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  113. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -1
  114. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +5 -8
  115. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
  116. package/dist/components/widget/OtcOrderItem/constants.js.map +1 -1
  117. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
  118. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  119. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  120. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  121. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  122. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  123. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  124. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  125. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  126. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  127. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  128. package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
  129. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  130. package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -1
  131. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  132. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  133. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  134. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  135. package/dist/components/widget/SwapRate/SwapRateWithTooltip.js.map +1 -1
  136. package/dist/components/widget/SwapRate/utils.js.map +1 -1
  137. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
  138. package/dist/components/widget/Tabs/Tabs.js.map +1 -1
  139. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  140. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  141. package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -1
  142. package/dist/components/widget/TokenInput/InputContainer.js.map +1 -1
  143. package/dist/components/widget/TokenInput/InputField.js.map +1 -1
  144. package/dist/components/widget/TokenInput/InputFooter.js.map +1 -1
  145. package/dist/components/widget/TokenInput/InputHeader.js.map +1 -1
  146. package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
  147. package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -1
  148. package/dist/components/widget/TokenInput/index.js.map +1 -1
  149. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  150. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -1
  151. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -1
  152. package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -1
  153. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  154. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  155. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +2 -2
  156. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  157. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  158. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  159. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  160. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  161. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  162. package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
  163. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  164. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  165. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  166. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
  167. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  168. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  169. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  170. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  171. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  172. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  173. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
  174. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  175. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  176. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  177. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  178. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
  179. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  180. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +2 -2
  181. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
  182. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  183. package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
  184. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  185. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -1
  186. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
  187. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +4 -1
  188. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
  189. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +1 -1
  190. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  191. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -1
  192. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -1
  193. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
  194. package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -1
  195. package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
  196. package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
  197. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -1
  198. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -1
  199. package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
  200. package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
  201. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  202. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  203. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  204. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  205. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  206. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
  207. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
  208. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -1
  209. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js.map +1 -1
  210. package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js.map +1 -1
  211. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -1
  212. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
  213. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -1
  214. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -1
  215. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
  216. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
  217. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  218. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  219. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  220. package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
  221. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  222. package/dist/components/widget/TransactionDetails/utils.js.map +1 -1
  223. package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
  224. package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
  225. package/dist/components/widget/Twap/OrderSplit.js.map +1 -1
  226. package/dist/components/widget/Twap/RateProtection.js.map +1 -1
  227. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -1
  228. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  229. package/dist/components/widget/Warning/Warning.js.map +1 -1
  230. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  231. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  232. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  233. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  234. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  235. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  236. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  237. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  238. package/dist/core/LimitOrderButton.js +46 -52
  239. package/dist/core/LimitOrderButton.js.map +1 -1
  240. package/dist/core/LimitOrderDetails.js.map +1 -1
  241. package/dist/core/OtcOrderButton.js.map +1 -1
  242. package/dist/core/OtcOrderDetails.js.map +1 -1
  243. package/dist/core/Toaster.js.map +1 -1
  244. package/dist/core/TradeFlowScreenButton.d.ts +3 -4
  245. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  246. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  247. package/dist/core/TwapDetails.js.map +1 -1
  248. package/dist/core/Updaters.js.map +1 -1
  249. package/dist/core/Warnings.js.map +1 -1
  250. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  251. package/dist/core/across/utils.js.map +1 -1
  252. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  253. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +1 -4
  254. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  255. package/dist/core/index.js.map +1 -1
  256. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
  257. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  258. package/dist/core/inputs/hooks/useTokenFromInputProps.js +2 -2
  259. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  260. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  261. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  262. package/dist/core/inputs/hooks/useTokenToInputProps.js +2 -2
  263. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  264. package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
  265. package/dist/core/inputs/hooks/utils.d.ts.map +1 -1
  266. package/dist/core/inputs/hooks/utils.js +7 -5
  267. package/dist/core/inputs/hooks/utils.js.map +1 -1
  268. package/dist/core/inputs/state/common.js.map +1 -1
  269. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  270. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  271. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  272. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  273. package/dist/core/inputs/state/subscriptions.js.map +1 -1
  274. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  275. package/dist/core/limit/state/isCrosschainAtom.js.map +1 -1
  276. package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
  277. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  278. package/dist/core/limit/state/receiverAddressAtom.js.map +1 -1
  279. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  280. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  281. package/dist/core/limit/state/utils.js.map +1 -1
  282. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  283. package/dist/core/limit/useLimitNotSupported.js.map +1 -1
  284. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  285. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  286. package/dist/core/limit/useLimitRate.d.ts +2 -3
  287. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  288. package/dist/core/limit/useLimitRate.js +54 -110
  289. package/dist/core/limit/useLimitRate.js.map +1 -1
  290. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  291. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  292. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  293. package/dist/core/limit/useLimitTokenToInputProps.js +1 -4
  294. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  295. package/dist/core/logger.js.map +1 -1
  296. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  297. package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
  298. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  299. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  300. package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
  301. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  302. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  303. package/dist/core/otc/useOtcNotSupported.js.map +1 -1
  304. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  305. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  306. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  307. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  308. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  309. package/dist/core/screen/hooks/useInitialValue.js.map +1 -1
  310. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  311. package/dist/core/screen/hooks/useResizeObserver.js.map +1 -1
  312. package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
  313. package/dist/core/screen/state/hooks/useScreen.js.map +1 -1
  314. package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -1
  315. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
  316. package/dist/core/screen/state/screenAtom.js.map +1 -1
  317. package/dist/core/state/apiConfigAtom.js.map +1 -1
  318. package/dist/core/state/chainToAtom.js.map +1 -1
  319. package/dist/core/state/configActionsAtom.js.map +1 -1
  320. package/dist/core/state/configEffectAtom.js.map +1 -1
  321. package/dist/core/state/containerAtom.js.map +1 -1
  322. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  323. package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
  324. package/dist/core/state/externalProviderAtom.js.map +1 -1
  325. package/dist/core/state/getSelectableDestChains.js.map +1 -1
  326. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  327. package/dist/core/state/tradeModeAtom.js.map +1 -1
  328. package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -1
  329. package/dist/core/state/validatedReferrerConfigAtom.js.map +1 -1
  330. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  331. package/dist/core/subscriptions.js.map +1 -1
  332. package/dist/core/swapDetails/fees.d.ts.map +1 -1
  333. package/dist/core/swapDetails/fees.js +16 -11
  334. package/dist/core/swapDetails/fees.js.map +1 -1
  335. package/dist/core/swapDetails/maxToPay.d.ts.map +1 -1
  336. package/dist/core/swapDetails/maxToPay.js +18 -17
  337. package/dist/core/swapDetails/maxToPay.js.map +1 -1
  338. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  339. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  340. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  341. package/dist/core/swapDetails/youGet.js.map +1 -1
  342. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -1
  343. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
  344. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
  345. package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
  346. package/dist/core/twap/state/twapSideAtom.js.map +1 -1
  347. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +2 -2
  348. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -1
  349. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  350. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -1
  351. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
  352. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -1
  353. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
  354. package/dist/events/effects/formInput.js.map +1 -1
  355. package/dist/events/effects/price.js.map +1 -1
  356. package/dist/events/effects/swapMode.js.map +1 -1
  357. package/dist/events/getters/limit.js.map +1 -1
  358. package/dist/events/getters/otc.js.map +1 -1
  359. package/dist/events/getters/settings.js.map +1 -1
  360. package/dist/events/getters/swap.js.map +1 -1
  361. package/dist/events/getters/twap.js.map +1 -1
  362. package/dist/events/getters/widgetState.js.map +1 -1
  363. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  364. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  365. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  366. package/dist/events/types/priceChange.d.ts +2 -2
  367. package/dist/events/types/priceChange.d.ts.map +1 -1
  368. package/dist/events/types/swap.d.ts +2 -2
  369. package/dist/events/types/swap.d.ts.map +1 -1
  370. package/dist/events/types/twap.d.ts +2 -2
  371. package/dist/events/types/twap.d.ts.map +1 -1
  372. package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1/external/vaul/dist/index.js.map +1 -1
  373. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  374. package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
  375. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  376. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  377. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  378. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  379. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  380. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  381. package/dist/hooks/gas/utils.js.map +1 -1
  382. package/dist/hooks/getCode/query.js.map +1 -1
  383. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  384. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  385. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  386. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  387. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  388. package/dist/hooks/otc/mutations/utils.js.map +1 -1
  389. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  390. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  391. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  392. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  393. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  394. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  395. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  396. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  397. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  398. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  399. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  400. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
  401. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  402. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  403. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  404. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  405. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  406. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
  407. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  408. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js.map +1 -1
  409. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  410. package/dist/hooks/permit/utils/constants.js.map +1 -1
  411. package/dist/hooks/permit/utils/construct.js.map +1 -1
  412. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  413. package/dist/hooks/permit/utils/detect.js.map +1 -1
  414. package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
  415. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
  416. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
  417. package/dist/hooks/permit/utils/utils.js.map +1 -1
  418. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  419. package/dist/hooks/sdk/useSpender.js.map +1 -1
  420. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +3 -4
  421. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -1
  422. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  423. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +6 -3
  424. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
  425. package/dist/hooks/swap/prices/delta/bridge/utils.js +20 -17
  426. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  427. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -1
  428. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +2 -2
  429. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
  430. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +5 -5
  431. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  432. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
  433. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +2 -2
  434. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
  435. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +2 -2
  436. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  437. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
  438. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -1
  439. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +27 -28
  440. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  441. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +3 -3
  442. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  443. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +2 -2
  444. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  445. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  446. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  447. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
  448. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  449. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +5 -5
  450. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  451. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  452. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
  453. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +27 -28
  454. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  455. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
  456. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
  457. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  458. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +2 -2
  459. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  460. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
  461. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  462. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +1 -1
  463. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  464. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +5 -6
  465. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  466. package/dist/hooks/swap/prices/delta/mutations/utils.js +6 -6
  467. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  468. package/dist/hooks/swap/prices/delta/orders/types.d.ts +2 -1
  469. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  470. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -1
  471. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  472. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
  473. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +11 -14
  474. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  475. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +3 -3
  476. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  477. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +2 -2
  478. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  479. package/dist/hooks/swap/prices/delta/orders/utils.js +6 -3
  480. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  481. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  482. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  483. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
  484. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
  485. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
  486. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  487. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  488. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
  489. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  490. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +17 -34
  491. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  492. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +6 -6
  493. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  494. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  495. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  496. package/dist/hooks/swap/prices/factory.d.ts.map +1 -1
  497. package/dist/hooks/swap/prices/factory.js +1 -1
  498. package/dist/hooks/swap/prices/factory.js.map +1 -1
  499. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  500. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  501. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -1
  502. package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
  503. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -1
  504. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  505. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  506. package/dist/hooks/swap/prices/types.d.ts +2 -3
  507. package/dist/hooks/swap/prices/types.d.ts.map +1 -1
  508. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  509. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -3
  510. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  511. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  512. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +3 -3
  513. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  514. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +2 -2
  515. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -1
  516. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  517. package/dist/hooks/swap/prices/useTwapPrices.d.ts +4 -5
  518. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
  519. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  520. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  521. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +10 -17
  522. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
  523. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +6 -6
  524. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  525. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  526. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  527. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
  528. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -1
  529. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  530. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  531. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  532. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
  533. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  534. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  535. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -5
  536. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  537. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +119 -124
  538. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  539. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  540. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -2
  541. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  542. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +159 -196
  543. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  544. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  545. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  546. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  547. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +5 -5
  548. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
  549. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +217 -229
  550. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  551. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -1
  552. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  553. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  554. package/dist/hooks/tokens/allowance/utils.js.map +1 -1
  555. package/dist/hooks/tokens/balances/queries.js.map +1 -1
  556. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  557. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  558. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  559. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  560. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  561. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -1
  562. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  563. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  564. package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
  565. package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
  566. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  567. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  568. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  569. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  570. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  571. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  572. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  573. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  574. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  575. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  576. package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
  577. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  578. package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -1
  579. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  580. package/dist/hooks/txs/queries/useTxFees.js.map +1 -1
  581. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  582. package/dist/hooks/txs/queries/useTxResponse.js.map +1 -1
  583. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
  584. package/dist/hooks/txs/queries/utils.js.map +1 -1
  585. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  586. package/dist/hooks/useBreakpoints.js.map +1 -1
  587. package/dist/hooks/useBridgeInfo.js.map +1 -1
  588. package/dist/hooks/useBridgeProtocols.js.map +1 -1
  589. package/dist/hooks/useCachedQueryError.js.map +1 -1
  590. package/dist/hooks/useChainMatches.js.map +1 -1
  591. package/dist/hooks/useClickOutside.js.map +1 -1
  592. package/dist/hooks/useCurrentChain.js.map +1 -1
  593. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  594. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  595. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  596. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  597. package/dist/hooks/useMinViemClient.js.map +1 -1
  598. package/dist/hooks/useSDK.d.ts +19 -3
  599. package/dist/hooks/useSDK.d.ts.map +1 -1
  600. package/dist/hooks/useSDK.js +65 -35
  601. package/dist/hooks/useSDK.js.map +1 -1
  602. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  603. package/dist/hooks/useSlippage.js.map +1 -1
  604. package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
  605. package/dist/lib/constants/urls.js.map +1 -1
  606. package/dist/lib/ipfs.js.map +1 -1
  607. package/dist/lib/queryClient.js +1 -1
  608. package/dist/lib/queryClient.js.map +1 -1
  609. package/dist/lib/tradeMode.js.map +1 -1
  610. package/dist/lib/utils/approval.js.map +1 -1
  611. package/dist/lib/utils/atomWithCompare.js.map +1 -1
  612. package/dist/lib/utils/copyToClipboard.js.map +1 -1
  613. package/dist/lib/utils/delta.js.map +1 -1
  614. package/dist/lib/utils/dexes.js.map +1 -1
  615. package/dist/lib/utils/explorer.js.map +1 -1
  616. package/dist/lib/utils/fee.js.map +1 -1
  617. package/dist/lib/utils/formatFiatPrice.js.map +1 -1
  618. package/dist/lib/utils/formatPercent.js.map +1 -1
  619. package/dist/lib/utils/formatTokenBalance.js.map +1 -1
  620. package/dist/lib/utils/index.js.map +1 -1
  621. package/dist/lib/utils/logger.js.map +1 -1
  622. package/dist/lib/utils/metabase.js.map +1 -1
  623. package/dist/lib/utils/mobile.js.map +1 -1
  624. package/dist/lib/utils/price.d.ts +5 -2
  625. package/dist/lib/utils/price.d.ts.map +1 -1
  626. package/dist/lib/utils/price.js +8 -5
  627. package/dist/lib/utils/price.js.map +1 -1
  628. package/dist/lib/utils/priceImpact.js.map +1 -1
  629. package/dist/lib/utils/providerErrors.js.map +1 -1
  630. package/dist/lib/utils/rate.js.map +1 -1
  631. package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
  632. package/dist/lib/utils/savedAmountUSD.js.map +1 -1
  633. package/dist/lib/utils/scaleFactor.js.map +1 -1
  634. package/dist/lib/utils/slippage.js.map +1 -1
  635. package/dist/lib/utils/time.js.map +1 -1
  636. package/dist/lib/utils/toDecimal.js.map +1 -1
  637. package/dist/lib/utils/toasts.js.map +1 -1
  638. package/dist/lib/utils/tradeFlow.js.map +1 -1
  639. package/dist/lib/utils/transactionHandlers.js.map +1 -1
  640. package/dist/lib/utils/tuple.js.map +1 -1
  641. package/dist/lib/utils/twap.d.ts +2 -2
  642. package/dist/lib/utils/twap.d.ts.map +1 -1
  643. package/dist/lib/utils/twap.js +2 -2
  644. package/dist/lib/utils/twap.js.map +1 -1
  645. package/dist/lib/utils/useDateNow.js.map +1 -1
  646. package/dist/lib/web3/wagmi/config.js.map +1 -1
  647. package/dist/lib/web3/wagmi/external.js.map +1 -1
  648. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  649. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  650. package/dist/lib/web3/wagmi/utils.js.map +1 -1
  651. package/dist/tokens/blacklist.js.map +1 -1
  652. package/dist/tokens/constructor.js.map +1 -1
  653. package/dist/tokens/defaultTokens.js.map +1 -1
  654. package/dist/tokens/hooks.js.map +1 -1
  655. package/dist/tokens/lists/constants.js.map +1 -1
  656. package/dist/tokens/lists/download.js.map +1 -1
  657. package/dist/tokens/lists/state/effects.js.map +1 -1
  658. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  659. package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
  660. package/dist/tokens/overrides.js.map +1 -1
  661. package/dist/tokens/queries.js.map +1 -1
  662. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  663. package/dist/tokens/stabeCoins/index.js.map +1 -1
  664. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  665. package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
  666. package/dist/tokens/state/constructTokens.js.map +1 -1
  667. package/dist/tokens/state/fromListsAtom.js.map +1 -1
  668. package/dist/tokens/utils/areTokensSame.js.map +1 -1
  669. package/dist/tokens/utils/brand.js.map +1 -1
  670. package/dist/tokens/utils/eth.js.map +1 -1
  671. package/dist/tokens/utils/filtering.js.map +1 -1
  672. package/dist/tokens/utils/sets.js.map +1 -1
  673. package/dist/tokens/utils/sorting.js.map +1 -1
  674. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  675. package/dist/transactions/hash.js.map +1 -1
  676. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  677. package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -1
  678. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  679. package/dist/transactions/queries/ensureTxResponse.js.map +1 -1
  680. package/dist/transactions/state/effects/finalize.js.map +1 -1
  681. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  682. package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -1
  683. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  684. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  685. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  686. package/dist/transactions/status.js.map +1 -1
  687. package/dist/transactions/utils.js.map +1 -1
  688. package/package.json +6 -6
  689. package/dist/hooks/swap/prices/delta/bridge/const.d.ts +0 -8
  690. package/dist/hooks/swap/prices/delta/bridge/const.d.ts.map +0 -1
  691. package/dist/hooks/swap/prices/delta/bridge/const.js +0 -13
  692. package/dist/hooks/swap/prices/delta/bridge/const.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"validatedReferrerConfigAtom.js","names":["atom","referrerConfigAtom","ReferrerConfig","isAddress","validatedReferrerConfigAtom","get","referrerAddress","undefined"],"sources":["../../../src/core/state/validatedReferrerConfigAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { referrerConfigAtom } from \"./configAtom\";\nimport type { ReferrerConfig } from \"../types\";\nimport { isAddress } from \"viem\";\n\nexport const validatedReferrerConfigAtom = atom<ReferrerConfig>((get) => {\n const { referrerAddress } = get(referrerConfigAtom);\n\n return {\n referrerAddress:\n referrerAddress && isAddress(referrerAddress)\n ? referrerAddress\n : undefined,\n };\n});\n"],"mappings":";;;;AAKA,IAAaI,IAA8BJ,GAAsBK,MAAQ;CACvE,IAAM,EAAEC,uBAAoBD,EAAIJ,EAAmB;AAEnD,QAAO,EACLK,iBACEA,KAAmBH,EAAUG,EAAgB,GACzCA,IACAC,KAAAA,GACP;EACD"}
1
+ {"version":3,"file":"validatedReferrerConfigAtom.js","names":["atom","referrerConfigAtom","ReferrerConfig","isAddress","validatedReferrerConfigAtom","get","referrerAddress","undefined"],"sources":["../../../src/core/state/validatedReferrerConfigAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { referrerConfigAtom } from \"./configAtom\";\nimport type { ReferrerConfig } from \"../types\";\nimport { isAddress } from \"viem\";\n\nexport const validatedReferrerConfigAtom = atom<ReferrerConfig>((get) => {\n const { referrerAddress } = get(referrerConfigAtom);\n\n return {\n referrerAddress:\n referrerAddress && isAddress(referrerAddress)\n ? referrerAddress\n : undefined,\n };\n});\n"],"mappings":";;;;AAKA,IAAaI,IAA8BJ,GAAsBK,MAAQ;CACvE,IAAM,EAAEC,uBAAoBD,EAAIJ,EAAmB;CAEnD,OAAO,EACLK,iBACEA,KAAmBH,EAAUG,EAAgB,GACzCA,IACAC,KAAAA,GACP;EACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"widgetEventsAtom.js","names":["atom","useAtomValue","useSetAtom","WidgetEventCallbacks","WidgetEventCallbacksMin","useLayoutEffect","getWidgetState","assert","TokenFormState","Callbacks","Required","widgetEventsAtom","get","set","callbacks","onSwap","payload","widgetState","swapFormState","formState","swap","isFullTokenFormState","Input","Parameters","NonNullable","payloadWithState","event","params","state","onTwapOrder","twapFormState","twap","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onCancelTx","onFillOTCOrder","onFormInputChange","_onPriceChange","onPriceChange","useWidgetEvents","useWidgetEventsSetter","$","_c","setWidgetEvents","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","T","tokenTo","receiverAddress","destChainId","connectedAccount"],"sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\ntype Callbacks = Required<WidgetEventCallbacksMin>;\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: Callbacks[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onTwapOrder: Callbacks[\"onTwapOrder\"] = (payload) => {\n if (!callbacks.onTwapOrder) return;\n const widgetState = getWidgetState(get);\n\n const twapFormState = widgetState.formState.twap;\n assert(\n isFullTokenFormState(twapFormState),\n \"Twap form state is required to perform twap order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onTwapOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...twapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onTwapOrder(payloadWithState);\n };\n\n const onLimitOrder: Callbacks[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: Callbacks[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: Callbacks[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: Callbacks[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: Callbacks[\"onSettingsChange\"] = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: Callbacks[\"onConnectWallet\"] = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: Callbacks[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onCancelTx: Callbacks[\"onCancelTx\"] = (payload) => {\n if (!callbacks.onCancelTx) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelTx(payloadWithState);\n };\n\n const onFillOTCOrder: Callbacks[\"onFillOTCOrder\"] = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: Callbacks[\"onFormInputChange\"] = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const _onPriceChange = callbacks.onPriceChange;\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = _onPriceChange\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onPriceChange(payloadWithState);\n }\n : undefined;\n\n set(widgetEventsAtom, {\n onSwap,\n onTwapOrder,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onCancelTx,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onTwapOrder: callbacks?.onTwapOrder,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onCancelTx: callbacks?.onCancelTx,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onTwapOrder,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onCancelTx,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"mappings":";;;;;;;AAaA,IAAaW,IAAmBX,EAI9B,EAAE,GAAGY,GAAKC,GAAKC,MAAc;CAC7B,IAAMC,KAA+BC,MAAY;AAC/C,MAAI,CAACF,EAAUC,OAAQ;EACvB,IAAME,IAAcX,EAAeM,EAAI,EAEjCM,IAAgBD,EAAYE,UAAUC;AAC5Cb,IACEc,EAAqBH,EAAc,EACnC,8CACD;EAKD,IAAMO,IAAmB;GACvBC,OAAO;IACL,GAAGV,EAAQU;IACXC,QAAQ;KACN,GAAGX,EAAQU,MAAMC;KACjB,GAAGT;KACL;IACD;GACDU,OAAOX;GACR;AAEDH,IAAUC,OAAOU,EAAiB;IAG9BI,KAAyCb,MAAY;AACzD,MAAI,CAACF,EAAUe,YAAa;EAC5B,IAAMZ,IAAcX,EAAeM,EAAI,EAEjCkB,IAAgBb,EAAYE,UAAUY;AAC5CxB,IACEc,EAAqBS,EAAc,EACnC,oDACD;EAMD,IAAML,IAAmB;GACvBC,OAAO;IACL,GAAGV,EAAQU;IACXC,QAAQ;KACN,GAAGX,EAAQU,MAAMC;KACjB,GAAGG;KACL;IACD;GACDF,OAAOX;GACR;AAEDH,IAAUe,YAAYJ,EAAiB;IAGnCO,KAA2ChB,MAAY;AAC3D,MAAI,CAACF,EAAUkB,aAAc;EAC7B,IAAMf,IAAcX,EAAeM,EAAI,EACjCqB,IAAsBhB,EAAYE,UAAUe;AAClD3B,IACEc,EAAqBY,EAAoB,EACzC,6DACD;EAMD,IAAMR,IAAmB;GACvBC,OAAO;IACL,GAAGV,EAAQU;IACXC,QAAQ;KACN,GAAGX,EAAQU,MAAMC;KACjB,GAAGM;KACL;IACD;GACDL,OAAOX;GACR;AACDH,IAAUkB,aAAaP,EAAiB;IAGpCU,KAAuCnB,MAAY;AACvD,MAAI,CAACF,EAAUqB,WAAY;EAC3B,IAAMlB,IAAcX,EAAeM,EAAI,EACjCwB,IAAoBnB,EAAYE,UAAUkB;AAChD9B,IACEc,EAAqBe,EAAkB,EACvC,0DACD;EAED,IAAMX,IAAmB;GACvBC,OAAO;IACL,GAAGV,EAAQU;IACXC,QAAQ;KACN,GAAGX,EAAQU,MAAMC;KACjB,GAAGS;KACL;IACD;GACDR,OAAOX;GACR;AACDH,IAAUqB,WAAWV,EAAiB;IAGlCa,KAA2CtB,MAAY;AAC3D,MAAI,CAACF,EAAUwB,aAAc;EAC7B,IAAMrB,IAAcX,EAAeM,EAAI,EAEjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;AAEDH,IAAUwB,aAAab,EAAiB;IAGpCc,KAAqCvB,MAAY;AACrD,MAAI,CAACF,EAAUyB,UAAW;EAC1B,IAAMtB,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;AACDH,IAAUyB,UAAUd,EAAiB;IAGjCe,KAAmDxB,MAAY;AACnE,MAAI,CAACF,EAAU0B,iBAAkB;EACjC,IAAMvB,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;AACDH,IAAU0B,iBAAiBf,EAAiB;IAGxCgB,KAAiDzB,MAAY;AACjE,MAAI,CAACF,EAAU2B,gBAAiB;EAChC,IAAMxB,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;AACDH,IAAU2B,gBAAgBhB,EAAiB;IAGvCiB,IAAwB5B,EAAU6B,sBAClCA,IACJD,KACK1B,MAAY;EACX,IAAMC,IAAcX,EAAeM,EAAI;AAKvC8B,IAJyB;GACvBhB,OAAOV,EAAQU;GACfE,OAAOX;GACR,CACsC;KAEzC2B,KAAAA,GAEAC,KAA6C7B,MAAY;AAC7D,MAAI,CAACF,EAAU+B,cAAe;EAC9B,IAAM5B,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;AACDH,IAAU+B,cAAcpB,EAAiB;IAGrCqB,KAAuC9B,MAAY;AACvD,MAAI,CAACF,EAAUgC,WAAY;EAC3B,IAAM7B,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;AACDH,IAAUgC,WAAWrB,EAAiB;IAGlCsB,KAA+C/B,MAAY;AAC/D,MAAI,CAACF,EAAUiC,eAAgB;EAC/B,IAAM9B,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;AACDH,IAAUiC,eAAetB,EAAiB;IAGtCuB,KAAqDhC,MAAY;AACrE,MAAI,CAACF,EAAUkC,kBAAmB;EAClC,IAAM/B,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;AACDH,IAAUkC,kBAAkBvB,EAAiB;IAGzCwB,IAAiBnC,EAAUoC;AAYjCrC,GAAIF,GAAkB;EACpBI;EACAc;EACAG;EACAG;EACAG;EACAC;EACAC;EACAC;EACAE;EACAE;EACAC;EACAC;EACAC;EACAE,eAzB8DD,KAC3DjC,MAAY;GACX,IAAMC,IAAcX,EAAeM,EAAI;AAKvCqC,KAJyB;IACvBvB,OAAOV,EAAQU;IACfE,OAAOX;IACR,CAC+B;MAElC2B,KAAAA;EAiBH,CAAC;EACF,EAEWO,UACJlD,EAAaU,EAAiB,EAG1ByC,KAAwBtC,MAAA;CAAA,IAAAuC,IAAAC,EAAA,GAAA,EACnCC,IAAwBrD,EAAWS,EAAiB,EAAC6C;AAAA,CAAAH,EAAA,OAAAvC,GAAAwB,gBAAAe,EAAA,OAAAvC,GAAA+B,iBAAAQ,EAAA,OAAAvC,GAAAgC,cAAAO,EAAA,OAAAvC,GAAA2B,mBAAAY,EAAA,OAAAvC,GAAA6B,wBAAAU,EAAA,OAAAvC,GAAAiC,kBAAAM,EAAA,OAAAvC,GAAAkC,qBAAAK,EAAA,OAAAvC,GAAAkB,gBAAAqB,EAAA,OAAAvC,GAAAqB,cAAAkB,EAAA,OAAAvC,GAAAoC,iBAAAG,EAAA,QAAAvC,GAAA0B,oBAAAa,EAAA,QAAAvC,GAAAC,UAAAsC,EAAA,QAAAvC,GAAAe,eAAAwB,EAAA,QAAAvC,GAAAyB,aAAAc,EAAA,QAAAE,KAErCC,UAAA;AACdD,IAAgB;GAAAd,iBACG3B,GAAS2B;GAAiBE,sBACrB7B,GAAS6B;GAAsBL,cACvCxB,GAASwB;GAAcvB,QAC7BD,GAASC;GAAQc,aACZf,GAASe;GAAaM,YACvBrB,GAASqB;GAAYH,cACnBlB,GAASkB;GAAcO,WAC1BzB,GAASyB;GAAWC,kBACb1B,GAAS0B;GAAkBK,eAC9B/B,GAAS+B;GAAeC,YAC3BhC,GAASgC;GAAYC,gBACjBjC,GAASiC;GAAgBC,mBACtBlC,GAASkC;GAAmBE,eAChCpC,GAASoC;GACzB,CAAC;IACHG,EAAA,KAAAvC,GAAAwB,cAAAe,EAAA,KAAAvC,GAAA+B,eAAAQ,EAAA,KAAAvC,GAAAgC,YAAAO,EAAA,KAAAvC,GAAA2B,iBAAAY,EAAA,KAAAvC,GAAA6B,sBAAAU,EAAA,KAAAvC,GAAAiC,gBAAAM,EAAA,KAAAvC,GAAAkC,mBAAAK,EAAA,KAAAvC,GAAAkB,cAAAqB,EAAA,KAAAvC,GAAAqB,YAAAkB,EAAA,KAAAvC,GAAAoC,eAAAG,EAAA,MAAAvC,GAAA0B,kBAAAa,EAAA,MAAAvC,GAAAC,QAAAsC,EAAA,MAAAvC,GAAAe,aAAAwB,EAAA,MAAAvC,GAAAyB,WAAAc,EAAA,MAAAE,GAAAF,EAAA,MAAAG,KAAAA,IAAAH,EAAA;CACC,IAAAI,IAAA3C,GAAS2B,iBACTiB,IAAA5C,GAAS6B,sBACTgB,IAAA7C,GAASwB,cACTsB,IAAA9C,GAASC,QACT8C,IAAA/C,GAASe,aACTiC,IAAAhD,GAASqB,YACT4B,IAAAjD,GAASkB,cACTgC,IAAAlD,GAASyB,WACT0B,IAAAnD,GAAS0B,kBACT0B,IAAApD,GAAS+B,eACTsB,IAAArD,GAASgC,YACTsB,IAAAtD,GAASiC,gBACTsB,IAAAvD,GAASkC,mBACTsB,IAAAxD,GAASoC,eAAeqB;AA/B1BlE,CA+B0BgD,EAAA,QAAAE,KAAAF,EAAA,QAAAI,KAAAJ,EAAA,QAAAa,KAAAb,EAAA,QAAAc,KAAAd,EAAA,QAAAe,KAAAf,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAAAjB,EAAA,QAAAK,KAAAL,EAAA,QAAAM,KAAAN,EAAA,QAAAO,KAAAP,EAAA,QAAAQ,KAAAR,EAAA,QAAAS,KAAAT,EAAA,QAAAU,KAAAV,EAAA,QAAAW,KAAAX,EAAA,QAAAY,KAdvBM,IAAA;EACDd;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAf;EACD,EAAAF,EAAA,MAAAE,GAAAF,EAAA,MAAAI,GAAAJ,EAAA,MAAAa,GAAAb,EAAA,MAAAc,GAAAd,EAAA,MAAAe,GAAAf,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAK,GAAAL,EAAA,MAAAM,GAAAN,EAAA,MAAAO,GAAAP,EAAA,MAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAAU,GAAAV,EAAA,MAAAW,GAAAX,EAAA,MAAAY,GAAAZ,EAAA,MAAAkB,KAAAA,IAAAlB,EAAA,KAjCDhD,EAAgBmD,GAiBbe,EAgBD;;AAGJ,SAASlD,EACPO,GACsB;AACtB,QAAO,CAAC,EACNA,EAAM6C,WACN7C,EAAM8C,mBACN9C,EAAM+C,eACN/C,EAAMgD"}
1
+ {"version":3,"file":"widgetEventsAtom.js","names":["atom","useAtomValue","useSetAtom","WidgetEventCallbacks","WidgetEventCallbacksMin","useLayoutEffect","getWidgetState","assert","TokenFormState","Callbacks","Required","widgetEventsAtom","get","set","callbacks","onSwap","payload","widgetState","swapFormState","formState","swap","isFullTokenFormState","Input","Parameters","NonNullable","payloadWithState","event","params","state","onTwapOrder","twapFormState","twap","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onCancelTx","onFillOTCOrder","onFormInputChange","_onPriceChange","onPriceChange","useWidgetEvents","useWidgetEventsSetter","$","_c","setWidgetEvents","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","T","tokenTo","receiverAddress","destChainId","connectedAccount"],"sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\ntype Callbacks = Required<WidgetEventCallbacksMin>;\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: Callbacks[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onTwapOrder: Callbacks[\"onTwapOrder\"] = (payload) => {\n if (!callbacks.onTwapOrder) return;\n const widgetState = getWidgetState(get);\n\n const twapFormState = widgetState.formState.twap;\n assert(\n isFullTokenFormState(twapFormState),\n \"Twap form state is required to perform twap order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onTwapOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...twapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onTwapOrder(payloadWithState);\n };\n\n const onLimitOrder: Callbacks[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: Callbacks[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: Callbacks[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: Callbacks[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: Callbacks[\"onSettingsChange\"] = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: Callbacks[\"onConnectWallet\"] = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: Callbacks[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onCancelTx: Callbacks[\"onCancelTx\"] = (payload) => {\n if (!callbacks.onCancelTx) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelTx(payloadWithState);\n };\n\n const onFillOTCOrder: Callbacks[\"onFillOTCOrder\"] = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: Callbacks[\"onFormInputChange\"] = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const _onPriceChange = callbacks.onPriceChange;\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = _onPriceChange\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onPriceChange(payloadWithState);\n }\n : undefined;\n\n set(widgetEventsAtom, {\n onSwap,\n onTwapOrder,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onCancelTx,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onTwapOrder: callbacks?.onTwapOrder,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onCancelTx: callbacks?.onCancelTx,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onTwapOrder,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onCancelTx,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.js","names":["subscribeToWalletChainIdChanges","subscribeToAccountChanges","subscribeToPriceOnSwapModeChange","runSubscriptions"],"sources":["../../src/core/subscriptions.ts"],"sourcesContent":["import { subscribeToWalletChainIdChanges } from \"./inputs/state/subscriptions\";\nimport { subscribeToAccountChanges } from \"@/components/widget/ReceiverAddress/state/subscriptions\";\nimport { subscribeToPriceOnSwapModeChange } from \"@/events/effects/swapMode\";\n\nexport function runSubscriptions() {\n subscribeToWalletChainIdChanges();\n subscribeToAccountChanges();\n subscribeToPriceOnSwapModeChange();\n}\n"],"mappings":";;;;AAIA,SAAgBG,IAAmB;AAGjCD,CAFAF,GAAiC,EACjCC,GAA2B,EAC3BC,GAAkC"}
1
+ {"version":3,"file":"subscriptions.js","names":["subscribeToWalletChainIdChanges","subscribeToAccountChanges","subscribeToPriceOnSwapModeChange","runSubscriptions"],"sources":["../../src/core/subscriptions.ts"],"sourcesContent":["import { subscribeToWalletChainIdChanges } from \"./inputs/state/subscriptions\";\nimport { subscribeToAccountChanges } from \"@/components/widget/ReceiverAddress/state/subscriptions\";\nimport { subscribeToPriceOnSwapModeChange } from \"@/events/effects/swapMode\";\n\nexport function runSubscriptions() {\n subscribeToWalletChainIdChanges();\n subscribeToAccountChanges();\n subscribeToPriceOnSwapModeChange();\n}\n"],"mappings":";;;;AAIA,SAAgBG,IAAmB;CAGjCD,AAFAF,GAAiC,EACjCC,GAA2B,EAC3BC,GAAkC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/fees.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAGjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,GAAG,SAAS,CAmB9B;AAED,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,CAiBlB"}
1
+ {"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/fees.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAGjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAOpE,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,GAAG,SAAS,CAuB9B;AAED,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,CAiBlB"}
@@ -3,25 +3,30 @@ import { formatFiatPrice as t } from "../../lib/utils/formatFiatPrice.js";
3
3
  import { calculateFeeUSD as n } from "../../lib/utils/fee.js";
4
4
  import { jsx as r } from "react/jsx-runtime";
5
5
  //#region src/core/swapDetails/fees.tsx
6
- function i({ price: r, isLoading: i }) {
7
- if (!r || r.partnerFee === 0) return;
8
- let a = e(r) ? r.receivedDestUSD : r.destUSD;
9
- if (!a) return;
10
- let o = n(r.partnerFee, a), s = o ? t(o.toNumber()) : null;
6
+ function i(t) {
7
+ return e(t) ? t.partner.feePercent : t.partnerFee;
8
+ }
9
+ function a({ price: r, isLoading: a }) {
10
+ if (!r) return;
11
+ let o = i(r);
12
+ if (o === 0) return;
13
+ let s = e(r) ? r.route.destination.output.amountUSD : r.destUSD;
14
+ if (!s) return;
15
+ let c = n(o, s), l = c ? t(c.toNumber()) : null;
11
16
  return {
12
17
  title: "Swap Fees",
13
- value: s === "$0.00" ? "<$0.01" : s,
14
- isLoading: i,
15
- tooltip: `Swap fees are set to ${r.partnerFee.toFixed(2)}% for this trade`
18
+ value: l === "$0.00" ? "<$0.01" : l,
19
+ isLoading: a,
20
+ tooltip: `Swap fees are set to ${o.toFixed(2)}% for this trade`
16
21
  };
17
22
  }
18
- function a({ price: e, swapMode: n, isLoading: i }) {
23
+ function o({ price: e, swapMode: n, isLoading: i }) {
19
24
  let a = null;
20
25
  if (n === "delta") a = /* @__PURE__ */ r("div", {
21
26
  className: "text-[#A5D712]",
22
27
  children: "Gasless"
23
28
  });
24
- else if (e?.gasCostUSD !== void 0) {
29
+ else if (e && "gasCostUSD" in e) {
25
30
  let n = t(Number(e.gasCostUSD));
26
31
  a = n === "$0.00" ? "<$0.01" : n;
27
32
  }
@@ -33,6 +38,6 @@ function a({ price: e, swapMode: n, isLoading: i }) {
33
38
  };
34
39
  }
35
40
  //#endregion
36
- export { a as constructNetworkFeesDetail, i as constructSwapFeesDetail };
41
+ export { o as constructNetworkFeesDetail, a as constructSwapFeesDetail };
37
42
 
38
43
  //# sourceMappingURL=fees.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fees.js","names":["DetailWithValue","SwapMode","formatFiatPrice","calculateFeeUSD","DeltaOrMarketPrice","isDeltaPrice","constructSwapFeesDetail","price","isLoading","partnerFee","destUSD","receivedDestUSD","partnerFeeUSD","formattedFee","toNumber","title","value","tooltip","toFixed","constructNetworkFeesDetail","swapMode","React","ReactNode","gasCostUSD","undefined","formattedPrice","Number"],"sources":["../../../src/core/swapDetails/fees.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { calculateFeeUSD } from \"@/lib/utils/fee\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\nexport function constructSwapFeesDetail({\n price,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n isLoading: boolean;\n}): DetailWithValue | undefined {\n // quit early if there are no fees or destUSD in price,\n // because we cannot calculate the fee\n if (!price || price.partnerFee === 0) return;\n\n const destUSD = isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD;\n if (!destUSD) return;\n\n const partnerFeeUSD = calculateFeeUSD(price.partnerFee, destUSD);\n const formattedFee = partnerFeeUSD\n ? formatFiatPrice(partnerFeeUSD.toNumber())\n : null;\n\n return {\n title: \"Swap Fees\",\n value: formattedFee === \"$0.00\" ? \"<$0.01\" : formattedFee,\n isLoading,\n tooltip: `Swap fees are set to ${price.partnerFee.toFixed(2)}% for this trade`,\n };\n}\n\nexport function constructNetworkFeesDetail({\n price,\n swapMode,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n swapMode: SwapMode;\n isLoading: boolean;\n}): DetailWithValue {\n let value: React.ReactNode = null;\n\n if (swapMode === \"delta\") {\n value = <div className=\"text-[#A5D712]\">Gasless</div>;\n } else if (price?.gasCostUSD !== undefined) {\n const formattedPrice = formatFiatPrice(Number(price.gasCostUSD));\n value = formattedPrice === \"$0.00\" ? \"<$0.01\" : formattedPrice;\n }\n\n return {\n title: \"Network Fees\",\n value,\n isLoading,\n tooltip:\n \"Those fees are paid to validators, Velora and its partners don't control this fee\",\n };\n}\n"],"mappings":";;;;;AAOA,SAAgBM,EAAwB,EACtCC,UACAC,gBAI8B;AAG9B,KAAI,CAACD,KAASA,EAAME,eAAe,EAAG;CAEtC,IAAMC,IAAUL,EAAaE,EAAM,GAAGA,EAAMI,kBAAkBJ,EAAMG;AACpE,KAAI,CAACA,EAAS;CAEd,IAAME,IAAgBT,EAAgBI,EAAME,YAAYC,EAAQ,EAC1DG,IAAeD,IACjBV,EAAgBU,EAAcE,UAAU,CAAC,GACzC;AAEJ,QAAO;EACLC,OAAO;EACPC,OAAOH,MAAiB,UAAU,WAAWA;EAC7CL;EACAS,SAAS,wBAAwBV,EAAME,WAAWS,QAAQ,EAAE,CAAA;EAC7D;;AAGH,SAAgBC,EAA2B,EACzCZ,UACAa,aACAZ,gBAKkB;CAClB,IAAIQ,IAAyB;AAE7B,KAAII,MAAa,QACfJ,KAAQ,kBAAC,OAAD;EAAK,WAAU;YAAiB;EAAa,CAAA;UAC5CT,GAAOgB,eAAeC,KAAAA,GAAW;EAC1C,IAAMC,IAAiBvB,EAAgBwB,OAAOnB,EAAMgB,WAAW,CAAC;AAChEP,MAAQS,MAAmB,UAAU,WAAWA;;AAGlD,QAAO;EACLV,OAAO;EACPC;EACAR;EACAS,SACE;EACH"}
1
+ {"version":3,"file":"fees.js","names":["DetailWithValue","SwapMode","formatFiatPrice","calculateFeeUSD","DeltaOrMarketPrice","isDeltaPrice","getPartnerFeePercent","price","partner","feePercent","partnerFee","constructSwapFeesDetail","isLoading","partnerFeePercent","destUSD","route","destination","output","amountUSD","partnerFeeUSD","formattedFee","toNumber","title","value","tooltip","toFixed","constructNetworkFeesDetail","swapMode","React","ReactNode","formattedPrice","Number","gasCostUSD"],"sources":["../../../src/core/swapDetails/fees.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { calculateFeeUSD } from \"@/lib/utils/fee\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\nfunction getPartnerFeePercent(price: DeltaOrMarketPrice): number {\n return isDeltaPrice(price) ? price.partner.feePercent : price.partnerFee;\n}\n\nexport function constructSwapFeesDetail({\n price,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n isLoading: boolean;\n}): DetailWithValue | undefined {\n // quit early if there are no fees or destUSD in price,\n // because we cannot calculate the fee\n if (!price) return;\n const partnerFeePercent = getPartnerFeePercent(price);\n if (partnerFeePercent === 0) return;\n\n const destUSD = isDeltaPrice(price)\n ? price.route.destination.output.amountUSD\n : price.destUSD;\n if (!destUSD) return;\n\n const partnerFeeUSD = calculateFeeUSD(partnerFeePercent, destUSD);\n const formattedFee = partnerFeeUSD\n ? formatFiatPrice(partnerFeeUSD.toNumber())\n : null;\n\n return {\n title: \"Swap Fees\",\n value: formattedFee === \"$0.00\" ? \"<$0.01\" : formattedFee,\n isLoading,\n tooltip: `Swap fees are set to ${partnerFeePercent.toFixed(2)}% for this trade`,\n };\n}\n\nexport function constructNetworkFeesDetail({\n price,\n swapMode,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n swapMode: SwapMode;\n isLoading: boolean;\n}): DetailWithValue {\n let value: React.ReactNode = null;\n\n if (swapMode === \"delta\") {\n value = <div className=\"text-[#A5D712]\">Gasless</div>;\n } else if (price && \"gasCostUSD\" in price) {\n const formattedPrice = formatFiatPrice(Number(price.gasCostUSD));\n value = formattedPrice === \"$0.00\" ? \"<$0.01\" : formattedPrice;\n }\n\n return {\n title: \"Network Fees\",\n value,\n isLoading,\n tooltip:\n \"Those fees are paid to validators, Velora and its partners don't control this fee\",\n };\n}\n"],"mappings":";;;;;AAOA,SAASM,EAAqBC,GAAmC;CAC/D,OAAOF,EAAaE,EAAM,GAAGA,EAAMC,QAAQC,aAAaF,EAAMG;;AAGhE,SAAgBC,EAAwB,EACtCJ,UACAK,gBAI8B;CAG9B,IAAI,CAACL,GAAO;CACZ,IAAMM,IAAoBP,EAAqBC,EAAM;CACrD,IAAIM,MAAsB,GAAG;CAE7B,IAAMC,IAAUT,EAAaE,EAAM,GAC/BA,EAAMQ,MAAMC,YAAYC,OAAOC,YAC/BX,EAAMO;CACV,IAAI,CAACA,GAAS;CAEd,IAAMK,IAAgBhB,EAAgBU,GAAmBC,EAAQ,EAC3DM,IAAeD,IACjBjB,EAAgBiB,EAAcE,UAAU,CAAC,GACzC;CAEJ,OAAO;EACLC,OAAO;EACPC,OAAOH,MAAiB,UAAU,WAAWA;EAC7CR;EACAY,SAAS,wBAAwBX,EAAkBY,QAAQ,EAAE,CAAA;EAC9D;;AAGH,SAAgBC,EAA2B,EACzCnB,UACAoB,aACAf,gBAKkB;CAClB,IAAIW,IAAyB;CAE7B,IAAII,MAAa,SACfJ,IAAQ,kBAAC,OAAD;EAAK,WAAU;YAAiB;EAAa,CAAA;MAChD,IAAIhB,KAAS,gBAAgBA,GAAO;EACzC,IAAMuB,IAAiB5B,EAAgB6B,OAAOxB,EAAMyB,WAAW,CAAC;EAChET,IAAQO,MAAmB,UAAU,WAAWA;;CAGlD,OAAO;EACLR,OAAO;EACPC;EACAX;EACAY,SACE;EACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"maxToPay.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/maxToPay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,eAAe,EACf,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;CAC1B,GAAG,eAAe,GAAG,SAAS,CAkC9B"}
1
+ {"version":3,"file":"maxToPay.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/maxToPay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,eAAe,EACf,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;CAC1B,GAAG,eAAe,GAAG,SAAS,CAqC9B"}
@@ -1,26 +1,27 @@
1
- import { toDecimalTrimmed as e } from "../../lib/utils/toDecimal.js";
2
- import { amountAfterSlippage as t } from "../../lib/utils/slippage.js";
3
- import { formatUnits as n } from "viem";
1
+ import { isDeltaPrice as e } from "../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js";
2
+ import { toDecimalTrimmed as t } from "../../lib/utils/toDecimal.js";
3
+ import { amountAfterSlippage as n } from "../../lib/utils/slippage.js";
4
+ import { formatUnits as r } from "viem";
4
5
  //#region src/core/swapDetails/maxToPay.tsx
5
- var r = "Maximum amount of token to pay to get the receiving amount while accounting for potential slippage.";
6
- function i({ price: i, slippagePercent: a, isLoading: o, tokenFrom: s, swapSide: c }) {
7
- if (c === "SELL") return;
8
- let l = "Maximum to Pay";
9
- if (!i || !s) return {
10
- title: l,
6
+ var i = "Maximum amount of token to pay to get the receiving amount while accounting for potential slippage.";
7
+ function a({ price: a, slippagePercent: o, isLoading: s, tokenFrom: c, swapSide: l }) {
8
+ if (l === "SELL") return;
9
+ let u = "Maximum to Pay";
10
+ if (!a || !c) return {
11
+ title: u,
11
12
  value: null,
12
- isLoading: o,
13
- tooltip: r
13
+ isLoading: s,
14
+ tooltip: i
14
15
  };
15
- let u = t(i.srcAmount, a, "BUY").toFixed(0);
16
+ let d = n(e(a) ? a.route.origin.input.amount : a.srcAmount, o, "BUY").toFixed(0);
16
17
  return {
17
- title: l,
18
- value: `${e(n(BigInt(u), s.decimals))} ${s.symbol}`,
19
- isLoading: o,
20
- tooltip: r
18
+ title: u,
19
+ value: `${t(r(BigInt(d), c.decimals))} ${c.symbol}`,
20
+ isLoading: s,
21
+ tooltip: i
21
22
  };
22
23
  }
23
24
  //#endregion
24
- export { i as constructMaxToPayDetail };
25
+ export { a as constructMaxToPayDetail };
25
26
 
26
27
  //# sourceMappingURL=maxToPay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"maxToPay.js","names":["DetailWithValue","DeltaOrMarketPrice","amountAfterSlippage","toDecimalTrimmed","Token","formatUnits","tooltip","constructMaxToPayDetail","price","slippagePercent","isLoading","tokenFrom","swapSide","title","value","maxSrcAmount","srcAmount","toFixed","maxSrcAmountUnit","BigInt","decimals","formattedMaxSrcAmount","symbol"],"sources":["../../../src/core/swapDetails/maxToPay.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip =\n \"Maximum amount of token to pay to get the receiving amount while accounting for potential slippage.\";\n\nexport function constructMaxToPayDetail({\n price,\n slippagePercent,\n isLoading,\n tokenFrom,\n swapSide,\n}: {\n price?: DeltaOrMarketPrice;\n slippagePercent: number;\n isLoading: boolean;\n tokenFrom?: Token;\n swapSide: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of SELL you pay exactly srcAmount\n if (swapSide === \"SELL\") return;\n\n const title = \"Maximum to Pay\";\n\n if (!price || !tokenFrom) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const maxSrcAmount = amountAfterSlippage(\n // amount after fee\n price.srcAmount,\n // +slippage=maxAmount to pay\n slippagePercent,\n \"BUY\"\n ).toFixed(0);\n const maxSrcAmountUnit = formatUnits(\n BigInt(maxSrcAmount),\n tokenFrom.decimals\n );\n const formattedMaxSrcAmount = toDecimalTrimmed(maxSrcAmountUnit);\n\n return {\n title,\n value: `${formattedMaxSrcAmount} ${tokenFrom.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;AAQA,IAAMM,IACJ;AAEF,SAAgBC,EAAwB,EACtCC,UACAC,oBACAC,cACAC,cACAC,eAO8B;AAE9B,KAAIA,MAAa,OAAQ;CAEzB,IAAMC,IAAQ;AAEd,KAAI,CAACL,KAAS,CAACG,EACb,QAAO;EACLE;EACAC,OAAO;EACPJ;EACAJ;EACD;CAGH,IAAMS,IAAeb,EAEnBM,EAAMQ,WAENP,GACA,MACD,CAACQ,QAAQ,EAAE;AAOZ,QAAO;EACLJ;EACAC,OAAO,GAJqBX,EAJLE,EACvBc,OAAOJ,EAAa,EACpBJ,EAAUS,SACX,CAC+D,CAI/B,GAAIT,EAAUW;EAC7CZ;EACAJ;EACD"}
1
+ {"version":3,"file":"maxToPay.js","names":["DetailWithValue","isDeltaPrice","DeltaOrMarketPrice","amountAfterSlippage","toDecimalTrimmed","Token","formatUnits","tooltip","constructMaxToPayDetail","price","slippagePercent","isLoading","tokenFrom","swapSide","title","value","srcAmount","route","origin","input","amount","maxSrcAmount","toFixed","maxSrcAmountUnit","BigInt","decimals","formattedMaxSrcAmount","symbol"],"sources":["../../../src/core/swapDetails/maxToPay.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip =\n \"Maximum amount of token to pay to get the receiving amount while accounting for potential slippage.\";\n\nexport function constructMaxToPayDetail({\n price,\n slippagePercent,\n isLoading,\n tokenFrom,\n swapSide,\n}: {\n price?: DeltaOrMarketPrice;\n slippagePercent: number;\n isLoading: boolean;\n tokenFrom?: Token;\n swapSide: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of SELL you pay exactly srcAmount\n if (swapSide === \"SELL\") return;\n\n const title = \"Maximum to Pay\";\n\n if (!price || !tokenFrom) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const srcAmount = isDeltaPrice(price)\n ? price.route.origin.input.amount\n : price.srcAmount;\n const maxSrcAmount = amountAfterSlippage(\n // amount after fee\n srcAmount,\n // +slippage=maxAmount to pay\n slippagePercent,\n \"BUY\"\n ).toFixed(0);\n const maxSrcAmountUnit = formatUnits(\n BigInt(maxSrcAmount),\n tokenFrom.decimals\n );\n const formattedMaxSrcAmount = toDecimalTrimmed(maxSrcAmountUnit);\n\n return {\n title,\n value: `${formattedMaxSrcAmount} ${tokenFrom.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;;AASA,IAAMO,IACJ;AAEF,SAAgBC,EAAwB,EACtCC,UACAC,oBACAC,cACAC,cACAC,eAO8B;CAE9B,IAAIA,MAAa,QAAQ;CAEzB,IAAMC,IAAQ;CAEd,IAAI,CAACL,KAAS,CAACG,GACb,OAAO;EACLE;EACAC,OAAO;EACPJ;EACAJ;EACD;CAMH,IAAMc,IAAelB,EAHHF,EAAaQ,EAAM,GACjCA,EAAMQ,MAAMC,OAAOC,MAAMC,SACzBX,EAAMO,WAKRN,GACA,MACD,CAACY,QAAQ,EAAE;CAOZ,OAAO;EACLR;EACAC,OAAO,GAJqBX,EAJLE,EACvBkB,OAAOH,EAAa,EACpBT,EAAUa,SAEmCF,CAInCG,CAAqB,GAAId,EAAUe;EAC7ChB;EACAJ;EACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"orderRouting.js","names":["DetailWithValue","DeltaIcon","SwapMode","isSimplePath","isMultiSwap","isMegaSwap","OptimalRate","JSX","tooltip","constructOrderRoutingDetail","swapMode","isLoading","bestRoutes","title","routing","Element","value","length","swapExchanges","swaps","swapExchange","exchange"],"sources":["../../../src/core/swapDetails/orderRouting.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport { DeltaIcon } from \"@/components/widget/Icon/DeltaIcon\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { isSimplePath, isMultiSwap, isMegaSwap } from \"@/lib/utils/dexes\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport type { JSX } from \"react\";\n\nconst tooltip =\n \"Velora routes and splits your order across many exchanges to achieve the best available rate.\";\n\nexport function constructOrderRoutingDetail({\n swapMode,\n isLoading,\n bestRoutes,\n}: {\n swapMode: SwapMode;\n isLoading: boolean;\n bestRoutes?: OptimalRate[\"bestRoute\"];\n}): DetailWithValue {\n const title = \"Order Routing\";\n let routing: string | JSX.Element | null = null;\n\n if (swapMode === \"delta\") {\n return {\n title,\n value: (\n <div className=\"flex items-center gap-1\">\n <DeltaIcon /> Delta\n </div>\n ),\n isLoading: false, // Delta mode does not have routing\n tooltip,\n };\n }\n\n if (!bestRoutes || bestRoutes.length === 0) {\n return { title, value: null, isLoading, tooltip };\n }\n\n if (isSimplePath(bestRoutes)) {\n const [{ swapExchanges }] = bestRoutes[0].swaps;\n\n if (swapExchanges.length > 1) {\n routing = \"Multi. Exchanges\";\n } else {\n const swapExchange = swapExchanges[0];\n\n if (swapExchange) {\n routing = (\n <div className=\"max-w-[200px] whitespace-nowrap overflow-hidden text-ellipsis\">\n 100% {swapExchange.exchange}\n </div>\n );\n }\n }\n } else if (isMultiSwap(bestRoutes)) {\n routing = \"MultiSwap\";\n } else if (isMegaSwap(bestRoutes)) {\n routing = \"MegaSwap\";\n }\n\n return { title: \"Order Routing\", value: routing, isLoading, tooltip };\n}\n"],"mappings":";;;;AAOA,IAAMQ,IACJ;AAEF,SAAgBC,EAA4B,EAC1CC,aACAC,cACAC,iBAKkB;CAClB,IAAMC,IAAQ,iBACVC,IAAuC;AAE3C,KAAIJ,MAAa,QACf,QAAO;EACLG;EACAG,OACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,GAAD,EAAa,CAAA,EAAA,SAEhB;;EACDL,WAAW;EACXH;EACD;AAGH,KAAI,CAACI,KAAcA,EAAWK,WAAW,EACvC,QAAO;EAAEJ;EAAOG,OAAO;EAAML;EAAWH;EAAS;AAGnD,KAAIL,EAAaS,EAAW,EAAE;EAC5B,IAAM,CAAC,EAAEM,sBAAmBN,EAAW,GAAGO;AAE1C,MAAID,EAAcD,SAAS,EACzBH,KAAU;OACL;GACL,IAAMM,IAAeF,EAAc;AAEnC,GAAIE,MACFN,IACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CAA8E,SACtEM,EAAaC,SAEtB;;;QAGIjB,EAAYQ,EAAW,GAChCE,IAAU,cACDT,EAAWO,EAAW,KAC/BE,IAAU;AAGZ,QAAO;EAAED,OAAO;EAAiBG,OAAOF;EAASH;EAAWH;EAAS"}
1
+ {"version":3,"file":"orderRouting.js","names":["DetailWithValue","DeltaIcon","SwapMode","isSimplePath","isMultiSwap","isMegaSwap","OptimalRate","JSX","tooltip","constructOrderRoutingDetail","swapMode","isLoading","bestRoutes","title","routing","Element","value","length","swapExchanges","swaps","swapExchange","exchange"],"sources":["../../../src/core/swapDetails/orderRouting.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport { DeltaIcon } from \"@/components/widget/Icon/DeltaIcon\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { isSimplePath, isMultiSwap, isMegaSwap } from \"@/lib/utils/dexes\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport type { JSX } from \"react\";\n\nconst tooltip =\n \"Velora routes and splits your order across many exchanges to achieve the best available rate.\";\n\nexport function constructOrderRoutingDetail({\n swapMode,\n isLoading,\n bestRoutes,\n}: {\n swapMode: SwapMode;\n isLoading: boolean;\n bestRoutes?: OptimalRate[\"bestRoute\"];\n}): DetailWithValue {\n const title = \"Order Routing\";\n let routing: string | JSX.Element | null = null;\n\n if (swapMode === \"delta\") {\n return {\n title,\n value: (\n <div className=\"flex items-center gap-1\">\n <DeltaIcon /> Delta\n </div>\n ),\n isLoading: false, // Delta mode does not have routing\n tooltip,\n };\n }\n\n if (!bestRoutes || bestRoutes.length === 0) {\n return { title, value: null, isLoading, tooltip };\n }\n\n if (isSimplePath(bestRoutes)) {\n const [{ swapExchanges }] = bestRoutes[0].swaps;\n\n if (swapExchanges.length > 1) {\n routing = \"Multi. Exchanges\";\n } else {\n const swapExchange = swapExchanges[0];\n\n if (swapExchange) {\n routing = (\n <div className=\"max-w-[200px] whitespace-nowrap overflow-hidden text-ellipsis\">\n 100% {swapExchange.exchange}\n </div>\n );\n }\n }\n } else if (isMultiSwap(bestRoutes)) {\n routing = \"MultiSwap\";\n } else if (isMegaSwap(bestRoutes)) {\n routing = \"MegaSwap\";\n }\n\n return { title: \"Order Routing\", value: routing, isLoading, tooltip };\n}\n"],"mappings":";;;;AAOA,IAAMQ,IACJ;AAEF,SAAgBC,EAA4B,EAC1CC,aACAC,cACAC,iBAKkB;CAClB,IAAMC,IAAQ,iBACVC,IAAuC;CAE3C,IAAIJ,MAAa,SACf,OAAO;EACLG;EACAG,OACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,GAAD,EAAa,CAAA,EAAA,SAEhB;;EACDL,WAAW;EACXH;EACD;CAGH,IAAI,CAACI,KAAcA,EAAWK,WAAW,GACvC,OAAO;EAAEJ;EAAOG,OAAO;EAAML;EAAWH;EAAS;CAGnD,IAAIL,EAAaS,EAAW,EAAE;EAC5B,IAAM,CAAC,EAAEM,sBAAmBN,EAAW,GAAGO;EAE1C,IAAID,EAAcD,SAAS,GACzBH,IAAU;OACL;GACL,IAAMM,IAAeF,EAAc;GAEnC,AAAIE,MACFN,IACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CAA8E,SACtEM,EAAaC,SAEtB;;;QAGA,AAAIjB,EAAYQ,EAAW,GAChCE,IAAU,cACDT,EAAWO,EAAW,KAC/BE,IAAU;CAGZ,OAAO;EAAED,OAAO;EAAiBG,OAAOF;EAASH;EAAWH;EAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"priceImpact.js","names":["cn","formatPriceImpactPercent","PriceImpactResult","TriangleAlert","PriceImpactDetail","tooltip","constructPriceImpactDetail","priceImpactResult","isLoading","title","priceImpact","isHighImpact","isMediumImpact","isUnavailable","priceImpactPercent","undefined","value","classes"],"sources":["../../../src/core/swapDetails/priceImpact.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport {\n formatPriceImpactPercent,\n type PriceImpactResult,\n} from \"@/lib/utils/priceImpact\";\nimport { TriangleAlert } from \"lucide-react\";\nimport type { PriceImpactDetail } from \"./types\";\n\nconst tooltip =\n \"The expected influence of the trade over the current market fiat price of the chosen pair of tokens.\";\n\nexport function constructPriceImpactDetail({\n priceImpactResult,\n isLoading,\n}: {\n priceImpactResult: PriceImpactResult;\n isLoading: boolean;\n}): PriceImpactDetail {\n const title = \"Price Impact\";\n\n const { priceImpact, isHighImpact, isMediumImpact, isUnavailable } =\n priceImpactResult;\n\n const priceImpactPercent =\n isUnavailable || priceImpact === undefined\n ? \"Not Available\"\n : formatPriceImpactPercent(priceImpact);\n\n return {\n title,\n value: isHighImpact ? (\n <div className=\"flex items-center gap-1\">\n <TriangleAlert size={14} /> {priceImpactPercent}\n </div>\n ) : (\n priceImpactPercent\n ),\n classes: {\n value: cn({\n \"text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\":\n isMediumImpact,\n \"text-secondary-radical-red-1 dark:text-secondary-radical-red-1\":\n isUnavailable || isHighImpact,\n }),\n },\n isLoading,\n tooltip,\n isHighImpact,\n isMediumImpact,\n isUnavailable,\n };\n}\n"],"mappings":";;;;;AAQA,IAAMK,IACJ;AAEF,SAAgBC,EAA2B,EACzCC,sBACAC,gBAIoB;CACpB,IAEM,EAAEE,gBAAaC,iBAAcC,mBAAgBC,qBACjDN,GAEIO,IACJD,KAAiBH,MAAgBK,KAAAA,IAC7B,kBACAd,EAAyBS,EAAY;AAE3C,QAAO;EACLD;EACAO,OAAOL,IACL,kBAAC,OAAD;GAAK,WAAU;aAAf;IACE,kBAAC,GAAD,EAAe,MAAM,IAAM,CAAA;;IAAEG;IACzB;OAENA;EAEFG,SAAS,EACPD,OAAOhB,EAAG;GACR,kEACEY;GACF,kEACEC,KAAiBF;GACpB,CAAA,EACF;EACDH;EACAH;EACAM;EACAC;EACAC;EACD"}
1
+ {"version":3,"file":"priceImpact.js","names":["cn","formatPriceImpactPercent","PriceImpactResult","TriangleAlert","PriceImpactDetail","tooltip","constructPriceImpactDetail","priceImpactResult","isLoading","title","priceImpact","isHighImpact","isMediumImpact","isUnavailable","priceImpactPercent","undefined","value","classes"],"sources":["../../../src/core/swapDetails/priceImpact.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport {\n formatPriceImpactPercent,\n type PriceImpactResult,\n} from \"@/lib/utils/priceImpact\";\nimport { TriangleAlert } from \"lucide-react\";\nimport type { PriceImpactDetail } from \"./types\";\n\nconst tooltip =\n \"The expected influence of the trade over the current market fiat price of the chosen pair of tokens.\";\n\nexport function constructPriceImpactDetail({\n priceImpactResult,\n isLoading,\n}: {\n priceImpactResult: PriceImpactResult;\n isLoading: boolean;\n}): PriceImpactDetail {\n const title = \"Price Impact\";\n\n const { priceImpact, isHighImpact, isMediumImpact, isUnavailable } =\n priceImpactResult;\n\n const priceImpactPercent =\n isUnavailable || priceImpact === undefined\n ? \"Not Available\"\n : formatPriceImpactPercent(priceImpact);\n\n return {\n title,\n value: isHighImpact ? (\n <div className=\"flex items-center gap-1\">\n <TriangleAlert size={14} /> {priceImpactPercent}\n </div>\n ) : (\n priceImpactPercent\n ),\n classes: {\n value: cn({\n \"text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\":\n isMediumImpact,\n \"text-secondary-radical-red-1 dark:text-secondary-radical-red-1\":\n isUnavailable || isHighImpact,\n }),\n },\n isLoading,\n tooltip,\n isHighImpact,\n isMediumImpact,\n isUnavailable,\n };\n}\n"],"mappings":";;;;;AAQA,IAAMK,IACJ;AAEF,SAAgBC,EAA2B,EACzCC,sBACAC,gBAIoB;CACpB,IAEM,EAAEE,gBAAaC,iBAAcC,mBAAgBC,qBACjDN,GAEIO,IACJD,KAAiBH,MAAgBK,KAAAA,IAC7B,kBACAd,EAAyBS,EAAY;CAE3C,OAAO;EACLD;EACAO,OAAOL,IACL,kBAAC,OAAD;GAAK,WAAU;aAAf;IACE,kBAAC,GAAD,EAAe,MAAM,IAAM,CAAA;;IAAEG;IACzB;OAENA;EAEFG,SAAS,EACPD,OAAOhB,EAAG;GACR,kEACEY;GACF,kEACEC,KAAiBF;GACpB,CAAA,EACF;EACDH;EACAH;EACAM;EACAC;EACAC;EACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapDetailsListProps.js","names":["DetailWithValue","DetailWithValueListExpandableProps","useCurrentSwapPrice","useWidgetTokens","useAtomValue","payInputAmountWeiAtom","receiveInputAmountWeiAtom","constructOrderRoutingDetail","constructPriceImpactDetail","constructSwapFeesDetail","constructNetworkFeesDetail","useSwapSide","isTruthy","constructYouGetDetail","useSlippage","constructMaxToPayDetail","SwapRateWithPriceImpactRow","useSwapDetailsListProps","$","_c","tokenFrom","tokenTo","srcAmountWei","destAmountWei","t0","Symbol","for","enabled","isLoading","price","priceMode","getPriceImpact","refetch","isFetching","resolvedSlippage","swapSide","priceImpactDetail","t1","orderRoutingDetail","bestRoutes","bestRoute","undefined","swapMode","priceImpactResult","swapFeesDetail","networkFeesDetail","minMaxDetail","slippagePercent","filter","details","isBuy","t2","srcToken","destToken","reverse","t3","onClick","cancelRefetch","animate","t4","t5","root","trigger","t6","classes"],"sources":["../../../src/core/swapDetails/useSwapDetailsListProps.tsx"],"sourcesContent":["import type {\n DetailWithValue,\n DetailWithValueListExpandableProps,\n} from \"@/components/widget/Details/types\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"../inputs/state/inputAmountAtom\";\n\nimport { constructOrderRoutingDetail } from \"./orderRouting\";\nimport { constructPriceImpactDetail } from \"./priceImpact\";\nimport { constructSwapFeesDetail, constructNetworkFeesDetail } from \"./fees\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { constructYouGetDetail } from \"./youGet\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\n\nimport { constructMaxToPayDetail } from \"./maxToPay\";\nimport { SwapRateWithPriceImpactRow } from \"@/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow\";\n\nexport const useSwapDetailsListProps =\n (): DetailWithValueListExpandableProps => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const srcAmountWei = useAtomValue(payInputAmountWeiAtom);\n const destAmountWei = useAtomValue(receiveInputAmountWeiAtom);\n\n const { isLoading, price, priceMode, getPriceImpact, refetch, isFetching } =\n useCurrentSwapPrice({ enabled: false });\n\n const { resolvedSlippage } = useSlippage(\"swap\");\n const swapSide = useSwapSide();\n\n const orderRoutingDetail = constructOrderRoutingDetail({\n bestRoutes: price && \"bestRoute\" in price ? price.bestRoute : undefined,\n swapMode: priceMode,\n isLoading,\n });\n\n const priceImpactDetail = constructPriceImpactDetail({\n priceImpactResult: getPriceImpact(),\n isLoading,\n });\n\n const swapFeesDetail = constructSwapFeesDetail({\n price,\n isLoading,\n });\n\n const networkFeesDetail = constructNetworkFeesDetail({\n price,\n swapMode: priceMode,\n isLoading,\n });\n\n const minMaxDetail =\n swapSide === \"SELL\"\n ? // minimum received when SELLing\n constructYouGetDetail({\n price,\n isLoading,\n slippagePercent: resolvedSlippage,\n tokenTo,\n swapSide,\n })\n : // maximum to pay when BUYing\n constructMaxToPayDetail({\n price,\n isLoading,\n slippagePercent: resolvedSlippage,\n tokenFrom,\n swapSide,\n });\n\n const details: DetailWithValue[] = [\n orderRoutingDetail,\n priceImpactDetail,\n swapFeesDetail,\n minMaxDetail,\n networkFeesDetail,\n ].filter(isTruthy);\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n trigger: (\n <SwapRateWithPriceImpactRow\n swapRateProps={{\n srcToken: tokenFrom,\n destToken: tokenTo,\n srcAmountWei,\n destAmountWei,\n isLoading,\n reverse: isBuy,\n }}\n priceImpactDetail={priceImpactDetail}\n refreshButtonProps={\n price\n ? {\n onClick: () => refetch({ cancelRefetch: false }),\n animate: isFetching,\n }\n : undefined\n }\n />\n ),\n details,\n classes: {\n root: \"mt-4 items-center\",\n trigger: \"items-center\",\n },\n };\n };\n"],"mappings":"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"}
1
+ {"version":3,"file":"useSwapDetailsListProps.js","names":["DetailWithValue","DetailWithValueListExpandableProps","useCurrentSwapPrice","useWidgetTokens","useAtomValue","payInputAmountWeiAtom","receiveInputAmountWeiAtom","constructOrderRoutingDetail","constructPriceImpactDetail","constructSwapFeesDetail","constructNetworkFeesDetail","useSwapSide","isTruthy","constructYouGetDetail","useSlippage","constructMaxToPayDetail","SwapRateWithPriceImpactRow","useSwapDetailsListProps","$","_c","tokenFrom","tokenTo","srcAmountWei","destAmountWei","t0","Symbol","for","enabled","isLoading","price","priceMode","getPriceImpact","refetch","isFetching","resolvedSlippage","swapSide","priceImpactDetail","t1","orderRoutingDetail","bestRoutes","bestRoute","undefined","swapMode","priceImpactResult","swapFeesDetail","networkFeesDetail","minMaxDetail","slippagePercent","filter","details","isBuy","t2","srcToken","destToken","reverse","t3","onClick","cancelRefetch","animate","t4","t5","root","trigger","t6","classes"],"sources":["../../../src/core/swapDetails/useSwapDetailsListProps.tsx"],"sourcesContent":["import type {\n DetailWithValue,\n DetailWithValueListExpandableProps,\n} from \"@/components/widget/Details/types\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"../inputs/state/inputAmountAtom\";\n\nimport { constructOrderRoutingDetail } from \"./orderRouting\";\nimport { constructPriceImpactDetail } from \"./priceImpact\";\nimport { constructSwapFeesDetail, constructNetworkFeesDetail } from \"./fees\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { constructYouGetDetail } from \"./youGet\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\n\nimport { constructMaxToPayDetail } from \"./maxToPay\";\nimport { SwapRateWithPriceImpactRow } from \"@/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow\";\n\nexport const useSwapDetailsListProps =\n (): DetailWithValueListExpandableProps => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const srcAmountWei = useAtomValue(payInputAmountWeiAtom);\n const destAmountWei = useAtomValue(receiveInputAmountWeiAtom);\n\n const { isLoading, price, priceMode, getPriceImpact, refetch, isFetching } =\n useCurrentSwapPrice({ enabled: false });\n\n const { resolvedSlippage } = useSlippage(\"swap\");\n const swapSide = useSwapSide();\n\n const orderRoutingDetail = constructOrderRoutingDetail({\n bestRoutes: price && \"bestRoute\" in price ? price.bestRoute : undefined,\n swapMode: priceMode,\n isLoading,\n });\n\n const priceImpactDetail = constructPriceImpactDetail({\n priceImpactResult: getPriceImpact(),\n isLoading,\n });\n\n const swapFeesDetail = constructSwapFeesDetail({\n price,\n isLoading,\n });\n\n const networkFeesDetail = constructNetworkFeesDetail({\n price,\n swapMode: priceMode,\n isLoading,\n });\n\n const minMaxDetail =\n swapSide === \"SELL\"\n ? // minimum received when SELLing\n constructYouGetDetail({\n price,\n isLoading,\n slippagePercent: resolvedSlippage,\n tokenTo,\n swapSide,\n })\n : // maximum to pay when BUYing\n constructMaxToPayDetail({\n price,\n isLoading,\n slippagePercent: resolvedSlippage,\n tokenFrom,\n swapSide,\n });\n\n const details: DetailWithValue[] = [\n orderRoutingDetail,\n priceImpactDetail,\n swapFeesDetail,\n minMaxDetail,\n networkFeesDetail,\n ].filter(isTruthy);\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n trigger: (\n <SwapRateWithPriceImpactRow\n swapRateProps={{\n srcToken: tokenFrom,\n destToken: tokenTo,\n srcAmountWei,\n destAmountWei,\n isLoading,\n reverse: isBuy,\n }}\n priceImpactDetail={priceImpactDetail}\n refreshButtonProps={\n price\n ? {\n onClick: () => refetch({ cancelRefetch: false }),\n animate: isFetching,\n }\n : undefined\n }\n />\n ),\n details,\n classes: {\n root: \"mt-4 items-center\",\n trigger: \"items-center\",\n },\n };\n };\n"],"mappings":";;;;;;;;;;;;;;;;AAuBA,IAAaiB,UACX;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACE,EAAAC,cAAAC,eAA+BlB,EAAgB,OAAO,EAEtDmB,IAAqBlB,EAAaC,EAAsB,EACxDkB,IAAsBnB,EAAaE,EAA0B,EAACkB;CAAA,AAAAN,EAAA,OAAAO,OAAAC,IAAA,4BAAA,IAGxCF,IAAA,EAAAG,SAAW,IAAO,EAAAT,EAAA,KAAAM,KAAAA,IAAAN,EAAA;CADxC,IAAA,EAAAU,cAAAC,UAAAC,cAAAC,mBAAAC,YAAAC,kBACE/B,EAAoBsB,EAAmB,EAEzC,EAAAU,wBAA6BpB,EAAY,OAAO,EAChDqB,IAAiBxB,GAAa,EAACyB,GAAAC;CAAA,IAAAnB,EAAA,OAAAa,KAAAb,EAAA,OAAAU,KAAAV,EAAA,OAAAW,KAAAX,EAAA,OAAAY,KAAAZ,EAAA,OAAAgB,KAAAhB,EAAA,OAAAiB,KAAAjB,EAAA,OAAAE,KAAAF,EAAA,OAAAG,GAAA;EAE/B,IAAAiB,IAA2B/B,EAA4B;GAAAgC,YACzCV,KAAS,eAAeA,IAAQA,EAAKW,YAArCC,KAAAA;GAA2DC,UAC7DZ;GAASF;GAEpB,CAAC;EAEFQ,IAA0B5B,EAA2B;GAAAmC,mBAChCZ,GAAgB;GAAAH;GAEpC,CAAC;EAEF,IAAAgB,IAAuBnC,EAAwB;GAAAoB;GAAAD;GAG9C,CAAC,EAEFiB,IAA0BnC,EAA2B;GAAAmB;GAAAa,UAEzCZ;GAASF;GAEpB,CAAC,EAEFkB,IACEX,MAAa,SAETtB,EAAsB;GAAAgB;GAAAD;GAAAmB,iBAGHb;GAAgBb;GAAAc;GAWlC,CAAC,GANFpB,EAAwB;GAAAc;GAAAD;GAAAmB,iBAGLb;GAAgBd;GAAAe;GAGlC,CAAC;EAQUjB,AANiBmB,IAAA;GACjCC;GACAF;GACAQ;GACAE;GACAD;GACD,CAAAG,OAAQpC,EAAS,EAAAM,EAAA,KAAAa,GAAAb,EAAA,KAAAU,GAAAV,EAAA,KAAAW,GAAAX,EAAA,KAAAY,GAAAZ,EAAA,KAAAgB,GAAAhB,EAAA,KAAAiB,GAAAjB,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAkB,GAAAlB,EAAA,MAAAmB;QAAAA,AAAAD,IAAAlB,EAAA,IAAAmB,IAAAnB,EAAA;CANlB,IAAA+B,IAAmCZ,GAQnCa,IAAcf,MAAa,OAAMgB;CAAA,AAAAjC,EAAA,QAAAK,KAAAL,EAAA,QAAAgC,KAAAhC,EAAA,QAAAU,KAAAV,EAAA,QAAAI,KAAAJ,EAAA,QAAAE,KAAAF,EAAA,QAAAG,KAKZ8B,IAAA;EAAAC,UACHhC;EAASiC,WACRhC;EAAOC;EAAAC;EAAAK;EAAA0B,SAITJ;EACV,EAAAhC,EAAA,MAAAK,GAAAL,EAAA,MAAAgC,GAAAhC,EAAA,MAAAU,GAAAV,EAAA,MAAAI,GAAAJ,EAAA,MAAAE,GAAAF,EAAA,MAAAG,GAAAH,EAAA,MAAAiC,KAAAA,IAAAjC,EAAA;CAAA,IAAAqC;CAAA,AAAArC,EAAA,QAAAe,KAAAf,EAAA,QAAAW,KAAAX,EAAA,QAAAc,KAGCuB,IAAA1B,IAAA;EAAA2B,eAEqBxB,EAAQ,EAAAyB,eAAiB,IAAO,CAAC;EAAAC,SACvCzB;EAEF,GALbQ,KAAAA,GAKavB,EAAA,MAAAe,GAAAf,EAAA,MAAAW,GAAAX,EAAA,MAAAc,GAAAd,EAAA,MAAAqC,KAAAA,IAAArC,EAAA;CAAA,IAAAyC;CAAA,AAAAzC,EAAA,QAAAkB,KAAAlB,EAAA,QAAAiC,KAAAjC,EAAA,QAAAqC,KAhBjBI,IAAA,kBAAC,GAAD;EACiB,eAAAR;EAQIf;EAEjB,oBAAAmB;EAOF,CAAA,EAAArC,EAAA,MAAAkB,GAAAlB,EAAA,MAAAiC,GAAAjC,EAAA,MAAAqC,GAAArC,EAAA,MAAAyC,KAAAA,IAAAzC,EAAA;CAAA,IAAA0C;CAAA,AAAA1C,EAAA,QAAAO,OAAAC,IAAA,4BAAA,IAGKkC,IAAA;EAAAC,MACD;EAAmBC,SAChB;EACV,EAAA5C,EAAA,MAAA0C,KAAAA,IAAA1C,EAAA;CAAA,IAAA6C;CACF,OADE7C,EAAA,QAAA+B,KAAA/B,EAAA,QAAAyC,KA1BII,IAAA;EAAAD,SAEHH;EAkBEV;EAAAe,SAGKJ;EAIV,EAAA1C,EAAA,MAAA+B,GAAA/B,EAAA,MAAAyC,GAAAzC,EAAA,MAAA6C,KAAAA,IAAA7C,EAAA,KA3BM6C"}
@@ -1 +1 @@
1
- {"version":3,"file":"youGet.js","names":["DetailWithValue","DeltaOrMarketPrice","getDestAmountAfterFeeAndSlippage","toDecimalTrimmed","Token","formatUnits","tooltip","constructYouGetDetail","price","slippagePercent","isLoading","tokenTo","swapSide","title","value","minDestAmount","minDestAmountUnit","BigInt","decimals","formattedMinDestAmountUnit","symbol"],"sources":["../../../src/core/swapDetails/youGet.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { getDestAmountAfterFeeAndSlippage } from \"@/lib/utils/price\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip =\n \"The minimum amount of token to receive, otherwise the transaction will revert.\";\n\nexport function constructYouGetDetail({\n price,\n slippagePercent,\n isLoading,\n tokenTo,\n swapSide,\n}: {\n price?: DeltaOrMarketPrice;\n slippagePercent: number;\n isLoading: boolean;\n tokenTo?: Token;\n swapSide: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of BUY youGet= exactly destAmount\n if (swapSide === \"BUY\") return;\n\n const title = \"You Get (at least)\";\n\n if (!price || !tokenTo) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const minDestAmount = getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n });\n\n const minDestAmountUnit = formatUnits(\n BigInt(minDestAmount),\n tokenTo.decimals\n );\n\n const formattedMinDestAmountUnit = toDecimalTrimmed(minDestAmountUnit);\n\n return {\n title,\n value: `${formattedMinDestAmountUnit} ${tokenTo.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;AAQA,IAAMM,IACJ;AAEF,SAAgBC,EAAsB,EACpCC,UACAC,oBACAC,cACAC,YACAC,eAO8B;AAE9B,KAAIA,MAAa,MAAO;CAExB,IAAMC,IAAQ;AAEd,KAAI,CAACL,KAAS,CAACG,EACb,QAAO;EACLE;EACAC,OAAO;EACPJ;EACAJ;EACD;CAGH,IAAMS,IAAgBb,EAAiC;EACrDM;EACAC;EACD,CAAC;AASF,QAAO;EACLI;EACAC,OAAO,GAJ0BX,EALTE,EACxBY,OAAOF,EAAc,EACrBJ,EAAQO,SACT,CAEqE,CAIhC,GAAIP,EAAQS;EAChDV;EACAJ;EACD"}
1
+ {"version":3,"file":"youGet.js","names":["DetailWithValue","DeltaOrMarketPrice","getDestAmountAfterFeeAndSlippage","toDecimalTrimmed","Token","formatUnits","tooltip","constructYouGetDetail","price","slippagePercent","isLoading","tokenTo","swapSide","title","value","minDestAmount","minDestAmountUnit","BigInt","decimals","formattedMinDestAmountUnit","symbol"],"sources":["../../../src/core/swapDetails/youGet.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { getDestAmountAfterFeeAndSlippage } from \"@/lib/utils/price\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip =\n \"The minimum amount of token to receive, otherwise the transaction will revert.\";\n\nexport function constructYouGetDetail({\n price,\n slippagePercent,\n isLoading,\n tokenTo,\n swapSide,\n}: {\n price?: DeltaOrMarketPrice;\n slippagePercent: number;\n isLoading: boolean;\n tokenTo?: Token;\n swapSide: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of BUY youGet= exactly destAmount\n if (swapSide === \"BUY\") return;\n\n const title = \"You Get (at least)\";\n\n if (!price || !tokenTo) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const minDestAmount = getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n });\n\n const minDestAmountUnit = formatUnits(\n BigInt(minDestAmount),\n tokenTo.decimals\n );\n\n const formattedMinDestAmountUnit = toDecimalTrimmed(minDestAmountUnit);\n\n return {\n title,\n value: `${formattedMinDestAmountUnit} ${tokenTo.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;AAQA,IAAMM,IACJ;AAEF,SAAgBC,EAAsB,EACpCC,UACAC,oBACAC,cACAC,YACAC,eAO8B;CAE9B,IAAIA,MAAa,OAAO;CAExB,IAAMC,IAAQ;CAEd,IAAI,CAACL,KAAS,CAACG,GACb,OAAO;EACLE;EACAC,OAAO;EACPJ;EACAJ;EACD;CAGH,IAAMS,IAAgBb,EAAiC;EACrDM;EACAC;EACD,CAAC;CASF,OAAO;EACLI;EACAC,OAAO,GAJ0BX,EALTE,EACxBY,OAAOF,EAAc,EACrBJ,EAAQO,SAG0CF,CAIxCG,CAA0B,GAAIR,EAAQS;EAChDV;EACAJ;EACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"isCrosschainAtom.js","names":["atom","useAtomValue","twapTokenFromAtom","twapTokenToAtom","isTwapCrossChainAtom","get","tokenFrom","tokenTo","network","useIsTwapCrossChain"],"sources":["../../../../src/core/twap/state/isCrosschainAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\n\nexport const isTwapCrossChainAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return false;\n\n return tokenFrom.network !== tokenTo.network;\n});\n\nexport const useIsTwapCrossChain = () => {\n return useAtomValue(isTwapCrossChainAtom);\n};\n"],"mappings":";;;;AAIA,IAAaI,IAAuBJ,GAAMK,MAAQ;CAChD,IAAMC,IAAYD,EAAIH,EAAkB,EAClCK,IAAUF,EAAIF,EAAgB;AAIpC,QAFKI,IAEED,EAAUE,YAAYD,EAAQC,UAFhB;EAGrB,EAEWC,UACJR,EAAaG,EAAqB"}
1
+ {"version":3,"file":"isCrosschainAtom.js","names":["atom","useAtomValue","twapTokenFromAtom","twapTokenToAtom","isTwapCrossChainAtom","get","tokenFrom","tokenTo","network","useIsTwapCrossChain"],"sources":["../../../../src/core/twap/state/isCrosschainAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\n\nexport const isTwapCrossChainAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return false;\n\n return tokenFrom.network !== tokenTo.network;\n});\n\nexport const useIsTwapCrossChain = () => {\n return useAtomValue(isTwapCrossChainAtom);\n};\n"],"mappings":";;;;AAIA,IAAaI,IAAuBJ,GAAMK,MAAQ;CAChD,IAAMC,IAAYD,EAAIH,EAAkB,EAClCK,IAAUF,EAAIF,EAAgB;CAIpC,OAFKI,IAEED,EAAUE,YAAYD,EAAQC,UAFhB;EAGrB,EAEWC,UACJR,EAAaG,EAAqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"selectedTokenActionsAtom.js","names":["pickDefaultTokenPair","areTokensSame","atom","twapTokenFromAtom","twapTokenToAtom","Token","wagmiConfig","switchChain","isCrosschainPossible","findFirstTokenFromAcross","isTokenFromAcross","allTokensByChainAtom","getSelectableDestChains","enabledSrcChainsAtom","jotaiStore","SupportedChainId","switchTwapTokensAtom","get","set","tokenTo","enabledSrcChains","includes","network","tokenFrom","initChainFrom","selectTwapTokenToAtom","currentTokenFrom","chainId","selectTwapTokenFromAtom","newTokenFrom","initTokenFrom","state","crosschainPossible","chainIdFrom","chainIdTo","mode","isTokenToFromAcross","token","fromChainId","toChainId","maybeAcrossToken","listByChainId","defaultTokenFrom","defaultTokenTo","newTokenTo","selectableDestChains","initTokenTo","defaultToken","wasCrosschain","needResetTokenFrom","firstPossibleSrcChain","srcChain","syncTwapTokensAfterChainSwitch","undefined"],"sources":["../../../../src/core/twap/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isCrosschainPossible } from \"@/core/across/isCrosschainPossible\";\nimport {\n findFirstTokenFromAcross,\n isTokenFromAcross,\n} from \"@/core/across/utils\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport { getSelectableDestChains } from \"@/core/state/getSelectableDestChains\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { jotaiStore } from \"@/core/store\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport const switchTwapTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(tokenTo.network)) return;\n\n const tokenFrom = get(twapTokenFromAtom);\n const initChainFrom = tokenFrom.network;\n\n // set tokenFrom as is\n set(twapTokenFromAtom, tokenTo);\n // set tokenTo, including running all crosschain logic inside\n set(selectTwapTokenToAtom, tokenFrom);\n\n const currentTokenFrom = get(twapTokenFromAtom);\n\n // switch a token from a different chain?\n if (currentTokenFrom.network !== initChainFrom) {\n switchChain({\n chainId: currentTokenFrom.network,\n });\n }\n});\n\nexport const selectTwapTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n let tokenFrom = get(twapTokenFromAtom);\n let tokenTo = get(twapTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // set the tokenFrom\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"twap\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"twap\",\n });\n\n set(twapTokenToAtom, maybeAcrossToken);\n }\n } else {\n if (tokenFrom.network !== tokenTo.network) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"twap\"\n );\n\n tokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(twapTokenToAtom, tokenTo);\n } else {\n if (areTokensSame(tokenFrom, tokenTo)) {\n tokenTo = initTokenFrom;\n set(twapTokenToAtom, tokenTo);\n }\n }\n }\n }\n);\n\nexport const selectTwapTokenToAtom = atom(\n null,\n async (get, set, newTokenTo: Token) => {\n let tokenFrom = get(twapTokenFromAtom);\n\n // @TODO reenable TWAP crosschain when ready on the API\n if (newTokenTo.network !== tokenFrom.network) {\n return;\n }\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: tokenFrom.network,\n mode: \"twap\",\n });\n if (!selectableDestChains.includes(newTokenTo.network)) return;\n\n let tokenTo = get(twapTokenToAtom);\n const initTokenTo = tokenTo;\n\n set(twapTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n if (areTokensSame(tokenTo, tokenFrom)) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"twap\"\n );\n\n const defaultToken = areTokensSame(tokenFrom, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n const wasCrosschain =\n initTokenTo && tokenFrom.network !== initTokenTo.network;\n\n const newTokenFrom = wasCrosschain\n ? defaultToken\n : (initTokenTo ?? defaultToken);\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n let needResetTokenFrom = false;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"twap\",\n });\n\n if (!isTokenToFromAcross) {\n needResetTokenFrom = true;\n }\n }\n\n if (tokenFrom.network !== tokenTo.network && !crosschainPossible) {\n needResetTokenFrom = true;\n }\n const enabledSrcChains = get(enabledSrcChainsAtom);\n\n if (needResetTokenFrom) {\n let firstPossibleSrcChain = tokenTo.network;\n if (!enabledSrcChains.includes(tokenTo.network)) {\n for (const srcChain of enabledSrcChains) {\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: srcChain,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n if (crosschainPossible) {\n firstPossibleSrcChain = srcChain;\n break;\n }\n }\n }\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n firstPossibleSrcChain,\n \"twap\"\n );\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // ended up changing tokenFrom network?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const syncTwapTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainId)) return;\n\n let tokenFrom = jotaiStore.get(twapTokenFromAtom);\n\n // chains are the same? do nothing\n if (tokenFrom.network === chainId) return;\n\n // get default tokens for the new chain\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"twap\"\n );\n\n // update tokenFrom\n jotaiStore.set(twapTokenFromAtom, defaultTokenFrom);\n tokenFrom = defaultTokenFrom;\n\n let tokenTo = jotaiStore.get(twapTokenToAtom);\n\n // toChainId derives from tokenTo.network, if no tokenTo - do nothing\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get: jotaiStore.get,\n chainIdFrom: chainId,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: chainId,\n toChainId: tokenTo.network,\n mode: \"twap\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: chainId,\n toChainId: tokenTo.network,\n listByChainId: jotaiStore.get(allTokensByChainAtom).listByChainId,\n mode: \"twap\",\n });\n\n tokenTo = maybeAcrossToken;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n } else {\n const selectableDestChains = getSelectableDestChains(jotaiStore.get, {\n fromChainId: tokenFrom.network,\n mode: \"twap\",\n });\n if (selectableDestChains.includes(chainId)) {\n tokenTo = defaultTokenTo;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n } else {\n tokenTo = undefined;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n }\n};\n"],"mappings":";;;;;;;;;;;;;AAkBA,IAAagB,IAAuBd,EAAK,MAAM,OAAOe,GAAKC,MAAQ;CACjE,IAAMC,IAAUF,EAAIb,EAAgB;AAKpC,KAHI,CAACe,KAGD,CADqBF,EAAIJ,EAAqB,CAC5BQ,SAASF,EAAQG,QAAQ,CAAE;CAEjD,IAAMC,IAAYN,EAAId,EAAkB,EAClCqB,IAAgBD,EAAUD;AAKhCJ,CAFAA,EAAIf,GAAmBgB,EAAQ,EAE/BD,EAAIO,GAAuBF,EAAU;CAErC,IAAMG,IAAmBT,EAAId,EAAkB;AAG/C,CAAIuB,EAAiBJ,YAAYE,KAC/BjB,EAAY,EACVoB,SAASD,EAAiBJ,SAC3B,CAAC;EAEJ,EAEWM,IAA0B1B,EACrC,MACA,OAAOe,GAAKC,GAAKW,MAAwB;CACvC,IAAIN,IAAYN,EAAId,EAAkB,EAClCgB,IAAUF,EAAIb,EAAgB,EAC5B0B,IAAgBP;AAGtBL,OAAIf,GAAmB0B,EAAa,EACpCN,IAAYM,GAGRN,EAAUD,YAAYhB,EAAYyB,MAAMJ,WAC1CpB,EAAY,EACVoB,SAASJ,EAAUD,SACpB,CAAC,EAGCH,EASL,KAP2BX,EAAqB;EAC9CS;EACAgB,aAAaV,EAAUD;EACvBY,WAAWf,EAAQG;EACnBa,MAAM;EACP,CAAC,EAG4BzB,EAAkB;EAC5C2B,OAAOlB;EACPmB,aAAaf,EAAUD;EACvBiB,WAAWpB,EAAQG;EACnBa,MAAM;EACP,CAAC,IAUAjB,EAAId,GAPqBK,EAAyB;EAChD6B,aAAaf,EAAUD;EACvBiB,WAAWpB,EAAQG;EACnBmB,eAAexB,EAAIN,EAAqB,CAAC8B;EACzCN,MAAM;EACP,CAAC,CAEoC;UAGpCZ,EAAUD,YAAYH,EAAQG,SAAS;EACzC,IAAM,CAACoB,GAAkBC,KAAkB3C,EACzCuB,EAAUD,SACV,OACD;AAKDJ,EAHAC,IAAUlB,EAAcsB,GAAWoB,EAAe,GAC9CD,IACAC,GACJzB,EAAId,GAAiBe,EAAQ;QAEzBlB,EAAcsB,GAAWJ,EAAQ,KACnCA,IAAUW,GACVZ,EAAId,GAAiBe,EAAQ;EAKtC,EAEYM,IAAwBvB,EACnC,MACA,OAAOe,GAAKC,GAAK0B,MAAsB;CACrC,IAAIrB,IAAYN,EAAId,EAAkB;AAWtC,KARIyC,EAAWtB,YAAYC,EAAUD,WAQjC,CAJyBV,EAAwBK,GAAK;EACxDqB,aAAaf,EAAUD;EACvBa,MAAM;EACP,CAAC,CACwBd,SAASuB,EAAWtB,QAAQ,CAAE;CAExD,IAAIH,IAAUF,EAAIb,EAAgB,EAC5B0C,IAAc3B;AAKpB,KAHAD,EAAId,GAAiBwC,EAAW,EAChCzB,IAAUyB,GAEN3C,EAAckB,GAASI,EAAU,EAAE;EACrC,IAAM,CAACmB,GAAkBC,KAAkB3C,EACzCmB,EAAQG,SACR,OACD,EAEKyB,IAAe9C,EAAcsB,GAAWmB,EAAiB,GAC3DC,IACAD,GAKEb,IAFJiB,KAAevB,EAAUD,YAAYwB,EAAYxB,UAG/CyB,IACCD,KAAeC;AAGpBxB,EADAL,EAAIf,GAAmB0B,EAAa,EACpCN,IAAYM;;CAGd,IAAIoB,IAAqB,IAEnBjB,IAAqBxB,EAAqB;EAC9CS;EACAgB,aAAaV,EAAUD;EACvBY,WAAWf,EAAQG;EACnBa,MAAM;EACP,CAAC;AAeF,CAbIH,MAC0BtB,EAAkB;EAC5C2B,OAAOlB;EACPmB,aAAaf,EAAUD;EACvBiB,WAAWpB,EAAQG;EACnBa,MAAM;EACP,CAAC,KAGAc,IAAqB,MAIrB1B,EAAUD,YAAYH,EAAQG,WAAW,CAACU,MAC5CiB,IAAqB;CAEvB,IAAM7B,IAAmBH,EAAIJ,EAAqB;AAElD,KAAIoC,GAAoB;EACtB,IAAIC,IAAwB/B,EAAQG;AACpC,MAAI,CAACF,EAAiBC,SAASF,EAAQG,QAAQ;QACxC,IAAM6B,KAAY/B,EAOrB,KAN2BZ,EAAqB;IAC9CS;IACAgB,aAAakB;IACbjB,WAAWf,EAAQG;IACnBa,MAAM;IACP,CAAC,EACsB;AACtBe,QAAwBC;AACxB;;;EAIN,IAAM,CAACT,GAAkBC,KAAkB3C,EACzCkD,GACA,OACD,EACKrB,IAAe5B,EAAckB,GAASuB,EAAiB,GACzDC,IACAD;AAGJnB,EADAL,EAAIf,GAAmB0B,EAAa,EACpCN,IAAYM;;AAId,CAAIN,EAAUD,YAAYhB,EAAYyB,MAAMJ,WAC1CpB,EAAY,EACVoB,SAASJ,EAAUD,SACpB,CAAC;EAGP,EAEY8B,KAAkCzB,MAA8B;AAE3E,KAAI,CADqBb,EAAWG,IAAIJ,EAAqB,CACvCQ,SAASM,EAAQ,CAAE;CAEzC,IAAIJ,IAAYT,EAAWG,IAAId,EAAkB;AAGjD,KAAIoB,EAAUD,YAAYK,EAAS;CAGnC,IAAM,CAACe,GAAkBC,KAAkB3C,EACzC2B,GACA,OACD;AAIDJ,CADAT,EAAWI,IAAIf,GAAmBuC,EAAiB,EACnDnB,IAAYmB;CAEZ,IAAIvB,IAAUL,EAAWG,IAAIb,EAAgB;AAGxCe,OAEsBX,EAAqB;EAC9CS,KAAKH,EAAWG;EAChBgB,aAAaN;EACbO,WAAWf,EAAQG;EACnBa,MAAM;EACP,CAAC,GAG4BzB,EAAkB;EAC5C2B,OAAOlB;EACPmB,aAAaX;EACbY,WAAWpB,EAAQG;EACnBa,MAAM;EACP,CAAC,KAUAhB,IAPyBV,EAAyB;EAChD6B,aAAaX;EACbY,WAAWpB,EAAQG;EACnBmB,eAAe3B,EAAWG,IAAIN,EAAqB,CAAC8B;EACpDN,MAAM;EACP,CAAC,EAGFrB,EAAWI,IAAId,GAAiBe,EAAQ,IAGbP,EAAwBE,EAAWG,KAAK;EACnEqB,aAAaf,EAAUD;EACvBa,MAAM;EACP,CAAC,CACuBd,SAASM,EAAQ,IACxCR,IAAUwB,GACV7B,EAAWI,IAAId,GAAiBe,EAAQ,KAExCA,IAAUkC,KAAAA,GACVvC,EAAWI,IAAId,GAAiBe,EAAQ"}
1
+ {"version":3,"file":"selectedTokenActionsAtom.js","names":["pickDefaultTokenPair","areTokensSame","atom","twapTokenFromAtom","twapTokenToAtom","Token","wagmiConfig","switchChain","isCrosschainPossible","findFirstTokenFromAcross","isTokenFromAcross","allTokensByChainAtom","getSelectableDestChains","enabledSrcChainsAtom","jotaiStore","SupportedChainId","switchTwapTokensAtom","get","set","tokenTo","enabledSrcChains","includes","network","tokenFrom","initChainFrom","selectTwapTokenToAtom","currentTokenFrom","chainId","selectTwapTokenFromAtom","newTokenFrom","initTokenFrom","state","crosschainPossible","chainIdFrom","chainIdTo","mode","isTokenToFromAcross","token","fromChainId","toChainId","maybeAcrossToken","listByChainId","defaultTokenFrom","defaultTokenTo","newTokenTo","selectableDestChains","initTokenTo","defaultToken","wasCrosschain","needResetTokenFrom","firstPossibleSrcChain","srcChain","syncTwapTokensAfterChainSwitch","undefined"],"sources":["../../../../src/core/twap/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isCrosschainPossible } from \"@/core/across/isCrosschainPossible\";\nimport {\n findFirstTokenFromAcross,\n isTokenFromAcross,\n} from \"@/core/across/utils\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport { getSelectableDestChains } from \"@/core/state/getSelectableDestChains\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { jotaiStore } from \"@/core/store\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport const switchTwapTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(tokenTo.network)) return;\n\n const tokenFrom = get(twapTokenFromAtom);\n const initChainFrom = tokenFrom.network;\n\n // set tokenFrom as is\n set(twapTokenFromAtom, tokenTo);\n // set tokenTo, including running all crosschain logic inside\n set(selectTwapTokenToAtom, tokenFrom);\n\n const currentTokenFrom = get(twapTokenFromAtom);\n\n // switch a token from a different chain?\n if (currentTokenFrom.network !== initChainFrom) {\n switchChain({\n chainId: currentTokenFrom.network,\n });\n }\n});\n\nexport const selectTwapTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n let tokenFrom = get(twapTokenFromAtom);\n let tokenTo = get(twapTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // set the tokenFrom\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"twap\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"twap\",\n });\n\n set(twapTokenToAtom, maybeAcrossToken);\n }\n } else {\n if (tokenFrom.network !== tokenTo.network) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"twap\"\n );\n\n tokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(twapTokenToAtom, tokenTo);\n } else {\n if (areTokensSame(tokenFrom, tokenTo)) {\n tokenTo = initTokenFrom;\n set(twapTokenToAtom, tokenTo);\n }\n }\n }\n }\n);\n\nexport const selectTwapTokenToAtom = atom(\n null,\n async (get, set, newTokenTo: Token) => {\n let tokenFrom = get(twapTokenFromAtom);\n\n // @TODO reenable TWAP crosschain when ready on the API\n if (newTokenTo.network !== tokenFrom.network) {\n return;\n }\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: tokenFrom.network,\n mode: \"twap\",\n });\n if (!selectableDestChains.includes(newTokenTo.network)) return;\n\n let tokenTo = get(twapTokenToAtom);\n const initTokenTo = tokenTo;\n\n set(twapTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n if (areTokensSame(tokenTo, tokenFrom)) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"twap\"\n );\n\n const defaultToken = areTokensSame(tokenFrom, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n const wasCrosschain =\n initTokenTo && tokenFrom.network !== initTokenTo.network;\n\n const newTokenFrom = wasCrosschain\n ? defaultToken\n : (initTokenTo ?? defaultToken);\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n let needResetTokenFrom = false;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"twap\",\n });\n\n if (!isTokenToFromAcross) {\n needResetTokenFrom = true;\n }\n }\n\n if (tokenFrom.network !== tokenTo.network && !crosschainPossible) {\n needResetTokenFrom = true;\n }\n const enabledSrcChains = get(enabledSrcChainsAtom);\n\n if (needResetTokenFrom) {\n let firstPossibleSrcChain = tokenTo.network;\n if (!enabledSrcChains.includes(tokenTo.network)) {\n for (const srcChain of enabledSrcChains) {\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: srcChain,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n if (crosschainPossible) {\n firstPossibleSrcChain = srcChain;\n break;\n }\n }\n }\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n firstPossibleSrcChain,\n \"twap\"\n );\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // ended up changing tokenFrom network?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const syncTwapTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainId)) return;\n\n let tokenFrom = jotaiStore.get(twapTokenFromAtom);\n\n // chains are the same? do nothing\n if (tokenFrom.network === chainId) return;\n\n // get default tokens for the new chain\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"twap\"\n );\n\n // update tokenFrom\n jotaiStore.set(twapTokenFromAtom, defaultTokenFrom);\n tokenFrom = defaultTokenFrom;\n\n let tokenTo = jotaiStore.get(twapTokenToAtom);\n\n // toChainId derives from tokenTo.network, if no tokenTo - do nothing\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get: jotaiStore.get,\n chainIdFrom: chainId,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: chainId,\n toChainId: tokenTo.network,\n mode: \"twap\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: chainId,\n toChainId: tokenTo.network,\n listByChainId: jotaiStore.get(allTokensByChainAtom).listByChainId,\n mode: \"twap\",\n });\n\n tokenTo = maybeAcrossToken;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n } else {\n const selectableDestChains = getSelectableDestChains(jotaiStore.get, {\n fromChainId: tokenFrom.network,\n mode: \"twap\",\n });\n if (selectableDestChains.includes(chainId)) {\n tokenTo = defaultTokenTo;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n } else {\n tokenTo = undefined;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n }\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"twapInputAmountAtom.js","names":[],"sources":["../../../../src/core/twap/state/twapInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\n\nexport const twapPayInputAmountAtom = atom(\"0\");\n\nexport const twapReceiveInputAmountAtom = atom(\"0\");\n\nexport const twapPayInputAmountWeiAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const payInputAmount = get(twapPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const twapReceiveInputAmountWeiAtom = atom((get) => {\n const tokenTo = get(twapTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(twapReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"mappings":";;;;AAIA,IAAa,IAAyB,EAAK,IAAI,EAElC,IAA6B,EAAK,IAAI,EAEtC,IAA4B,GAAM,MAAQ;CACrD,IAAM,IAAY,EAAI,EAAkB;AAExC,QAAO,EADgB,EAAI,EAAuB,EAChB,EAAU,SAAS,CAAC,UAAU;EAChE,EAEW,IAAgC,GAAM,MAAQ;CACzD,IAAM,IAAU,EAAI,EAAgB;AACpC,KAAI,EAEF,QAAO,EADoB,EAAI,EAA2B,EACpB,EAAQ,SAAS,CAAC,UAAU;EAEpE"}
1
+ {"version":3,"file":"twapInputAmountAtom.js","names":[],"sources":["../../../../src/core/twap/state/twapInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\n\nexport const twapPayInputAmountAtom = atom(\"0\");\n\nexport const twapReceiveInputAmountAtom = atom(\"0\");\n\nexport const twapPayInputAmountWeiAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const payInputAmount = get(twapPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const twapReceiveInputAmountWeiAtom = atom((get) => {\n const tokenTo = get(twapTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(twapReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"mappings":";;;;AAIA,IAAa,IAAyB,EAAK,IAAI,EAElC,IAA6B,EAAK,IAAI,EAEtC,IAA4B,GAAM,MAAQ;CACrD,IAAM,IAAY,EAAI,EAAkB;CAExC,OAAO,EADgB,EAAI,EACT,EAAgB,EAAU,SAAS,CAAC,UAAU;EAChE,EAEW,IAAgC,GAAM,MAAQ;CACzD,IAAM,IAAU,EAAI,EAAgB;CACpC,IAAI,GAEF,OAAO,EADoB,EAAI,EACb,EAAoB,EAAQ,SAAS,CAAC,UAAU;EAEpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"twapParamsAtom.js","names":["atom","useAtomValue","getNumberWithinRange","DEFAULT_TWAP_DURATION","DEFAULT_TWAP_SLIPPAGE","DEFAULT_TWAP_SPLIT","TWAP_SLIPPAGE_MAX","TWAP_SLIPPAGE_MIN","TWAP_SPLIT_MAX","TWAP_SPLIT_MIN","TWAP_CUSTOM_DURATION_MIN_MINUTES","TWAP_MIN_SLICE_INTERVAL_S","produceTwapDeadlines","twapDurationAtom","value","_","set","newDuration","clampedDuration","Math","max","useTwapDuration","userTwapSplitAtom","twapSplitAtom","get","useTwapSplit","userTwapSlippageAtom","twapSlippageAtom","useTwapSlippage","twapDeadlinesAtom","durationMin","numSlices","useTwapSliceTooShort","sliceIntervalSec"],"sources":["../../../../src/core/twap/state/twapParamsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { getNumberWithinRange } from \"@/lib/utils\";\nimport {\n DEFAULT_TWAP_DURATION,\n DEFAULT_TWAP_SLIPPAGE,\n DEFAULT_TWAP_SPLIT,\n TWAP_SLIPPAGE_MAX,\n TWAP_SLIPPAGE_MIN,\n TWAP_SPLIT_MAX,\n TWAP_SPLIT_MIN,\n TWAP_CUSTOM_DURATION_MIN_MINUTES,\n TWAP_MIN_SLICE_INTERVAL_S,\n} from \"./constants\";\nimport { produceTwapDeadlines } from \"@/lib/utils/twap\";\n\nexport const twapDurationAtom = atom(\n DEFAULT_TWAP_DURATION.value,\n (_, set, newDuration: number) => {\n const clampedDuration = Math.max(\n newDuration,\n TWAP_CUSTOM_DURATION_MIN_MINUTES\n );\n set(twapDurationAtom, clampedDuration);\n }\n);\n\nexport const useTwapDuration = () => useAtomValue(twapDurationAtom);\n\n// atom to track the user input, which can be out of range\nexport const userTwapSplitAtom = atom(DEFAULT_TWAP_SPLIT);\n\n// derived atom to ensure the actual split used in the order is always within range\nexport const twapSplitAtom = atom((get) =>\n getNumberWithinRange(get(userTwapSplitAtom), TWAP_SPLIT_MIN, TWAP_SPLIT_MAX)\n);\n\nexport const useTwapSplit = () => useAtomValue(twapSplitAtom);\n\n// atom to track the user input, which can be out of range\nexport const userTwapSlippageAtom = atom(DEFAULT_TWAP_SLIPPAGE);\n\n// derived atom to ensure the actual slippage used in the order is always within range\nexport const twapSlippageAtom = atom((get) =>\n getNumberWithinRange(\n get(userTwapSlippageAtom),\n TWAP_SLIPPAGE_MIN,\n TWAP_SLIPPAGE_MAX\n )\n);\n\nexport const useTwapSlippage = () => useAtomValue(twapSlippageAtom);\n\n/**\n * Derived atom that caches TWAP deadlines (orderDeadline, orderInterval).\n * Recomputes only when twapDurationAtom or twapSplitAtom changes,\n * keeping orderDeadline stable across unrelated form changes (token, amount, side, etc.).\n */\nexport const twapDeadlinesAtom = atom((get) => {\n const durationMin = get(twapDurationAtom);\n const numSlices = get(twapSplitAtom);\n return produceTwapDeadlines({ durationMin, numSlices });\n});\n\nexport const useTwapSliceTooShort = () => {\n const durationMin = useTwapDuration();\n const numSlices = useTwapSplit();\n const sliceIntervalSec = (durationMin * 60) / numSlices;\n return sliceIntervalSec < TWAP_MIN_SLICE_INTERVAL_S;\n};\n"],"mappings":";;;;;;AAgBA,IAAaa,IAAmBb,EAC9BG,EAAsBW,QACrBC,GAAGC,GAAKC,MAAwB;AAK/BD,GAAIH,GAJoBM,KAAKC,IAC3BH,GAAAA,GAED,CACqC;EAEzC,EAEYI,UAAwBpB,EAAaY,EAAiB,EAGtDS,IAAoBtB,EAAAA,EAAwB,EAG5CuB,IAAgBvB,GAAMwB,MACjCtB,EAAqBsB,EAAIF,EAAkB,EAAA,GAAA,IAC7C,CAAC,EAEYG,UAAqBxB,EAAasB,EAAc,EAGhDG,IAAuB1B,EAAAA,EAA2B,EAGlD2B,IAAmB3B,GAAMwB,MACpCtB,EACEsB,EAAIE,EAAqB,EACzBnB,GAAAA,GAGJ,CAAC,EAEYqB,UAAwB3B,EAAa0B,EAAiB,EAOtDE,IAAoB7B,GAAMwB,MAG9BZ,EAAqB;CAAEkB,aAFVN,EAAIX,EAAiB;CAEEkB,WADzBP,EAAID,EAAc;CACkB,CAAC,CACvD,EAEWS,UAAuB;CAClC,IAAAF,IAAoBT,GAAiB,EACrCU,IAAkBN,GAAc;AACwB,QAA9BK,IAAc,KAAMC,IAAAA"}
1
+ {"version":3,"file":"twapParamsAtom.js","names":["atom","useAtomValue","getNumberWithinRange","DEFAULT_TWAP_DURATION","DEFAULT_TWAP_SLIPPAGE","DEFAULT_TWAP_SPLIT","TWAP_SLIPPAGE_MAX","TWAP_SLIPPAGE_MIN","TWAP_SPLIT_MAX","TWAP_SPLIT_MIN","TWAP_CUSTOM_DURATION_MIN_MINUTES","TWAP_MIN_SLICE_INTERVAL_S","produceTwapDeadlines","twapDurationAtom","value","_","set","newDuration","clampedDuration","Math","max","useTwapDuration","userTwapSplitAtom","twapSplitAtom","get","useTwapSplit","userTwapSlippageAtom","twapSlippageAtom","useTwapSlippage","twapDeadlinesAtom","durationMin","numSlices","useTwapSliceTooShort","sliceIntervalSec"],"sources":["../../../../src/core/twap/state/twapParamsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { getNumberWithinRange } from \"@/lib/utils\";\nimport {\n DEFAULT_TWAP_DURATION,\n DEFAULT_TWAP_SLIPPAGE,\n DEFAULT_TWAP_SPLIT,\n TWAP_SLIPPAGE_MAX,\n TWAP_SLIPPAGE_MIN,\n TWAP_SPLIT_MAX,\n TWAP_SPLIT_MIN,\n TWAP_CUSTOM_DURATION_MIN_MINUTES,\n TWAP_MIN_SLICE_INTERVAL_S,\n} from \"./constants\";\nimport { produceTwapDeadlines } from \"@/lib/utils/twap\";\n\nexport const twapDurationAtom = atom(\n DEFAULT_TWAP_DURATION.value,\n (_, set, newDuration: number) => {\n const clampedDuration = Math.max(\n newDuration,\n TWAP_CUSTOM_DURATION_MIN_MINUTES\n );\n set(twapDurationAtom, clampedDuration);\n }\n);\n\nexport const useTwapDuration = () => useAtomValue(twapDurationAtom);\n\n// atom to track the user input, which can be out of range\nexport const userTwapSplitAtom = atom(DEFAULT_TWAP_SPLIT);\n\n// derived atom to ensure the actual split used in the order is always within range\nexport const twapSplitAtom = atom((get) =>\n getNumberWithinRange(get(userTwapSplitAtom), TWAP_SPLIT_MIN, TWAP_SPLIT_MAX)\n);\n\nexport const useTwapSplit = () => useAtomValue(twapSplitAtom);\n\n// atom to track the user input, which can be out of range\nexport const userTwapSlippageAtom = atom(DEFAULT_TWAP_SLIPPAGE);\n\n// derived atom to ensure the actual slippage used in the order is always within range\nexport const twapSlippageAtom = atom((get) =>\n getNumberWithinRange(\n get(userTwapSlippageAtom),\n TWAP_SLIPPAGE_MIN,\n TWAP_SLIPPAGE_MAX\n )\n);\n\nexport const useTwapSlippage = () => useAtomValue(twapSlippageAtom);\n\n/**\n * Derived atom that caches TWAP deadlines (orderDeadline, orderInterval).\n * Recomputes only when twapDurationAtom or twapSplitAtom changes,\n * keeping orderDeadline stable across unrelated form changes (token, amount, side, etc.).\n */\nexport const twapDeadlinesAtom = atom((get) => {\n const durationMin = get(twapDurationAtom);\n const numSlices = get(twapSplitAtom);\n return produceTwapDeadlines({ durationMin, numSlices });\n});\n\nexport const useTwapSliceTooShort = () => {\n const durationMin = useTwapDuration();\n const numSlices = useTwapSplit();\n const sliceIntervalSec = (durationMin * 60) / numSlices;\n return sliceIntervalSec < TWAP_MIN_SLICE_INTERVAL_S;\n};\n"],"mappings":";;;;;;AAgBA,IAAaa,IAAmBb,EAC9BG,EAAsBW,QACrBC,GAAGC,GAAKC,MAAwB;CAK/BD,EAAIH,GAJoBM,KAAKC,IAC3BH,GAAAA,GAGoBC,CAAgB;EAEzC,EAEYG,UAAwBpB,EAAaY,EAAiB,EAGtDS,IAAoBtB,EAAAA,EAAwB,EAG5CuB,IAAgBvB,GAAMwB,MACjCtB,EAAqBsB,EAAIF,EAAkB,EAAA,GAAA,IAC7C,CAAC,EAEYG,UAAqBxB,EAAasB,EAAc,EAGhDG,IAAuB1B,EAAAA,EAA2B,EAGlD2B,IAAmB3B,GAAMwB,MACpCtB,EACEsB,EAAIE,EAAqB,EACzBnB,GAAAA,GAGJ,CAAC,EAEYqB,UAAwB3B,EAAa0B,EAAiB,EAOtDE,IAAoB7B,GAAMwB,MAG9BZ,EAAqB;CAAEkB,aAFVN,EAAIX,EAEMiB;CAAaC,WADzBP,EAAID,EACqBQ;CAAW,CAAC,CACvD,EAEWC,UAAuB;CAClC,IAAAF,IAAoBT,GAAiB,EACrCU,IAAkBN,GAAc;CACwB,OAA9BK,IAAc,KAAMC,IAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"twapSideAtom.js","names":["twapTokenToAtom","currentTwapInputAtom","SwapSideUnion","atom","useAtomValue","isTwapCrossChainAtom","twapSideAtom","get","tokenTo","isCrosschain","currentTwapInput","useTwapSide"],"sources":["../../../../src/core/twap/state/twapSideAtom.ts"],"sourcesContent":["import { twapTokenToAtom } from \"./twapTokenAtoms\";\nimport { currentTwapInputAtom } from \"./currentTwapInputAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { isTwapCrossChainAtom } from \"./isCrosschainAtom\";\n\nexport const twapSideAtom = atom<SwapSideUnion>((get) => {\n const tokenTo = get(twapTokenToAtom);\n\n const isCrosschain = get(isTwapCrossChainAtom);\n\n if (isCrosschain) {\n // @TODO revert this change when Crosschain BUY is supported for TWAP\n return \"SELL\";\n }\n\n if (!tokenTo) {\n return \"SELL\";\n }\n\n const currentTwapInput = get(currentTwapInputAtom);\n\n return currentTwapInput === \"from\" ? \"SELL\" : \"BUY\";\n});\n\nexport const useTwapSide = () => {\n return useAtomValue(twapSideAtom);\n};\n"],"mappings":";;;;;;AAOA,IAAaM,IAAeH,GAAqBI,MAAQ;CACvD,IAAMC,IAAUD,EAAIP,EAAgB;AAepC,QAbqBO,EAAIF,EAAqB,IAO1C,CAACG,KAIoBD,EAAIN,EAAqB,KAEtB,SALnB,SAKqC;EAC9C,EAEWU,UACJP,EAAaE,EAAa"}
1
+ {"version":3,"file":"twapSideAtom.js","names":["twapTokenToAtom","currentTwapInputAtom","SwapSideUnion","atom","useAtomValue","isTwapCrossChainAtom","twapSideAtom","get","tokenTo","isCrosschain","currentTwapInput","useTwapSide"],"sources":["../../../../src/core/twap/state/twapSideAtom.ts"],"sourcesContent":["import { twapTokenToAtom } from \"./twapTokenAtoms\";\nimport { currentTwapInputAtom } from \"./currentTwapInputAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { isTwapCrossChainAtom } from \"./isCrosschainAtom\";\n\nexport const twapSideAtom = atom<SwapSideUnion>((get) => {\n const tokenTo = get(twapTokenToAtom);\n\n const isCrosschain = get(isTwapCrossChainAtom);\n\n if (isCrosschain) {\n // @TODO revert this change when Crosschain BUY is supported for TWAP\n return \"SELL\";\n }\n\n if (!tokenTo) {\n return \"SELL\";\n }\n\n const currentTwapInput = get(currentTwapInputAtom);\n\n return currentTwapInput === \"from\" ? \"SELL\" : \"BUY\";\n});\n\nexport const useTwapSide = () => {\n return useAtomValue(twapSideAtom);\n};\n"],"mappings":";;;;;;AAOA,IAAaM,IAAeH,GAAqBI,MAAQ;CACvD,IAAMC,IAAUD,EAAIP,EAAgB;CAepC,OAbqBO,EAAIF,EAErBI,IAKA,CAACD,KAIoBD,EAAIN,EAEtBS,KAAqB,SALnB,SAKqC;EAC9C,EAEWC,UACJP,EAAaE,EAAa"}
@@ -1,8 +1,8 @@
1
1
  import { DetailWithValue } from '../../../components/widget/Details/types';
2
- import { DeltaOrBridgePrice } from '../../../hooks/swap/prices/types';
2
+ import { DeltaPriceV2 } from '@velora-dex/sdk';
3
3
  import { Token } from '../../../tokens/state/types';
4
4
  export declare function constructMinReceivedForTwapDetail({ price, slippagePercent, numSlices, isLoading, tokenTo, swapSide, }: {
5
- price?: DeltaOrBridgePrice;
5
+ price?: DeltaPriceV2;
6
6
  slippagePercent: number;
7
7
  numSlices: number;
8
8
  isLoading: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"minimumReceiveable.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/twapDetails/minimumReceiveable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,wBAAgB,iCAAiC,CAAC,EAChD,KAAK,EACL,eAAe,EACf,SAAS,EACT,SAAS,EACT,OAAO,EACP,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC3B,GAAG,eAAe,GAAG,SAAS,CAuC9B"}
1
+ {"version":3,"file":"minimumReceiveable.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/twapDetails/minimumReceiveable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,wBAAgB,iCAAiC,CAAC,EAChD,KAAK,EACL,eAAe,EACf,SAAS,EACT,SAAS,EACT,OAAO,EACP,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC3B,GAAG,eAAe,GAAG,SAAS,CAuC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"minimumReceiveable.js","names":["DetailWithValue","DeltaOrBridgePrice","getDestAmountAfterFeeAndSlippage","toDecimalTrimmed","getTotalTwapAmount","Token","formatUnits","tooltip","constructMinReceivedForTwapDetail","price","slippagePercent","numSlices","isLoading","tokenTo","swapSide","title","value","minDestAmount","minDestAmountTotal","chunkWei","minDestAmountUnit","BigInt","decimals","formattedMinDestAmountUnit","symbol"],"sources":["../../../../src/core/twap/twapDetails/minimumReceiveable.ts"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrBridgePrice } from \"@/hooks/swap/prices/types\";\nimport { getDestAmountAfterFeeAndSlippage } from \"@/lib/utils/price\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { getTotalTwapAmount } from \"@/lib/utils/twap\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip = \"The minimum amount of token to receive after slippage.\";\n\nexport function constructMinReceivedForTwapDetail({\n price,\n slippagePercent,\n numSlices,\n isLoading,\n tokenTo,\n swapSide,\n}: {\n price?: DeltaOrBridgePrice;\n slippagePercent: number;\n numSlices: number;\n isLoading: boolean;\n tokenTo?: Token;\n swapSide?: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of BUY minReceived= exactly destAmount*numSlices\n if (swapSide === \"BUY\") return;\n\n const title = \"Minimum Receivable\";\n\n if (!price || !tokenTo) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const minDestAmount = getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n });\n\n // minDestAmount*numSlices\n const minDestAmountTotal = getTotalTwapAmount({\n chunkWei: minDestAmount,\n numSlices,\n });\n\n const minDestAmountUnit = formatUnits(\n BigInt(minDestAmountTotal),\n tokenTo.decimals\n );\n\n const formattedMinDestAmountUnit = toDecimalTrimmed(minDestAmountUnit);\n\n return {\n title,\n value: `${formattedMinDestAmountUnit} ${tokenTo.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;;AASA,IAAMO,IAAU;AAEhB,SAAgBC,EAAkC,EAChDC,UACAC,oBACAC,cACAC,cACAC,YACAC,eAQ8B;AAE9B,KAAIA,MAAa,MAAO;CAExB,IAAMC,IAAQ;AAEd,KAAI,CAACN,KAAS,CAACI,EACb,QAAO;EACLE;EACAC,OAAO;EACPJ;EACAL;EACD;CASH,IAAMW,IAAqBd,EAAmB;EAC5Ce,UAPoBjB,EAAiC;GACrDO;GACAC;GACD,CAAC;EAKAC;EACD,CAAC;AASF,QAAO;EACLI;EACAC,OAAO,GAJ0Bb,EALTG,EACxBe,OAAOH,EAAmB,EAC1BL,EAAQS,SACT,CAEqE,CAIhC,GAAIT,EAAQW;EAChDZ;EACAL;EACD"}
1
+ {"version":3,"file":"minimumReceiveable.js","names":["DetailWithValue","DeltaPriceV2","getDestAmountAfterFeeAndSlippage","toDecimalTrimmed","getTotalTwapAmount","Token","formatUnits","tooltip","constructMinReceivedForTwapDetail","price","slippagePercent","numSlices","isLoading","tokenTo","swapSide","title","value","minDestAmount","minDestAmountTotal","chunkWei","minDestAmountUnit","BigInt","decimals","formattedMinDestAmountUnit","symbol"],"sources":["../../../../src/core/twap/twapDetails/minimumReceiveable.ts"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaPriceV2 } from \"@velora-dex/sdk\";\nimport { getDestAmountAfterFeeAndSlippage } from \"@/lib/utils/price\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { getTotalTwapAmount } from \"@/lib/utils/twap\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip = \"The minimum amount of token to receive after slippage.\";\n\nexport function constructMinReceivedForTwapDetail({\n price,\n slippagePercent,\n numSlices,\n isLoading,\n tokenTo,\n swapSide,\n}: {\n price?: DeltaPriceV2;\n slippagePercent: number;\n numSlices: number;\n isLoading: boolean;\n tokenTo?: Token;\n swapSide?: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of BUY minReceived= exactly destAmount*numSlices\n if (swapSide === \"BUY\") return;\n\n const title = \"Minimum Receivable\";\n\n if (!price || !tokenTo) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const minDestAmount = getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n });\n\n // minDestAmount*numSlices\n const minDestAmountTotal = getTotalTwapAmount({\n chunkWei: minDestAmount,\n numSlices,\n });\n\n const minDestAmountUnit = formatUnits(\n BigInt(minDestAmountTotal),\n tokenTo.decimals\n );\n\n const formattedMinDestAmountUnit = toDecimalTrimmed(minDestAmountUnit);\n\n return {\n title,\n value: `${formattedMinDestAmountUnit} ${tokenTo.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;;AASA,IAAMO,IAAU;AAEhB,SAAgBC,EAAkC,EAChDC,UACAC,oBACAC,cACAC,cACAC,YACAC,eAQ8B;CAE9B,IAAIA,MAAa,OAAO;CAExB,IAAMC,IAAQ;CAEd,IAAI,CAACN,KAAS,CAACI,GACb,OAAO;EACLE;EACAC,OAAO;EACPJ;EACAL;EACD;CASH,IAAMW,IAAqBd,EAAmB;EAC5Ce,UAPoBjB,EAAiC;GACrDO;GACAC;GACD,CAIWO;EACVN;EACD,CAAC;CASF,OAAO;EACLI;EACAC,OAAO,GAJ0Bb,EALTG,EACxBe,OAAOH,EAAmB,EAC1BL,EAAQS,SAG0CF,CAIxCG,CAA0B,GAAIV,EAAQW;EAChDZ;EACAL;EACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTwapDetailsListProps.js","names":["DetailWithValue","DetailWithValueListExpandableProps","useWidgetTokens","useAtomValue","twapPayInputAmountWeiAtom","twapReceiveInputAmountWeiAtom","twapDurationAtom","twapSlippageAtom","TWAP_DURATION_OPTIONS","DeltaIcon","useTwapPrices","constructMinReceivedForTwapDetail","isTruthy","constructPriceImpactDetail","SwapRateWithPriceImpactRow","Duration","useTwapDetailsListProps","$","_c","tokenFrom","tokenTo","isLoading","side","price","numSlices","getPriceImpact","refetch","isFetching","srcAmountWei","destAmountWei","duration","slippage","undefined","isBuy","priceImpactDetail","t0","durationLabel","find","o","value","label","priceImpactResult","minReceivableDetail","slippagePercent","swapSide","t1","Symbol","for","title","filter","details","srcToken","destToken","reverse","t2","onClick","cancelRefetch","animate","t3","t4","root","t5","trigger","classes"],"sources":["../../../src/core/twap/useTwapDetailsListProps.tsx"],"sourcesContent":["import type {\n DetailWithValue,\n DetailWithValueListExpandableProps,\n} from \"@/components/widget/Details/types\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n twapPayInputAmountWeiAtom,\n twapReceiveInputAmountWeiAtom,\n} from \"./state/twapInputAmountAtom\";\nimport { twapDurationAtom } from \"./state/twapParamsAtom\";\nimport { twapSlippageAtom } from \"./state/twapParamsAtom\";\nimport { TWAP_DURATION_OPTIONS } from \"./state/constants\";\nimport { DeltaIcon } from \"@/components/widget/Icon/DeltaIcon\";\nimport { useTwapPrices } from \"@/hooks/swap/prices/useTwapPrices\";\nimport { constructMinReceivedForTwapDetail } from \"./twapDetails/minimumReceiveable\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { constructPriceImpactDetail } from \"../swapDetails/priceImpact\";\nimport { SwapRateWithPriceImpactRow } from \"@/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow\";\nimport { Duration } from \"@/components/widget/Duration/Duration\";\n\nexport const useTwapDetailsListProps =\n (): DetailWithValueListExpandableProps | null => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"twap\");\n const {\n isLoading,\n side,\n price,\n numSlices,\n getPriceImpact,\n refetch,\n isFetching,\n } = useTwapPrices();\n\n const srcAmountWei = useAtomValue(twapPayInputAmountWeiAtom);\n const destAmountWei = useAtomValue(twapReceiveInputAmountWeiAtom);\n\n const duration = useAtomValue(twapDurationAtom);\n const slippage = useAtomValue(twapSlippageAtom);\n\n if (\n !tokenTo ||\n destAmountWei === undefined ||\n !srcAmountWei ||\n srcAmountWei === \"0\"\n ) {\n return null;\n }\n\n const isBuy = side === \"BUY\";\n\n const durationLabel = TWAP_DURATION_OPTIONS.find(\n (o) => o.value === duration\n )?.label ?? <Duration timeMs={duration * 60 * 1000} />;\n\n const priceImpactDetail = constructPriceImpactDetail({\n priceImpactResult: getPriceImpact(),\n isLoading,\n });\n\n const minReceivableDetail = constructMinReceivedForTwapDetail({\n price,\n isLoading,\n numSlices,\n tokenTo,\n slippagePercent: slippage,\n swapSide: side,\n });\n\n const details: DetailWithValue[] = [\n {\n title: \"Order Routing\",\n value: (\n <div className=\"flex items-center gap-1\">\n <DeltaIcon /> Delta\n </div>\n ),\n },\n priceImpactDetail,\n {\n title: \"Slippage Tolerance\",\n value: `${slippage}%`,\n },\n {\n title: \"Order Duration\",\n value: durationLabel,\n },\n minReceivableDetail,\n ].filter(isTruthy);\n\n return {\n details,\n trigger: (\n <SwapRateWithPriceImpactRow\n swapRateProps={{\n srcToken: tokenFrom,\n destToken: tokenTo,\n srcAmountWei,\n destAmountWei,\n isLoading,\n reverse: isBuy,\n // comment prefix out so the whole row doesn't wrap whith refresh button\n // prefix: \"Market Rate:\",\n }}\n priceImpactDetail={priceImpactDetail}\n refreshButtonProps={\n price\n ? {\n onClick: () => refetch({ cancelRefetch: false }),\n animate: isFetching,\n }\n : undefined\n }\n />\n ),\n classes: {\n root: \"mt-4\",\n },\n };\n };\n"],"mappings":"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"}
1
+ {"version":3,"file":"useTwapDetailsListProps.js","names":["DetailWithValue","DetailWithValueListExpandableProps","useWidgetTokens","useAtomValue","twapPayInputAmountWeiAtom","twapReceiveInputAmountWeiAtom","twapDurationAtom","twapSlippageAtom","TWAP_DURATION_OPTIONS","DeltaIcon","useTwapPrices","constructMinReceivedForTwapDetail","isTruthy","constructPriceImpactDetail","SwapRateWithPriceImpactRow","Duration","useTwapDetailsListProps","$","_c","tokenFrom","tokenTo","isLoading","side","price","numSlices","getPriceImpact","refetch","isFetching","srcAmountWei","destAmountWei","duration","slippage","undefined","isBuy","priceImpactDetail","t0","durationLabel","find","o","value","label","priceImpactResult","minReceivableDetail","slippagePercent","swapSide","t1","Symbol","for","title","filter","details","srcToken","destToken","reverse","t2","onClick","cancelRefetch","animate","t3","t4","root","t5","trigger","classes"],"sources":["../../../src/core/twap/useTwapDetailsListProps.tsx"],"sourcesContent":["import type {\n DetailWithValue,\n DetailWithValueListExpandableProps,\n} from \"@/components/widget/Details/types\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n twapPayInputAmountWeiAtom,\n twapReceiveInputAmountWeiAtom,\n} from \"./state/twapInputAmountAtom\";\nimport { twapDurationAtom } from \"./state/twapParamsAtom\";\nimport { twapSlippageAtom } from \"./state/twapParamsAtom\";\nimport { TWAP_DURATION_OPTIONS } from \"./state/constants\";\nimport { DeltaIcon } from \"@/components/widget/Icon/DeltaIcon\";\nimport { useTwapPrices } from \"@/hooks/swap/prices/useTwapPrices\";\nimport { constructMinReceivedForTwapDetail } from \"./twapDetails/minimumReceiveable\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { constructPriceImpactDetail } from \"../swapDetails/priceImpact\";\nimport { SwapRateWithPriceImpactRow } from \"@/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow\";\nimport { Duration } from \"@/components/widget/Duration/Duration\";\n\nexport const useTwapDetailsListProps =\n (): DetailWithValueListExpandableProps | null => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"twap\");\n const {\n isLoading,\n side,\n price,\n numSlices,\n getPriceImpact,\n refetch,\n isFetching,\n } = useTwapPrices();\n\n const srcAmountWei = useAtomValue(twapPayInputAmountWeiAtom);\n const destAmountWei = useAtomValue(twapReceiveInputAmountWeiAtom);\n\n const duration = useAtomValue(twapDurationAtom);\n const slippage = useAtomValue(twapSlippageAtom);\n\n if (\n !tokenTo ||\n destAmountWei === undefined ||\n !srcAmountWei ||\n srcAmountWei === \"0\"\n ) {\n return null;\n }\n\n const isBuy = side === \"BUY\";\n\n const durationLabel = TWAP_DURATION_OPTIONS.find(\n (o) => o.value === duration\n )?.label ?? <Duration timeMs={duration * 60 * 1000} />;\n\n const priceImpactDetail = constructPriceImpactDetail({\n priceImpactResult: getPriceImpact(),\n isLoading,\n });\n\n const minReceivableDetail = constructMinReceivedForTwapDetail({\n price,\n isLoading,\n numSlices,\n tokenTo,\n slippagePercent: slippage,\n swapSide: side,\n });\n\n const details: DetailWithValue[] = [\n {\n title: \"Order Routing\",\n value: (\n <div className=\"flex items-center gap-1\">\n <DeltaIcon /> Delta\n </div>\n ),\n },\n priceImpactDetail,\n {\n title: \"Slippage Tolerance\",\n value: `${slippage}%`,\n },\n {\n title: \"Order Duration\",\n value: durationLabel,\n },\n minReceivableDetail,\n ].filter(isTruthy);\n\n return {\n details,\n trigger: (\n <SwapRateWithPriceImpactRow\n swapRateProps={{\n srcToken: tokenFrom,\n destToken: tokenTo,\n srcAmountWei,\n destAmountWei,\n isLoading,\n reverse: isBuy,\n // comment prefix out so the whole row doesn't wrap whith refresh button\n // prefix: \"Market Rate:\",\n }}\n priceImpactDetail={priceImpactDetail}\n refreshButtonProps={\n price\n ? {\n onClick: () => refetch({ cancelRefetch: false }),\n animate: isFetching,\n }\n : undefined\n }\n />\n ),\n classes: {\n root: \"mt-4\",\n },\n };\n };\n"],"mappings":"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"}