@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":"Warnings.js","names":["useCurrentChainConfig","Warning","WarningWithTitle","useSetOpenDrawer","useUnsupportedLimitChain","useUnsupportedOtcChain","useDegenMode","useWidgetConfig","useCurrentSwapPriceError","useCurrentTwapPriceError","useSwapTokenTo","useSetAtom","userTradeModeAtom","TradeMode","useWidgetTokens","selectLimitTokenFromAtom","selectLimitTokenToAtom","Token","TriangleAlert","DEGEN_MODE_MAX_IMPACT","useIsTokenSupportedInDeltaQuery","useTwapTokenTo","PriceImpactResult","useTwapSliceTooShort","TWAP_MIN_SLICE_INTERVAL_S","Duration","warningClasses","root","WidgetWarning","$","_c","chainConfig","chainName","name","limitNotSupported","otcNotSupported","t0","t1","DegenModeText","setOpenDrawer","swapWidgetWarningClasses","const","EnableDegenModeMessage","tokenFrom","tokenTo","priceImpactPercent","tradeMode","isTwap","isSwap","degenMode","enableDegenMode","setTradeMode","setLimitTokenFrom","setLimitTokenTo","address","network","token","chainId","data","isTokenFromSupported","t2","t3","t4","isTokenToSupported","belowThreshold","undefined","showEnableDegenModeMessage","canDoLimitOrder","t5","Symbol","for","t6","t7","EnableDegenModeWarning","title","DegenModeEnabledWarning","message","warningMessageByReason","highPriceImpact","unavailablePriceImpact","GenericPriceImpactWarning","priceImpact","isMaxImpactReachedError","isNoUsdPriceError","showSinglePriceImpactWarning","isHighImpact","isUnavailable","SwapWidgetWarning","isNoLiquidityError","isDeltaNoAvailableBridgeOptionsError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","getPriceImpact","TwapPriceImpactWarning","isNoAvailableBridgeOptionsError","isNoAvailablePricesError","isUnsupportedTokenError","TwapSliceIntervalWarning","isSliceTooShort","TwapWarnings"],"sources":["../../src/core/Warnings.tsx"],"sourcesContent":["import { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { Warning, WarningWithTitle } from \"@/components/widget/Warning/Warning\";\nimport { useSetOpenDrawer } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useWidgetConfig } from \"./state/configAtom\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\nimport { useSwapTokenTo } from \"./inputs/state/selectedTokenAtom\";\nimport { useSetAtom } from \"./store\";\nimport { userTradeModeAtom, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useWidgetTokens } from \"./inputs/state/common\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"./limit/state/selectedTokenActionsAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TriangleAlert } from \"lucide-react\";\nimport { DEGEN_MODE_MAX_IMPACT } from \"@/hooks/swap/prices/constants\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport { useTwapTokenTo } from \"./twap/state/twapTokenAtoms\";\nimport type { PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { useTwapSliceTooShort } from \"./twap/state/twapParamsAtom\";\nimport { TWAP_MIN_SLICE_INTERVAL_S } from \"./twap/state/constants\";\nimport { Duration } from \"@/components/widget/Duration/Duration\";\n\nconst warningClasses = {\n root: \"mt-4\",\n};\n\nexport const WidgetWarning = () => {\n const chainConfig = useCurrentChainConfig();\n const chainName = chainConfig.name;\n\n const limitNotSupported = useUnsupportedLimitChain();\n const otcNotSupported = useUnsupportedOtcChain();\n\n if (limitNotSupported)\n return (\n <Warning\n message={`Limit Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n if (otcNotSupported)\n return (\n <Warning\n message={`OTC Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n return null;\n};\n\nconst DegenModeText = () => {\n const setOpenDrawer = useSetOpenDrawer();\n return (\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setOpenDrawer(\"trade-parameters-drawer\");\n }}\n >\n Degen Mode\n </span>\n );\n};\n\nconst swapWidgetWarningClasses = {\n root: \"mt-4 border-1 border-secondary-radical-red-1 rounded-xs bg-[rgba(255,43,82,0.05)] text-secondary-radical-red-1\",\n} as const;\n\nconst EnableDegenModeMessage = ({\n tokenFrom,\n tokenTo,\n priceImpactPercent,\n tradeMode,\n}: {\n tokenFrom: Token;\n tokenTo: Token;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const isTwap = tradeMode === \"twap\";\n const isSwap = tradeMode === \"swap\";\n\n const degenMode = useDegenMode();\n const { enableDegenMode } = useWidgetConfig();\n\n const setTradeMode = useSetAtom(userTradeModeAtom);\n\n const setLimitTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n const setLimitTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n const { data: isTokenFromSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n const { data: isTokenToSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const belowThreshold =\n priceImpactPercent == undefined\n ? true\n : priceImpactPercent < DEGEN_MODE_MAX_IMPACT;\n const showEnableDegenModeMessage =\n enableDegenMode && !degenMode && belowThreshold;\n\n // doesn't make sense to switch the user to Limit if tokens aren't supported in Delta\n const canDoLimitOrder = isTokenFromSupported && isTokenToSupported;\n\n if (!canDoLimitOrder && isSwap) {\n if (!showEnableDegenModeMessage) return null;\n return (\n <div>\n Ape in anyway with <DegenModeText /> enabled (Not recommended).\n </div>\n );\n }\n\n return (\n <div>\n {isTwap ? (\n \"Consider increasing the Order Split for a safer price impact\"\n ) : (\n <>\n Use a{\" \"}\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setTradeMode(\"limit\");\n setLimitTokenFrom(tokenFrom);\n setLimitTokenTo(tokenTo);\n }}\n >\n Limit Order\n </span>{\" \"}\n for a better fill\n </>\n )}\n {showEnableDegenModeMessage ? (\n <>\n , or ape in anyway with <DegenModeText /> enabled (Not recommended).\n </>\n ) : (\n \".\"\n )}\n </div>\n );\n};\n\nconst EnableDegenModeWarning = ({\n title,\n priceImpactPercent,\n tradeMode,\n}: {\n title: string;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n if (!tokenTo) {\n return null;\n }\n\n return (\n <WarningWithTitle\n title={title}\n iconReplacement={<TriangleAlert size={18} />}\n message={\n <EnableDegenModeMessage\n tokenFrom={tokenFrom}\n tokenTo={tokenTo}\n priceImpactPercent={priceImpactPercent}\n tradeMode={tradeMode}\n />\n }\n classes={swapWidgetWarningClasses}\n />\n );\n};\n\nconst DegenModeEnabledWarning = () => {\n return (\n <Warning\n message={\"You have turned on Degen Mode. Be cautious.\"}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n};\n\nconst warningMessageByReason = {\n highPriceImpact:\n // explicit threshold breach, more severe warning\n \"High price impact — expect heavy slippage.\",\n unavailablePriceImpact:\n // unable to calculate price impact, more generic warning\n \"Price impact couldn't be calculated.\",\n} as const;\n\nconst GenericPriceImpactWarning = ({\n tokenTo,\n priceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n showSinglePriceImpactWarning,\n tradeMode,\n}: {\n tokenTo?: Token;\n priceImpact: PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n showSinglePriceImpactWarning?: boolean;\n tradeMode: TradeMode;\n}) => {\n const degenMode = useDegenMode();\n\n if (!tokenTo) {\n return null;\n }\n\n if (showSinglePriceImpactWarning) {\n return (\n <Warning\n message={warningMessageByReason.unavailablePriceImpact}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n }\n\n if (priceImpact.isHighImpact || isMaxImpactReachedError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.highPriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n if (priceImpact.isUnavailable || isNoUsdPriceError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.unavailablePriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n\n if (degenMode) {\n return <DegenModeEnabledWarning />;\n }\n\n return null;\n};\n\nexport const SwapWidgetWarning = () => {\n const tokenTo = useSwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailableBridgeOptionsError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentSwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n showSinglePriceImpactWarning={\n isNoLiquidityError ||\n isDeltaNoAvailableBridgeOptionsError ||\n isDeltaNoAvailablePricesError ||\n isDeltaUnsupportedTokenError\n }\n tradeMode=\"swap\"\n />\n );\n};\n\nconst TwapPriceImpactWarning = () => {\n const tokenTo = useTwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoAvailableBridgeOptionsError,\n isNoAvailablePricesError,\n isUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentTwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n tradeMode=\"twap\"\n showSinglePriceImpactWarning={\n isUnsupportedTokenError ||\n isNoAvailablePricesError ||\n isNoAvailableBridgeOptionsError\n }\n />\n );\n};\n\nconst TwapSliceIntervalWarning = () => {\n const isSliceTooShort = useTwapSliceTooShort();\n\n if (!isSliceTooShort) {\n return null;\n }\n\n return (\n <Warning\n message={\n <>\n Each TWAP slice must be at least{\" \"}\n <Duration\n timeMs={TWAP_MIN_SLICE_INTERVAL_S * 1000}\n showSeconds\n classes={{\n root: \"inline-flex text-xs text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\",\n }}\n />{\" \"}\n apart\n </>\n }\n classes={{\n root: \"mt-4\",\n }}\n />\n );\n};\n\nexport const TwapWarnings = () => {\n return (\n <div className=\"flex flex-col\">\n <TwapSliceIntervalWarning />\n <TwapPriceImpactWarning />\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Warnings.js","names":["useCurrentChainConfig","Warning","WarningWithTitle","useSetOpenDrawer","useUnsupportedLimitChain","useUnsupportedOtcChain","useDegenMode","useWidgetConfig","useCurrentSwapPriceError","useCurrentTwapPriceError","useSwapTokenTo","useSetAtom","userTradeModeAtom","TradeMode","useWidgetTokens","selectLimitTokenFromAtom","selectLimitTokenToAtom","Token","TriangleAlert","DEGEN_MODE_MAX_IMPACT","useIsTokenSupportedInDeltaQuery","useTwapTokenTo","PriceImpactResult","useTwapSliceTooShort","TWAP_MIN_SLICE_INTERVAL_S","Duration","warningClasses","root","WidgetWarning","$","_c","chainConfig","chainName","name","limitNotSupported","otcNotSupported","t0","t1","DegenModeText","setOpenDrawer","swapWidgetWarningClasses","const","EnableDegenModeMessage","tokenFrom","tokenTo","priceImpactPercent","tradeMode","isTwap","isSwap","degenMode","enableDegenMode","setTradeMode","setLimitTokenFrom","setLimitTokenTo","address","network","token","chainId","data","isTokenFromSupported","t2","t3","t4","isTokenToSupported","belowThreshold","undefined","showEnableDegenModeMessage","canDoLimitOrder","t5","Symbol","for","t6","t7","EnableDegenModeWarning","title","DegenModeEnabledWarning","message","warningMessageByReason","highPriceImpact","unavailablePriceImpact","GenericPriceImpactWarning","priceImpact","isMaxImpactReachedError","isNoUsdPriceError","showSinglePriceImpactWarning","isHighImpact","isUnavailable","SwapWidgetWarning","isNoLiquidityError","isDeltaNoAvailableBridgeOptionsError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","getPriceImpact","TwapPriceImpactWarning","isNoAvailableBridgeOptionsError","isNoAvailablePricesError","isUnsupportedTokenError","TwapSliceIntervalWarning","isSliceTooShort","TwapWarnings"],"sources":["../../src/core/Warnings.tsx"],"sourcesContent":["import { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { Warning, WarningWithTitle } from \"@/components/widget/Warning/Warning\";\nimport { useSetOpenDrawer } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useWidgetConfig } from \"./state/configAtom\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\nimport { useSwapTokenTo } from \"./inputs/state/selectedTokenAtom\";\nimport { useSetAtom } from \"./store\";\nimport { userTradeModeAtom, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useWidgetTokens } from \"./inputs/state/common\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"./limit/state/selectedTokenActionsAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TriangleAlert } from \"lucide-react\";\nimport { DEGEN_MODE_MAX_IMPACT } from \"@/hooks/swap/prices/constants\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport { useTwapTokenTo } from \"./twap/state/twapTokenAtoms\";\nimport type { PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { useTwapSliceTooShort } from \"./twap/state/twapParamsAtom\";\nimport { TWAP_MIN_SLICE_INTERVAL_S } from \"./twap/state/constants\";\nimport { Duration } from \"@/components/widget/Duration/Duration\";\n\nconst warningClasses = {\n root: \"mt-4\",\n};\n\nexport const WidgetWarning = () => {\n const chainConfig = useCurrentChainConfig();\n const chainName = chainConfig.name;\n\n const limitNotSupported = useUnsupportedLimitChain();\n const otcNotSupported = useUnsupportedOtcChain();\n\n if (limitNotSupported)\n return (\n <Warning\n message={`Limit Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n if (otcNotSupported)\n return (\n <Warning\n message={`OTC Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n return null;\n};\n\nconst DegenModeText = () => {\n const setOpenDrawer = useSetOpenDrawer();\n return (\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setOpenDrawer(\"trade-parameters-drawer\");\n }}\n >\n Degen Mode\n </span>\n );\n};\n\nconst swapWidgetWarningClasses = {\n root: \"mt-4 border-1 border-secondary-radical-red-1 rounded-xs bg-[rgba(255,43,82,0.05)] text-secondary-radical-red-1\",\n} as const;\n\nconst EnableDegenModeMessage = ({\n tokenFrom,\n tokenTo,\n priceImpactPercent,\n tradeMode,\n}: {\n tokenFrom: Token;\n tokenTo: Token;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const isTwap = tradeMode === \"twap\";\n const isSwap = tradeMode === \"swap\";\n\n const degenMode = useDegenMode();\n const { enableDegenMode } = useWidgetConfig();\n\n const setTradeMode = useSetAtom(userTradeModeAtom);\n\n const setLimitTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n const setLimitTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n const { data: isTokenFromSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n const { data: isTokenToSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const belowThreshold =\n priceImpactPercent == undefined\n ? true\n : priceImpactPercent < DEGEN_MODE_MAX_IMPACT;\n const showEnableDegenModeMessage =\n enableDegenMode && !degenMode && belowThreshold;\n\n // doesn't make sense to switch the user to Limit if tokens aren't supported in Delta\n const canDoLimitOrder = isTokenFromSupported && isTokenToSupported;\n\n if (!canDoLimitOrder && isSwap) {\n if (!showEnableDegenModeMessage) return null;\n return (\n <div>\n Ape in anyway with <DegenModeText /> enabled (Not recommended).\n </div>\n );\n }\n\n return (\n <div>\n {isTwap ? (\n \"Consider increasing the Order Split for a safer price impact\"\n ) : (\n <>\n Use a{\" \"}\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setTradeMode(\"limit\");\n setLimitTokenFrom(tokenFrom);\n setLimitTokenTo(tokenTo);\n }}\n >\n Limit Order\n </span>{\" \"}\n for a better fill\n </>\n )}\n {showEnableDegenModeMessage ? (\n <>\n , or ape in anyway with <DegenModeText /> enabled (Not recommended).\n </>\n ) : (\n \".\"\n )}\n </div>\n );\n};\n\nconst EnableDegenModeWarning = ({\n title,\n priceImpactPercent,\n tradeMode,\n}: {\n title: string;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n if (!tokenTo) {\n return null;\n }\n\n return (\n <WarningWithTitle\n title={title}\n iconReplacement={<TriangleAlert size={18} />}\n message={\n <EnableDegenModeMessage\n tokenFrom={tokenFrom}\n tokenTo={tokenTo}\n priceImpactPercent={priceImpactPercent}\n tradeMode={tradeMode}\n />\n }\n classes={swapWidgetWarningClasses}\n />\n );\n};\n\nconst DegenModeEnabledWarning = () => {\n return (\n <Warning\n message={\"You have turned on Degen Mode. Be cautious.\"}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n};\n\nconst warningMessageByReason = {\n highPriceImpact:\n // explicit threshold breach, more severe warning\n \"High price impact — expect heavy slippage.\",\n unavailablePriceImpact:\n // unable to calculate price impact, more generic warning\n \"Price impact couldn't be calculated.\",\n} as const;\n\nconst GenericPriceImpactWarning = ({\n tokenTo,\n priceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n showSinglePriceImpactWarning,\n tradeMode,\n}: {\n tokenTo?: Token;\n priceImpact: PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n showSinglePriceImpactWarning?: boolean;\n tradeMode: TradeMode;\n}) => {\n const degenMode = useDegenMode();\n\n if (!tokenTo) {\n return null;\n }\n\n if (showSinglePriceImpactWarning) {\n return (\n <Warning\n message={warningMessageByReason.unavailablePriceImpact}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n }\n\n if (priceImpact.isHighImpact || isMaxImpactReachedError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.highPriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n if (priceImpact.isUnavailable || isNoUsdPriceError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.unavailablePriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n\n if (degenMode) {\n return <DegenModeEnabledWarning />;\n }\n\n return null;\n};\n\nexport const SwapWidgetWarning = () => {\n const tokenTo = useSwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailableBridgeOptionsError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentSwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n showSinglePriceImpactWarning={\n isNoLiquidityError ||\n isDeltaNoAvailableBridgeOptionsError ||\n isDeltaNoAvailablePricesError ||\n isDeltaUnsupportedTokenError\n }\n tradeMode=\"swap\"\n />\n );\n};\n\nconst TwapPriceImpactWarning = () => {\n const tokenTo = useTwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoAvailableBridgeOptionsError,\n isNoAvailablePricesError,\n isUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentTwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n tradeMode=\"twap\"\n showSinglePriceImpactWarning={\n isUnsupportedTokenError ||\n isNoAvailablePricesError ||\n isNoAvailableBridgeOptionsError\n }\n />\n );\n};\n\nconst TwapSliceIntervalWarning = () => {\n const isSliceTooShort = useTwapSliceTooShort();\n\n if (!isSliceTooShort) {\n return null;\n }\n\n return (\n <Warning\n message={\n <>\n Each TWAP slice must be at least{\" \"}\n <Duration\n timeMs={TWAP_MIN_SLICE_INTERVAL_S * 1000}\n showSeconds\n classes={{\n root: \"inline-flex text-xs text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\",\n }}\n />{\" \"}\n apart\n </>\n }\n classes={{\n root: \"mt-4\",\n }}\n />\n );\n};\n\nexport const TwapWarnings = () => {\n return (\n <div className=\"flex flex-col\">\n <TwapSliceIntervalWarning />\n <TwapPriceImpactWarning />\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"isCrosschainPossible.js","names":["deltaParamAtom","tradeModeAtom","isAcrossAvailable","widgetConfigAtom","enabledSrcChainsAtom","getSelectableDestChains","SupportedChainId","deltaEnabledOnAPI","Getter","BridgeInfoMode","isCrosschainPossible","get","chainIdFrom","chainIdTo","mode","tradeMode","deltaEnabledInSettings","enableDelta","enableCrossChain","enabledSrcChains","includes","selectableDestChains","fromChainId"],"sources":["../../../src/core/across/isCrosschainPossible.ts"],"sourcesContent":["import { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport { tradeModeAtom } from \"../state/tradeModeAtom\";\nimport { isAcrossAvailable } from \"./utils\";\nimport { widgetConfigAtom } from \"../state/configAtom\";\nimport { enabledSrcChainsAtom } from \"../state/enabledChainsAtom\";\nimport { getSelectableDestChains } from \"../state/getSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport type { Getter } from \"jotai\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function isCrosschainPossible({\n get,\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n get: Getter;\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeInfoMode;\n}): boolean {\n if (!deltaEnabledOnAPI[chainIdFrom]) return false;\n\n if (!isAcrossAvailable({ chainIdFrom, chainIdTo, mode })) return false;\n\n const tradeMode = get(tradeModeAtom);\n // @TODO reenable TWAP crosschain when ready on the API\n if (tradeMode !== \"swap\" && tradeMode !== \"limit\" /*&& tradeMode !== \"twap\"*/)\n return false;\n\n const deltaEnabledInSettings = get(deltaParamAtom);\n if (!deltaEnabledInSettings) return false;\n\n const { enableDelta, enableCrossChain } = get(widgetConfigAtom);\n if (!enableDelta || !enableCrossChain) return false;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainIdFrom)) return false;\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: chainIdFrom,\n mode,\n });\n if (!selectableDestChains.includes(chainIdTo)) return false;\n\n return true;\n}\n"],"mappings":";;;;;;;;AAWA,SAAgBU,EAAqB,EACnCC,QACAC,gBACAC,cACAC,WAMU;AAGV,KAFI,CAACP,EAAkBK,MAEnB,CAACV,EAAkB;EAAEU;EAAaC;EAAWC;EAAM,CAAC,CAAE,QAAO;CAEjE,IAAMC,IAAYJ,EAAIV,EAAc;AAMpC,KAJIc,MAAc,UAAUA,MAAc,WAItC,CAD2BJ,EAAIX,EAAe,CACrB,QAAO;CAEpC,IAAM,EAAEiB,gBAAaC,wBAAqBP,EAAIR,EAAiB;AAY/D,QAFA,EATI,CAACc,KAAe,CAACC,KAGjB,CADqBP,EAAIP,EAAqB,CAC5BgB,SAASR,EAAY,IAMvC,CAJyBP,EAAwBM,GAAK;EACxDW,aAAaV;EACbE;EACD,CAAC,CACwBM,SAASP,EAAU"}
1
+ {"version":3,"file":"isCrosschainPossible.js","names":["deltaParamAtom","tradeModeAtom","isAcrossAvailable","widgetConfigAtom","enabledSrcChainsAtom","getSelectableDestChains","SupportedChainId","deltaEnabledOnAPI","Getter","BridgeInfoMode","isCrosschainPossible","get","chainIdFrom","chainIdTo","mode","tradeMode","deltaEnabledInSettings","enableDelta","enableCrossChain","enabledSrcChains","includes","selectableDestChains","fromChainId"],"sources":["../../../src/core/across/isCrosschainPossible.ts"],"sourcesContent":["import { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport { tradeModeAtom } from \"../state/tradeModeAtom\";\nimport { isAcrossAvailable } from \"./utils\";\nimport { widgetConfigAtom } from \"../state/configAtom\";\nimport { enabledSrcChainsAtom } from \"../state/enabledChainsAtom\";\nimport { getSelectableDestChains } from \"../state/getSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport type { Getter } from \"jotai\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function isCrosschainPossible({\n get,\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n get: Getter;\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeInfoMode;\n}): boolean {\n if (!deltaEnabledOnAPI[chainIdFrom]) return false;\n\n if (!isAcrossAvailable({ chainIdFrom, chainIdTo, mode })) return false;\n\n const tradeMode = get(tradeModeAtom);\n // @TODO reenable TWAP crosschain when ready on the API\n if (tradeMode !== \"swap\" && tradeMode !== \"limit\" /*&& tradeMode !== \"twap\"*/)\n return false;\n\n const deltaEnabledInSettings = get(deltaParamAtom);\n if (!deltaEnabledInSettings) return false;\n\n const { enableDelta, enableCrossChain } = get(widgetConfigAtom);\n if (!enableDelta || !enableCrossChain) return false;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainIdFrom)) return false;\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: chainIdFrom,\n mode,\n });\n if (!selectableDestChains.includes(chainIdTo)) return false;\n\n return true;\n}\n"],"mappings":";;;;;;;;AAWA,SAAgBU,EAAqB,EACnCC,QACAC,gBACAC,cACAC,WAMU;CAGV,IAFI,CAACP,EAAkBK,MAEnB,CAACV,EAAkB;EAAEU;EAAaC;EAAWC;EAAM,CAAC,EAAE,OAAO;CAEjE,IAAMC,IAAYJ,EAAIV,EAAc;CAMpC,IAJIc,MAAc,UAAUA,MAAc,WAItC,CAD2BJ,EAAIX,EAC9BgB,EAAwB,OAAO;CAEpC,IAAM,EAAEC,gBAAaC,wBAAqBP,EAAIR,EAAiB;CAY/D,OAFA,EATI,CAACc,KAAe,CAACC,KAGjB,CADqBP,EAAIP,EACxBe,CAAiBC,SAASR,EAAY,IAMvC,CAJyBP,EAAwBM,GAAK;EACxDW,aAAaV;EACbE;EACD,CACIO,CAAqBD,SAASP,EAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["Token","SupportedChainId","TokensFromLists","BridgeInfoMode","getBridgeInfoQueryData","isAcrossAvailable","chainIdFrom","chainIdTo","mode","cachedBridgeInfo","acrossTokens","length","findFirstTokenFromAcross","fromChainId","toChainId","listByChainId","Record","tokenMap","addressMap","tokenToAddress","find","address","toLowerCase","undefined","IsTokenFromAcrossInput","token","Pick","isTokenFromAcross","tokenAddresses","isIncluded"],"sources":["../../../src/core/across/utils.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\n\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { TokensFromLists } from \"@/tokens/state/fromListsAtom\";\nimport { type BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport { getBridgeInfoQueryData } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData\";\n\nexport function isAcrossAvailable({\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeInfoMode;\n}): boolean {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n\n if (!cachedBridgeInfo) return false;\n\n const acrossTokens = cachedBridgeInfo[chainIdFrom]?.[chainIdTo];\n\n return !!acrossTokens?.length;\n}\n\nexport function findFirstTokenFromAcross({\n fromChainId,\n toChainId,\n listByChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n listByChainId: Record<number, TokensFromLists<Token>>;\n mode: BridgeInfoMode;\n}): Token | undefined {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n\n if (!cachedBridgeInfo) return;\n\n const tokenMap = listByChainId[toChainId]?.addressMap;\n\n const acrossTokens = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n const tokenToAddress = acrossTokens?.find(\n (address) => tokenMap?.[address.toLowerCase()]\n );\n\n return tokenToAddress ? tokenMap?.[tokenToAddress.toLowerCase()] : undefined;\n}\n\ntype IsTokenFromAcrossInput = {\n token: Pick<Token, \"address\">;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n};\n\nexport function isTokenFromAcross({\n token,\n fromChainId,\n toChainId,\n mode,\n}: IsTokenFromAcrossInput): boolean | undefined {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n if (!cachedBridgeInfo) return;\n const tokenAddresses = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n if (!tokenAddresses) return false;\n const isIncluded = tokenAddresses.find(\n (address) => address.toLowerCase() === token.address.toLowerCase()\n );\n\n return !!isIncluded;\n}\n"],"mappings":";;AAOA,SAAgBK,EAAkB,EAChCC,gBACAC,cACAC,WAKU;CACV,IAAMC,IAAmBL,EAAuBI,EAAK;AAMrD,QAJKC,IAIE,CAAC,CAFaA,EAAiBH,KAAeC,IAE9BI,SAJO;;AAOhC,SAAgBC,EAAyB,EACvCC,gBACAC,cACAC,kBACAP,WAMoB;CACpB,IAAMC,IAAmBL,EAAuBI,EAAK;AAErD,KAAI,CAACC,EAAkB;CAEvB,IAAMQ,IAAWF,EAAcD,IAAYI,YAIrCC,KAFeV,EAAiBI,KAAeC,KAEhBM,MAClCC,MAAYJ,IAAWI,EAAQC,aAAa,EAC9C;AAED,QAAOH,IAAiBF,IAAWE,EAAeG,aAAa,IAAIC,KAAAA;;AAUrE,SAAgBI,EAAkB,EAChCF,UACAZ,gBACAC,cACAN,WAC8C;CAC9C,IAAMC,IAAmBL,EAAuBI,EAAK;AACrD,KAAI,CAACC,EAAkB;CACvB,IAAMmB,IAAiBnB,EAAiBI,KAAeC;AAOvD,QALKc,IAKE,CAAC,CAJWA,EAAeR,MAC/BC,MAAYA,EAAQC,aAAa,KAAKG,EAAMJ,QAAQC,aACvD,CAAC,GAH2B"}
1
+ {"version":3,"file":"utils.js","names":["Token","SupportedChainId","TokensFromLists","BridgeInfoMode","getBridgeInfoQueryData","isAcrossAvailable","chainIdFrom","chainIdTo","mode","cachedBridgeInfo","acrossTokens","length","findFirstTokenFromAcross","fromChainId","toChainId","listByChainId","Record","tokenMap","addressMap","tokenToAddress","find","address","toLowerCase","undefined","IsTokenFromAcrossInput","token","Pick","isTokenFromAcross","tokenAddresses","isIncluded"],"sources":["../../../src/core/across/utils.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\n\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { TokensFromLists } from \"@/tokens/state/fromListsAtom\";\nimport { type BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport { getBridgeInfoQueryData } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData\";\n\nexport function isAcrossAvailable({\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeInfoMode;\n}): boolean {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n\n if (!cachedBridgeInfo) return false;\n\n const acrossTokens = cachedBridgeInfo[chainIdFrom]?.[chainIdTo];\n\n return !!acrossTokens?.length;\n}\n\nexport function findFirstTokenFromAcross({\n fromChainId,\n toChainId,\n listByChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n listByChainId: Record<number, TokensFromLists<Token>>;\n mode: BridgeInfoMode;\n}): Token | undefined {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n\n if (!cachedBridgeInfo) return;\n\n const tokenMap = listByChainId[toChainId]?.addressMap;\n\n const acrossTokens = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n const tokenToAddress = acrossTokens?.find(\n (address) => tokenMap?.[address.toLowerCase()]\n );\n\n return tokenToAddress ? tokenMap?.[tokenToAddress.toLowerCase()] : undefined;\n}\n\ntype IsTokenFromAcrossInput = {\n token: Pick<Token, \"address\">;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n};\n\nexport function isTokenFromAcross({\n token,\n fromChainId,\n toChainId,\n mode,\n}: IsTokenFromAcrossInput): boolean | undefined {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n if (!cachedBridgeInfo) return;\n const tokenAddresses = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n if (!tokenAddresses) return false;\n const isIncluded = tokenAddresses.find(\n (address) => address.toLowerCase() === token.address.toLowerCase()\n );\n\n return !!isIncluded;\n}\n"],"mappings":";;AAOA,SAAgBK,EAAkB,EAChCC,gBACAC,cACAC,WAKU;CACV,IAAMC,IAAmBL,EAAuBI,EAAK;CAMrD,OAJKC,IAIE,CAAC,CAFaA,EAAiBH,KAAeC,IAE9BI,SAJO;;AAOhC,SAAgBC,EAAyB,EACvCC,gBACAC,cACAC,kBACAP,WAMoB;CACpB,IAAMC,IAAmBL,EAAuBI,EAAK;CAErD,IAAI,CAACC,GAAkB;CAEvB,IAAMQ,IAAWF,EAAcD,IAAYI,YAIrCC,KAFeV,EAAiBI,KAAeC,KAEhBM,MAClCC,MAAYJ,IAAWI,EAAQC,aAAa,EAC9C;CAED,OAAOH,IAAiBF,IAAWE,EAAeG,aAAa,IAAIC,KAAAA;;AAUrE,SAAgBI,EAAkB,EAChCF,UACAZ,gBACAC,cACAN,WAC8C;CAC9C,IAAMC,IAAmBL,EAAuBI,EAAK;CACrD,IAAI,CAACC,GAAkB;CACvB,IAAMmB,IAAiBnB,EAAiBI,KAAeC;CAOvD,OALKc,IAKE,CAAC,CAJWA,EAAeR,MAC/BC,MAAYA,EAAQC,aAAa,KAAKG,EAAMJ,QAAQC,aACvD,CAESO,GALmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWidgetButtonExtraProps.d.ts","sourceRoot":"","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAwE5D,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AACF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAsD7D;AAED,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAgE7D;AAED,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAyC7D;AAED,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CA+C7D"}
1
+ {"version":3,"file":"useWidgetButtonExtraProps.d.ts","sourceRoot":"","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAwE5D,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AACF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAsD7D;AAED,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CA8D7D;AAED,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAyC7D;AAED,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CA+C7D"}
@@ -86,10 +86,7 @@ function C(e) {
86
86
  tradeMode: "limit"
87
87
  }, n[0] = r, n[1] = i, n[2] = a) : a = n[2];
88
88
  let { wrongNetwork: o, isTokenFromInsufficientBalance: s, tokensAreSame: l, isConnected: u } = b(a), f = d(), { unsupportedTokens: h } = m(), _ = r && i && r.network !== i.network, y = _, x;
89
- n[3] === Symbol.for("react.memo_cache_sentinel") ? (x = {
90
- tradeMode: "limit",
91
- enabled: !1
92
- }, n[3] = x) : x = n[3];
89
+ n[3] === Symbol.for("react.memo_cache_sentinel") ? (x = { enabled: !1 }, n[3] = x) : x = n[3];
93
90
  let { error: S } = p(x), C = y ? S : void 0, w = t(), T = c().data?.isContract;
94
91
  if (!u) {
95
92
  let e;
@@ -1 +1 @@
1
- {"version":3,"file":"useWidgetButtonExtraProps.js","names":["useSwapReceiverAddressValue","useIsAccountContract","useCurrentSwapPriceError","useCurrentTwapPriceError","useIsTokenFromInsufficientBalance","Token","areTokensSame","useIsCrossChain","useOtcReceiverAddressValue","useUnsupportedLimitChain","useUnsupportedOtcChain","TradeMode","useUnsupportedLimitTokens","useDeltaSwapPriceForLimit","useLimitReceiverAddressValue","useChainMatches","useDegenMode","useTwapSliceTooShort","errorMessageByApiErrorMessage","Record","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","GetButtonLabelOverrideBaseInput","priceMode","priceError","Error","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","getButtonLabelOverrideBase","message","getSwapButtonLabelOverride","isDangerSwap","baseParams","baseOverride","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","walletChainMatchesAppChain","isConnected","t1","tokensAreSame","t2","UseExtraPropsInput","UseExtraPropsReturn","disabled","labelOverride","className","dangerSwapBtnClassName","useWidgetButtonExtraProps","cachedError","getPriceImpact","degenMode","priceImpact","isHighImpact","isUnavailable","isAccountContract","data","isContract","isCrosschain","receiver","t3","t4","undefined","t5","useLimitButtonExtraProps","unsupportedChain","unsupportedTokens","network","isCrosschainLimitOrder","Symbol","for","enabled","error","limitPriceError","limitReceiverAddress","connectedButNoReceiver","useOtcButtonExtraProps","otcReceiverAddress","useTwapButtonExtraProps","isSliceTooShort"],"sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useTwapSliceTooShort } from \"@/core/twap/state/twapParamsAtom\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n \"Bad USD price\": \"Price Error\",\n};\n\ntype GetButtonLabelOverrideBaseInput = {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n};\n\nfunction getButtonLabelOverrideBase({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: GetButtonLabelOverrideBaseInput) {\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nfunction getSwapButtonLabelOverride({\n isDangerSwap,\n ...baseParams\n}: {\n isDangerSwap?: boolean;\n} & GetButtonLabelOverrideBaseInput): string | undefined {\n const baseOverride = getButtonLabelOverrideBase(baseParams);\n if (baseOverride) return baseOverride;\n if (isDangerSwap) return \"Swap Anyway\";\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const { walletChainMatchesAppChain, isConnected } = useChainMatches();\n\n const wrongNetwork = !walletChainMatchesAppChain;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n};\n\nconst dangerSwapBtnClassName = \"bg-secondary-radical-red-1\";\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { priceMode, cachedError, getPriceImpact } = useCurrentSwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet ||\n (!degenMode && isDangerSwap);\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode,\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n // DeltaPrice is required for crosschain Limit orders only\n tradeMode: \"limit\",\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride,\n className,\n isConnected,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = isConnected && !otcReceiverAddress;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n connectedButNoReceiver;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n return {\n labelOverride,\n disabled,\n className,\n isConnected,\n };\n}\n\nexport function useTwapButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"twap\",\n });\n const isSliceTooShort = useTwapSliceTooShort();\n\n const { cachedError, getPriceImpact } = useCurrentTwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n (!degenMode && isDangerSwap) ||\n isSliceTooShort;\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode: \"delta\",\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useWidgetButtonExtraProps.js","names":["useSwapReceiverAddressValue","useIsAccountContract","useCurrentSwapPriceError","useCurrentTwapPriceError","useIsTokenFromInsufficientBalance","Token","areTokensSame","useIsCrossChain","useOtcReceiverAddressValue","useUnsupportedLimitChain","useUnsupportedOtcChain","TradeMode","useUnsupportedLimitTokens","useDeltaSwapPriceForLimit","useLimitReceiverAddressValue","useChainMatches","useDegenMode","useTwapSliceTooShort","errorMessageByApiErrorMessage","Record","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","GetButtonLabelOverrideBaseInput","priceMode","priceError","Error","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","getButtonLabelOverrideBase","message","getSwapButtonLabelOverride","isDangerSwap","baseParams","baseOverride","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","walletChainMatchesAppChain","isConnected","t1","tokensAreSame","t2","UseExtraPropsInput","UseExtraPropsReturn","disabled","labelOverride","className","dangerSwapBtnClassName","useWidgetButtonExtraProps","cachedError","getPriceImpact","degenMode","priceImpact","isHighImpact","isUnavailable","isAccountContract","data","isContract","isCrosschain","receiver","t3","t4","undefined","t5","useLimitButtonExtraProps","unsupportedChain","unsupportedTokens","network","isCrosschainLimitOrder","Symbol","for","enabled","error","limitPriceError","limitReceiverAddress","connectedButNoReceiver","useOtcButtonExtraProps","otcReceiverAddress","useTwapButtonExtraProps","isSliceTooShort"],"sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useTwapSliceTooShort } from \"@/core/twap/state/twapParamsAtom\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n \"Bad USD price\": \"Price Error\",\n};\n\ntype GetButtonLabelOverrideBaseInput = {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n};\n\nfunction getButtonLabelOverrideBase({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: GetButtonLabelOverrideBaseInput) {\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nfunction getSwapButtonLabelOverride({\n isDangerSwap,\n ...baseParams\n}: {\n isDangerSwap?: boolean;\n} & GetButtonLabelOverrideBaseInput): string | undefined {\n const baseOverride = getButtonLabelOverrideBase(baseParams);\n if (baseOverride) return baseOverride;\n if (isDangerSwap) return \"Swap Anyway\";\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const { walletChainMatchesAppChain, isConnected } = useChainMatches();\n\n const wrongNetwork = !walletChainMatchesAppChain;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n};\n\nconst dangerSwapBtnClassName = \"bg-secondary-radical-red-1\";\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { priceMode, cachedError, getPriceImpact } = useCurrentSwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet ||\n (!degenMode && isDangerSwap);\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode,\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride,\n className,\n isConnected,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = isConnected && !otcReceiverAddress;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n connectedButNoReceiver;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n return {\n labelOverride,\n disabled,\n className,\n isConnected,\n };\n}\n\nexport function useTwapButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"twap\",\n });\n const isSliceTooShort = useTwapSliceTooShort();\n\n const { cachedError, getPriceImpact } = useCurrentTwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n (!degenMode && isDangerSwap) ||\n isSliceTooShort;\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode: \"delta\",\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DevTools","TokenInput","useTokenFromInputProps","Button","JotaiProvider","QueryClientProvider","Web3Providers","useAccount","WIDGET_ELEMENT_ID","WIDGET_HEIGHT_CLASSNAME","Updaters","useTokenToInputProps","TokenSwitcher","TokenSwitcherComp","WidgetProps","cn","useSwapTokenSwitcherProps","runSubscriptions","PrivyIframeDependency","SwapModeSwitcherExpandable","useTokenInputsFromPrice","MinTradeOverviewProps","BridgePrice","DeltaPrice","OptimalRate","SwapMode","SwapDetailsExpandable","ReceiverAddress","jotaiStore","useAtomValue","useSetAtom","useHydrateAtoms","containerAtom","AppHeader","useLayoutEffect","useRef","defaultSubConfig","defaultWidgetConfig","excludeUIAtom","useWidgetConfig","setSubConfigAtom","setWidgetConfigAtom","PoweredBy","useWidgetButtonExtraProps","useSwapPrices","Toaster","externalProviderAtom","AutoconnectExternalProvider","SwapTradeFlowScreenButton","TwapTradeFlowScreenButton","ConnectWalletDrawerButton","PriceInput","OrderExpiryInput","useLimitTokenToInputProps","useLimitTokenFromInputProps","useTradeMode","TradeMode","useDrawerContainerHeightTransition","InWidgetDrawerOverlay","LimitOrderButton","LimitOrderDetails","useOtcTokenFromInputProps","useOtcTokenToInputProps","useLimitPriceInputProps","useOtcPriceInputProps","OtcOrderButton","OtcOrderDetails","SwapWidgetWarning","TwapWarnings","WidgetWarning","useUnsupportedLimitChain","useUnsupportedOtcChain","useLimitTokenSwitcherProps","useOtcTokenSwitcherProps","useTwapTokenFromInputProps","useTwapTokenToInputProps","useTwapTokenSwitcherProps","TwapOrderDuration","TwapOrderSplit","TwapRateProtection","TwapDetails","useTokenInputsFromTwapPrice","useTwapButtonExtraProps","useSwapReceiverAddress","useOtcReceiverAddress","useWidgetEventsSetter","widgetEventsAtom","formInputPropsAtom","useSetFormInputFromProps","queryClientAtom","useQueryClient","useScreenValue","MainScreenContainer","SecondaryScreenContainer","useCloseScreenOnClickOutside","useResizeObserver","useLimitReceiverAddress","isBridgePrice","BridgeSelectorExpandable","ErrorBoundary","useInitialValue","apiConfigAtom","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","unsupportedChain","t1","t2","t3","OtcOrderExtraInputs","LimitOrderScreen","OtcOrderScreen","TwapExtraInputs","TwapButton","isConnected","overrides","isLoading","tokenFromAmount","override","isPriceLoading","tokenFromInputProps","cachedError","tokenToAmount","priceError","tokenToInputProps","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","tokenFrom","tokenTo","extraProps","t4","className","disabled","labelOverride","price","TwapScreen","tradeModeToScreen","Record","React","FC","swap","limit","otc","twap","MainScreen","tradeMode","TradeModeScreen","App","excludeUI","screenElement","includes","WidgetBase","config","_config","apiConfig","provider","events","input","formInputProps","queryClient","setWidgetConfig","setSubConfig","setApiConfig","destChains","devURLs","partnerConfig","referrerConfig","srcChains","tokenLists","tradeModes","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","store","t15","t16","debug","enableCrossChain","enableDegenMode","enableDelta","privyAppId","privyClientId","theme","widgetMode","t17","t18","t19","apiKey","headers","t20","t21","t22","setExternalProvider","t23","t24","isDappMode","reconnectOnMountInit","t25","t26","t27","t28","t29","import","meta","env","DEV","t30","Widget","Containers","children","setContainerElement","containerRef","widgetConfig","isDrawerFullCover","isDrawerOpen","partialDrawerOpen","dark","WidgetHeader","root","SwapTokenFromInput","priceMode","activeSwapMode","LimitTokenFromInput","OtcTokenFromInput","TwapTokenFromInput","SwapTokenToInput","error","LimitTokenToInput","OtcTokenToInput","TwapTokenToInput","SwapTokenSwitcher","tokenSwitcherProps","LimitTokenSwitcher","OtcTokenSwitcher","TwapTokenSwitcher","SwapButton","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","shouldShowReceiverAddress","swapReceiverAddressProps","OtcReceiverAddress","otcReceiverAddressProps","LimitReceiverAddress","limitReceiverAddressProps","swapModeSwitcherClasses","const","SwapModeSwitcher","enabled","delta","market","canBeUsed","ButtonWithDrawerProps","ComponentProps","drawerContainer","HTMLDivElement","marketPrice","deltaPrice","SwapButtonWithDrawer","buttonProps","priceProps"],"sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { jotaiStore, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport {\n SwapTradeFlowScreenButton,\n TwapTradeFlowScreenButton,\n} from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { SwapWidgetWarning, TwapWarnings, WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useTwapTokenFromInputProps } from \"./twap/useTwapTokenFromInputProps\";\nimport { useTwapTokenToInputProps } from \"./twap/useTwapTokenToInputProps\";\nimport { useTwapTokenSwitcherProps } from \"./twap/useTwapTokenSwitcherProps\";\nimport { TwapOrderDuration } from \"@/components/widget/Twap/OrderDuration\";\nimport { TwapOrderSplit } from \"@/components/widget/Twap/OrderSplit\";\nimport { TwapRateProtection } from \"@/components/widget/Twap/RateProtection\";\nimport { TwapDetails } from \"./TwapDetails\";\nimport { useTokenInputsFromTwapPrice } from \"@/hooks/swap/prices/useTokenInputsFromTwapPrice\";\nimport { useTwapButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\n\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useResizeObserver } from \"./screen/hooks/useResizeObserver\";\n\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\nimport { apiConfigAtom } from \"./state/apiConfigAtom\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst TwapExtraInputs = () => {\n return (\n <div className=\"flex flex-col gap-4 pt-4\">\n <TwapOrderDuration />\n <TwapOrderSplit />\n <TwapRateProtection />\n </div>\n );\n};\n\nfunction TwapButton() {\n const { isConnected } = useAccount();\n\n const overrides = useTokenInputsFromTwapPrice();\n\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useTwapButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n if (!isConnected) return <ConnectWalletDrawerButton />;\n\n return (\n <TwapTradeFlowScreenButton\n orderProps={orderProps}\n twapPrice={overrides.price}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nconst TwapScreen = () => {\n return (\n <>\n <TwapTokenFromInput />\n <TwapTokenSwitcher />\n <TwapTokenToInput />\n <TwapExtraInputs />\n <TwapWarnings />\n <TwapDetails />\n <TwapButton />\n </>\n );\n};\n\nconst tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n twap: TwapScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\n// export to use in storybook tests\nexport const WidgetBase = ({\n config: _config,\n apiConfig,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const setApiConfig = useSetAtom(apiConfigAtom);\n\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms(\n [\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n },\n ],\n [apiConfigAtom, apiConfig || {}],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ],\n {\n store: jotaiStore,\n }\n );\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n enableDegenMode: config.enableDegenMode,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.enableDegenMode,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n ]);\n\n useLayoutEffect(() => {\n setApiConfig({\n apiKey: apiConfig?.apiKey,\n headers: apiConfig?.headers,\n });\n }, [apiConfig?.apiKey, apiConfig?.headers, setApiConfig]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({\n config,\n apiConfig,\n provider,\n events,\n input,\n}: WidgetProps) => {\n return (\n <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n apiConfig={apiConfig}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n useResizeObserver(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none *:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction TwapTokenFromInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction TwapTokenToInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction TwapTokenSwitcher() {\n const tokenSwitcherProps = useTwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["DevTools","TokenInput","useTokenFromInputProps","Button","JotaiProvider","QueryClientProvider","Web3Providers","useAccount","WIDGET_ELEMENT_ID","WIDGET_HEIGHT_CLASSNAME","Updaters","useTokenToInputProps","TokenSwitcher","TokenSwitcherComp","WidgetProps","cn","useSwapTokenSwitcherProps","runSubscriptions","PrivyIframeDependency","SwapModeSwitcherExpandable","useTokenInputsFromPrice","MinTradeOverviewProps","DeltaPriceV2","OptimalRate","SwapMode","SwapDetailsExpandable","ReceiverAddress","jotaiStore","useAtomValue","useSetAtom","useHydrateAtoms","containerAtom","AppHeader","useLayoutEffect","useRef","defaultSubConfig","defaultWidgetConfig","excludeUIAtom","useWidgetConfig","setSubConfigAtom","setWidgetConfigAtom","PoweredBy","useWidgetButtonExtraProps","useSwapPrices","Toaster","externalProviderAtom","AutoconnectExternalProvider","SwapTradeFlowScreenButton","TwapTradeFlowScreenButton","ConnectWalletDrawerButton","PriceInput","OrderExpiryInput","useLimitTokenToInputProps","useLimitTokenFromInputProps","useTradeMode","TradeMode","useDrawerContainerHeightTransition","InWidgetDrawerOverlay","LimitOrderButton","LimitOrderDetails","useOtcTokenFromInputProps","useOtcTokenToInputProps","useLimitPriceInputProps","useOtcPriceInputProps","OtcOrderButton","OtcOrderDetails","SwapWidgetWarning","TwapWarnings","WidgetWarning","useUnsupportedLimitChain","useUnsupportedOtcChain","useLimitTokenSwitcherProps","useOtcTokenSwitcherProps","useTwapTokenFromInputProps","useTwapTokenToInputProps","useTwapTokenSwitcherProps","TwapOrderDuration","TwapOrderSplit","TwapRateProtection","TwapDetails","useTokenInputsFromTwapPrice","useTwapButtonExtraProps","useSwapReceiverAddress","useOtcReceiverAddress","useWidgetEventsSetter","widgetEventsAtom","formInputPropsAtom","useSetFormInputFromProps","queryClientAtom","useQueryClient","useScreenValue","MainScreenContainer","SecondaryScreenContainer","useCloseScreenOnClickOutside","useResizeObserver","useLimitReceiverAddress","isBridgePrice","BridgeSelectorExpandable","ErrorBoundary","useInitialValue","apiConfigAtom","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","unsupportedChain","t1","t2","t3","OtcOrderExtraInputs","LimitOrderScreen","OtcOrderScreen","TwapExtraInputs","TwapButton","isConnected","overrides","isLoading","tokenFromAmount","override","isPriceLoading","tokenFromInputProps","cachedError","tokenToAmount","priceError","tokenToInputProps","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","tokenFrom","tokenTo","extraProps","t4","className","disabled","labelOverride","price","TwapScreen","tradeModeToScreen","Record","React","FC","swap","limit","otc","twap","MainScreen","tradeMode","TradeModeScreen","App","excludeUI","screenElement","includes","WidgetBase","config","_config","apiConfig","provider","events","input","formInputProps","queryClient","setWidgetConfig","setSubConfig","setApiConfig","destChains","devURLs","partnerConfig","referrerConfig","srcChains","tokenLists","tradeModes","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","store","t15","t16","debug","enableCrossChain","enableDegenMode","enableDelta","privyAppId","privyClientId","theme","widgetMode","t17","t18","t19","apiKey","headers","t20","t21","t22","setExternalProvider","t23","t24","isDappMode","reconnectOnMountInit","t25","t26","t27","t28","t29","import","meta","env","DEV","t30","Widget","Containers","children","setContainerElement","containerRef","widgetConfig","isDrawerFullCover","isDrawerOpen","partialDrawerOpen","dark","WidgetHeader","root","SwapTokenFromInput","priceMode","activeSwapMode","LimitTokenFromInput","OtcTokenFromInput","TwapTokenFromInput","SwapTokenToInput","error","LimitTokenToInput","OtcTokenToInput","TwapTokenToInput","SwapTokenSwitcher","tokenSwitcherProps","LimitTokenSwitcher","OtcTokenSwitcher","TwapTokenSwitcher","SwapButton","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","shouldShowReceiverAddress","swapReceiverAddressProps","OtcReceiverAddress","otcReceiverAddressProps","LimitReceiverAddress","limitReceiverAddressProps","swapModeSwitcherClasses","const","SwapModeSwitcher","enabled","delta","market","canBeUsed","ButtonWithDrawerProps","ComponentProps","drawerContainer","HTMLDivElement","marketPrice","deltaPrice","SwapButtonWithDrawer","buttonProps","priceProps"],"sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { DeltaPriceV2, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { jotaiStore, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport {\n SwapTradeFlowScreenButton,\n TwapTradeFlowScreenButton,\n} from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { SwapWidgetWarning, TwapWarnings, WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useTwapTokenFromInputProps } from \"./twap/useTwapTokenFromInputProps\";\nimport { useTwapTokenToInputProps } from \"./twap/useTwapTokenToInputProps\";\nimport { useTwapTokenSwitcherProps } from \"./twap/useTwapTokenSwitcherProps\";\nimport { TwapOrderDuration } from \"@/components/widget/Twap/OrderDuration\";\nimport { TwapOrderSplit } from \"@/components/widget/Twap/OrderSplit\";\nimport { TwapRateProtection } from \"@/components/widget/Twap/RateProtection\";\nimport { TwapDetails } from \"./TwapDetails\";\nimport { useTokenInputsFromTwapPrice } from \"@/hooks/swap/prices/useTokenInputsFromTwapPrice\";\nimport { useTwapButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\n\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useResizeObserver } from \"./screen/hooks/useResizeObserver\";\n\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\nimport { apiConfigAtom } from \"./state/apiConfigAtom\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst TwapExtraInputs = () => {\n return (\n <div className=\"flex flex-col gap-4 pt-4\">\n <TwapOrderDuration />\n <TwapOrderSplit />\n <TwapRateProtection />\n </div>\n );\n};\n\nfunction TwapButton() {\n const { isConnected } = useAccount();\n\n const overrides = useTokenInputsFromTwapPrice();\n\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useTwapButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n if (!isConnected) return <ConnectWalletDrawerButton />;\n\n return (\n <TwapTradeFlowScreenButton\n orderProps={orderProps}\n twapPrice={overrides.price}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nconst TwapScreen = () => {\n return (\n <>\n <TwapTokenFromInput />\n <TwapTokenSwitcher />\n <TwapTokenToInput />\n <TwapExtraInputs />\n <TwapWarnings />\n <TwapDetails />\n <TwapButton />\n </>\n );\n};\n\nconst tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n twap: TwapScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\n// export to use in storybook tests\nexport const WidgetBase = ({\n config: _config,\n apiConfig,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const setApiConfig = useSetAtom(apiConfigAtom);\n\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms(\n [\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n },\n ],\n [apiConfigAtom, apiConfig || {}],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ],\n {\n store: jotaiStore,\n }\n );\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n enableDegenMode: config.enableDegenMode,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.enableDegenMode,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n ]);\n\n useLayoutEffect(() => {\n setApiConfig({\n apiKey: apiConfig?.apiKey,\n headers: apiConfig?.headers,\n });\n }, [apiConfig?.apiKey, apiConfig?.headers, setApiConfig]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({\n config,\n apiConfig,\n provider,\n events,\n input,\n}: WidgetProps) => {\n return (\n <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n apiConfig={apiConfig}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n useResizeObserver(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none *:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction TwapTokenFromInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction TwapTokenToInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction TwapTokenSwitcher() {\n const tokenSwitcherProps = useTwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPriceV2;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMaxButtonProps.js","names":["MaxButtonVariant","TokenInputProps","ConsolidatedGasPrices","useGasPrices","useIsAccountContract","useTokenBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","Token","isETH","Big","deductGasFeeFromETH","ethAmountUnit","gasPriceMultiplierGwei","gasLimit","gasFeeETH","mul","div","ethAmountUnitBig","lte","withDeductedGas","minus","toFixed","buttonVariants","variant2Percentage","Record","MAX","constructOnClickHandler","onClick","balanceUnit","maxAvailableBalanceUnit","variant","amountToSet","undefined","gt","constructButtonVariants","map","ConstructMaxButtonPropsInput","tokenFrom","gasPrices","isAccountSmartContract","constructMaxButtonProps","Pick","hasBalance","showMaxButton","maxButtonOptions","legacyPrices","instant","maxAvailableBalance","useMaxButtonPropsBase","t0","$","_c","t1","Symbol","for","refetchInterval","t2","token","queryOptions","data","smartContractCheck","t3","isContract","t4"],"sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"sourcesContent":["import type {\n MaxButtonVariant,\n TokenInputProps,\n} from \"@/components/widget/TokenInput/types\";\nimport type { ConsolidatedGasPrices } from \"@/hooks/gas/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\n\nimport Big from \"big.js\";\n\nfunction deductGasFeeFromETH({\n ethAmountUnit,\n gasPriceMultiplierGwei,\n gasLimit,\n}: {\n ethAmountUnit: string;\n gasPriceMultiplierGwei: number; // gas price in Gwei\n gasLimit: number; // number of gas units\n}) {\n // guard against missing or invalid data\n if (!gasPriceMultiplierGwei || !gasLimit) return ethAmountUnit;\n // Calculate gas cost in ETH:\n // gasLimit * gasPriceInGwei = gas cost in Gwei\n // gas cost in Gwei / 1e9 = gas cost in ETH (since 1 Gwei = 10^-9 ETH)\n const gasFeeETH = Big(gasLimit).mul(gasPriceMultiplierGwei).div(1e9);\n\n const ethAmountUnitBig = Big(ethAmountUnit);\n // guard against negative amount\n if (ethAmountUnitBig.lte(gasFeeETH)) return \"0\";\n\n const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);\n return withDeductedGas.toFixed(); // avoid e-notation\n}\n\nconst buttonVariants: MaxButtonVariant[] = [\"25%\", \"50%\", \"75%\", \"MAX\"];\n\nconst variant2Percentage: Record<MaxButtonVariant, number> = {\n \"25%\": 0.25,\n \"50%\": 0.5,\n \"75%\": 0.75,\n MAX: 1,\n};\n\nfunction constructOnClickHandler({\n onClick,\n balanceUnit,\n maxAvailableBalanceUnit,\n variant,\n}: {\n onClick: (balanceUnit: string) => void;\n balanceUnit: string;\n maxAvailableBalanceUnit?: string;\n variant: MaxButtonVariant;\n}) {\n return () => {\n let amountToSet = Big(balanceUnit)\n .mul(variant2Percentage[variant])\n .toFixed(); // avoid e-notation for small numbers\n if (\n maxAvailableBalanceUnit !== undefined &&\n Big(amountToSet).gt(maxAvailableBalanceUnit)\n ) {\n amountToSet = maxAvailableBalanceUnit;\n }\n\n onClick(amountToSet);\n };\n}\n\nfunction constructButtonVariants(\n onClick: (balanceUnit: string) => void,\n balanceUnit: string,\n maxAvailableBalanceUnit?: string\n): TokenInputProps[\"maxButtonOptions\"] {\n return buttonVariants.map((variant) => ({\n variant,\n onClick: constructOnClickHandler({\n onClick,\n balanceUnit,\n maxAvailableBalanceUnit,\n variant,\n }),\n }));\n}\n\ntype ConstructMaxButtonPropsInput = {\n tokenFrom: Token;\n balanceUnit?: string;\n gasPrices?: ConsolidatedGasPrices;\n gasLimit: number;\n onClick: (balanceUnit: string) => void;\n isAccountSmartContract: boolean;\n};\n\nfunction constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n isAccountSmartContract,\n}: ConstructMaxButtonPropsInput): Pick<\n TokenInputProps,\n \"showMaxButton\" | \"maxButtonOptions\"\n> {\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n\n // No balance - nothing to set\n if (!hasBalance)\n return {\n showMaxButton: false,\n };\n\n // ERC20 token, or in case of native ETH SmartContract isn't the one paying gas fees\n if (!isETH(tokenFrom) || isAccountSmartContract)\n return {\n showMaxButton: hasBalance,\n maxButtonOptions: constructButtonVariants(onClick, balanceUnit),\n };\n\n const gasPriceMultiplierGwei = gasPrices?.legacyPrices.instant;\n\n // Cannot calculate gas fee\n if (!gasPriceMultiplierGwei)\n return {\n showMaxButton: false,\n };\n\n const maxAvailableBalance = deductGasFeeFromETH({\n ethAmountUnit: balanceUnit,\n gasPriceMultiplierGwei,\n gasLimit,\n });\n\n // ETH balance too low to cover potential gas fees\n if (maxAvailableBalance === \"0\")\n return {\n showMaxButton: false,\n };\n\n return {\n showMaxButton: true,\n maxButtonOptions: constructButtonVariants(\n onClick,\n balanceUnit,\n maxAvailableBalance // with gas fee deducted\n ),\n };\n}\n\n// Returns props for Max button functionality including whether to show the button and the onClick handler.\n// It considers the token type (ETH or ERC20) and deducts gas fees for ETH\n// to ensure the user doesn't set max to an amount that would leave them unable to pay for gas.\nexport const useMaxButtonPropsBase = ({\n tokenFrom,\n onClick,\n gasLimit,\n}: Pick<\n ConstructMaxButtonPropsInput,\n \"tokenFrom\" | \"onClick\" | \"gasLimit\"\n>) => {\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const { data: smartContractCheck } = useIsAccountContract();\n\n return constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n isAccountSmartContract: smartContractCheck?.isContract ?? false,\n });\n};\n"],"mappings":";;;;;;;;AAcA,SAASU,EAAoB,EAC3BC,kBACAC,2BACAC,eAKC;AAED,KAAI,CAACD,KAA0B,CAACC,EAAU,QAAOF;CAIjD,IAAMG,IAAYL,EAAII,EAAS,CAACE,IAAIH,EAAuB,CAACI,IAAI,IAAI,EAE9DC,IAAmBR,EAAIE,EAAc;AAK3C,QAHIM,EAAiBC,IAAIJ,EAAU,GAAS,MAEpBG,EAAiBG,MAAMN,EAAU,CAClCO,SAAS;;AAGlC,IAAMC,IAAqC;CAAC;CAAO;CAAO;CAAO;CAAM,EAEjEC,IAAuD;CAC3D,OAAO;CACP,OAAO;CACP,OAAO;CACPE,KAAK;CACN;AAED,SAASC,EAAwB,EAC/BC,YACAC,gBACAC,4BACAC,cAMC;AACD,cAAa;EACX,IAAIC,IAActB,EAAImB,EAAY,CAC/Bb,IAAIQ,EAAmBO,GAAS,CAChCT,SAAS;AAQZM,EANEE,MAA4BG,KAAAA,KAC5BvB,EAAIsB,EAAY,CAACE,GAAGJ,EAAwB,KAE5CE,IAAcF,IAGhBF,EAAQI,EAAY;;;AAIxB,SAASG,EACPP,GACAC,GACAC,GACqC;AACrC,QAAOP,EAAea,KAAKL,OAAa;EACtCA;EACAH,SAASD,EAAwB;GAC/BC;GACAC;GACAC;GACAC;GACD,CAAA;EACF,EAAE;;AAYL,SAASU,EAAwB,EAC/BH,cACAT,gBACAU,cACAzB,aACAc,YACAY,6BAIA;CACA,IAAMG,IAAa,CAAC,CAACd,KAAeA,MAAgB;AAGpD,KAAI,CAACc,EACH,QAAO,EACLC,eAAe,IAChB;AAGH,KAAI,CAACnC,EAAM6B,EAAU,IAAIE,EACvB,QAAO;EACLI,eAAeD;EACfE,kBAAkBV,EAAwBP,GAASC,EAAW;EAC/D;CAEH,IAAMhB,IAAyB0B,GAAWO,aAAaC;AAGvD,KAAI,CAAClC,EACH,QAAO,EACL+B,eAAe,IAChB;CAEH,IAAMI,IAAsBrC,EAAoB;EAC9CC,eAAeiB;EACfhB;EACAC;EACD,CAAC;AAQF,QALIkC,MAAwB,MACnB,EACLJ,eAAe,IAChB,GAEI;EACLA,eAAe;EACfC,kBAAkBV,EAChBP,GACAC,GACAmB,EACF;EACD;;AAMH,IAAaC,KAAwBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAd,cAAAV,YAAAd,gBAAAoC,GAOrCG;AAAA,CAAAF,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IAGiBF,IAAA,EAAAG,iBAAmBjD,GAAoC,EAAA4C,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAAA,IAAAM;AAAA,CAAAN,EAAA,OAAAb,IACtEmB,IAAAN,EAAA,MAHuCM,IAAA;EAAAC,OAC/BpB;EAASqB,cACFN;EACf,EAAAF,EAAA,KAAAb,GAAAa,EAAA,KAAAM;CAHD,IAAA,EAAA5B,mBAAwBvB,EAAgBmD,EAGtC,EAEF,EAAAG,MAAArB,MAA4BnC,GAAc,EAE1C,EAAAwD,MAAAC,MAAqCxD,GAAsB,EAQjCyD,IAAAD,GAAkBE,cAAlB,IAAuCC;AAC/D,QAD+Db,EAAA,OAAAtB,KAAAsB,EAAA,OAAArC,KAAAqC,EAAA,OAAAZ,KAAAY,EAAA,OAAAvB,KAAAuB,EAAA,OAAAW,KAAAX,EAAA,OAAAb,KAN1D0B,IAAAvB,EAAwB;EAAAH;EAAAT;EAAAU;EAAAzB;EAAAc;EAAAY,wBAMLsB;EACzB,CAAC,EAAAX,EAAA,KAAAtB,GAAAsB,EAAA,KAAArC,GAAAqC,EAAA,KAAAZ,GAAAY,EAAA,KAAAvB,GAAAuB,EAAA,KAAAW,GAAAX,EAAA,KAAAb,GAAAa,EAAA,KAAAa,KAAAA,IAAAb,EAAA,IAPKa"}
1
+ {"version":3,"file":"useMaxButtonProps.js","names":["MaxButtonVariant","TokenInputProps","ConsolidatedGasPrices","useGasPrices","useIsAccountContract","useTokenBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","Token","isETH","Big","deductGasFeeFromETH","ethAmountUnit","gasPriceMultiplierGwei","gasLimit","gasFeeETH","mul","div","ethAmountUnitBig","lte","withDeductedGas","minus","toFixed","buttonVariants","variant2Percentage","Record","MAX","constructOnClickHandler","onClick","balanceUnit","maxAvailableBalanceUnit","variant","amountToSet","undefined","gt","constructButtonVariants","map","ConstructMaxButtonPropsInput","tokenFrom","gasPrices","isAccountSmartContract","constructMaxButtonProps","Pick","hasBalance","showMaxButton","maxButtonOptions","legacyPrices","instant","maxAvailableBalance","useMaxButtonPropsBase","t0","$","_c","t1","Symbol","for","refetchInterval","t2","token","queryOptions","data","smartContractCheck","t3","isContract","t4"],"sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"sourcesContent":["import type {\n MaxButtonVariant,\n TokenInputProps,\n} from \"@/components/widget/TokenInput/types\";\nimport type { ConsolidatedGasPrices } from \"@/hooks/gas/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\n\nimport Big from \"big.js\";\n\nfunction deductGasFeeFromETH({\n ethAmountUnit,\n gasPriceMultiplierGwei,\n gasLimit,\n}: {\n ethAmountUnit: string;\n gasPriceMultiplierGwei: number; // gas price in Gwei\n gasLimit: number; // number of gas units\n}) {\n // guard against missing or invalid data\n if (!gasPriceMultiplierGwei || !gasLimit) return ethAmountUnit;\n // Calculate gas cost in ETH:\n // gasLimit * gasPriceInGwei = gas cost in Gwei\n // gas cost in Gwei / 1e9 = gas cost in ETH (since 1 Gwei = 10^-9 ETH)\n const gasFeeETH = Big(gasLimit).mul(gasPriceMultiplierGwei).div(1e9);\n\n const ethAmountUnitBig = Big(ethAmountUnit);\n // guard against negative amount\n if (ethAmountUnitBig.lte(gasFeeETH)) return \"0\";\n\n const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);\n return withDeductedGas.toFixed(); // avoid e-notation\n}\n\nconst buttonVariants: MaxButtonVariant[] = [\"25%\", \"50%\", \"75%\", \"MAX\"];\n\nconst variant2Percentage: Record<MaxButtonVariant, number> = {\n \"25%\": 0.25,\n \"50%\": 0.5,\n \"75%\": 0.75,\n MAX: 1,\n};\n\nfunction constructOnClickHandler({\n onClick,\n balanceUnit,\n maxAvailableBalanceUnit,\n variant,\n}: {\n onClick: (balanceUnit: string) => void;\n balanceUnit: string;\n maxAvailableBalanceUnit?: string;\n variant: MaxButtonVariant;\n}) {\n return () => {\n let amountToSet = Big(balanceUnit)\n .mul(variant2Percentage[variant])\n .toFixed(); // avoid e-notation for small numbers\n if (\n maxAvailableBalanceUnit !== undefined &&\n Big(amountToSet).gt(maxAvailableBalanceUnit)\n ) {\n amountToSet = maxAvailableBalanceUnit;\n }\n\n onClick(amountToSet);\n };\n}\n\nfunction constructButtonVariants(\n onClick: (balanceUnit: string) => void,\n balanceUnit: string,\n maxAvailableBalanceUnit?: string\n): TokenInputProps[\"maxButtonOptions\"] {\n return buttonVariants.map((variant) => ({\n variant,\n onClick: constructOnClickHandler({\n onClick,\n balanceUnit,\n maxAvailableBalanceUnit,\n variant,\n }),\n }));\n}\n\ntype ConstructMaxButtonPropsInput = {\n tokenFrom: Token;\n balanceUnit?: string;\n gasPrices?: ConsolidatedGasPrices;\n gasLimit: number;\n onClick: (balanceUnit: string) => void;\n isAccountSmartContract: boolean;\n};\n\nfunction constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n isAccountSmartContract,\n}: ConstructMaxButtonPropsInput): Pick<\n TokenInputProps,\n \"showMaxButton\" | \"maxButtonOptions\"\n> {\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n\n // No balance - nothing to set\n if (!hasBalance)\n return {\n showMaxButton: false,\n };\n\n // ERC20 token, or in case of native ETH SmartContract isn't the one paying gas fees\n if (!isETH(tokenFrom) || isAccountSmartContract)\n return {\n showMaxButton: hasBalance,\n maxButtonOptions: constructButtonVariants(onClick, balanceUnit),\n };\n\n const gasPriceMultiplierGwei = gasPrices?.legacyPrices.instant;\n\n // Cannot calculate gas fee\n if (!gasPriceMultiplierGwei)\n return {\n showMaxButton: false,\n };\n\n const maxAvailableBalance = deductGasFeeFromETH({\n ethAmountUnit: balanceUnit,\n gasPriceMultiplierGwei,\n gasLimit,\n });\n\n // ETH balance too low to cover potential gas fees\n if (maxAvailableBalance === \"0\")\n return {\n showMaxButton: false,\n };\n\n return {\n showMaxButton: true,\n maxButtonOptions: constructButtonVariants(\n onClick,\n balanceUnit,\n maxAvailableBalance // with gas fee deducted\n ),\n };\n}\n\n// Returns props for Max button functionality including whether to show the button and the onClick handler.\n// It considers the token type (ETH or ERC20) and deducts gas fees for ETH\n// to ensure the user doesn't set max to an amount that would leave them unable to pay for gas.\nexport const useMaxButtonPropsBase = ({\n tokenFrom,\n onClick,\n gasLimit,\n}: Pick<\n ConstructMaxButtonPropsInput,\n \"tokenFrom\" | \"onClick\" | \"gasLimit\"\n>) => {\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const { data: smartContractCheck } = useIsAccountContract();\n\n return constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n isAccountSmartContract: smartContractCheck?.isContract ?? false,\n });\n};\n"],"mappings":";;;;;;;;AAcA,SAASU,EAAoB,EAC3BC,kBACAC,2BACAC,eAKC;CAED,IAAI,CAACD,KAA0B,CAACC,GAAU,OAAOF;CAIjD,IAAMG,IAAYL,EAAII,EAAS,CAACE,IAAIH,EAAuB,CAACI,IAAI,IAAI,EAE9DC,IAAmBR,EAAIE,EAAc;CAK3C,OAHIM,EAAiBC,IAAIJ,EAAU,GAAS,MAEpBG,EAAiBG,MAAMN,EACxCK,CAAgBE,SAAS;;AAGlC,IAAMC,IAAqC;CAAC;CAAO;CAAO;CAAO;CAAM,EAEjEC,IAAuD;CAC3D,OAAO;CACP,OAAO;CACP,OAAO;CACPE,KAAK;CACN;AAED,SAASC,EAAwB,EAC/BC,YACAC,gBACAC,4BACAC,cAMC;CACD,aAAa;EACX,IAAIC,IAActB,EAAImB,EAAY,CAC/Bb,IAAIQ,EAAmBO,GAAS,CAChCT,SAAS;EAQZM,AANEE,MAA4BG,KAAAA,KAC5BvB,EAAIsB,EAAY,CAACE,GAAGJ,EAAwB,KAE5CE,IAAcF,IAGhBF,EAAQI,EAAY;;;AAIxB,SAASG,EACPP,GACAC,GACAC,GACqC;CACrC,OAAOP,EAAea,KAAKL,OAAa;EACtCA;EACAH,SAASD,EAAwB;GAC/BC;GACAC;GACAC;GACAC;GACD,CAAA;EACF,EAAE;;AAYL,SAASU,EAAwB,EAC/BH,cACAT,gBACAU,cACAzB,aACAc,YACAY,6BAIA;CACA,IAAMG,IAAa,CAAC,CAACd,KAAeA,MAAgB;CAGpD,IAAI,CAACc,GACH,OAAO,EACLC,eAAe,IAChB;CAGH,IAAI,CAACnC,EAAM6B,EAAU,IAAIE,GACvB,OAAO;EACLI,eAAeD;EACfE,kBAAkBV,EAAwBP,GAASC,EAAW;EAC/D;CAEH,IAAMhB,IAAyB0B,GAAWO,aAAaC;CAGvD,IAAI,CAAClC,GACH,OAAO,EACL+B,eAAe,IAChB;CAEH,IAAMI,IAAsBrC,EAAoB;EAC9CC,eAAeiB;EACfhB;EACAC;EACD,CAAC;CAQF,OALIkC,MAAwB,MACnB,EACLJ,eAAe,IAChB,GAEI;EACLA,eAAe;EACfC,kBAAkBV,EAChBP,GACAC,GACAmB,EACF;EACD;;AAMH,IAAaC,KAAwBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAd,cAAAV,YAAAd,gBAAAoC,GAOrCG;CAAA,AAAAF,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IAGiBF,IAAA,EAAAG,iBAAmBjD,GAAoC,EAAA4C,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAAA,IAAAM;CAAA,AAAAN,EAAA,OAAAb,IACtEmB,IAAAN,EAAA,MAHuCM,IAAA;EAAAC,OAC/BpB;EAASqB,cACFN;EACf,EAAAF,EAAA,KAAAb,GAAAa,EAAA,KAAAM;CAHD,IAAA,EAAA5B,mBAAwBvB,EAAgBmD,EAGtC,EAEF,EAAAG,MAAArB,MAA4BnC,GAAc,EAE1C,EAAAwD,MAAAC,MAAqCxD,GAAsB,EAQjCyD,IAAAD,GAAkBE,cAAlB,IAAuCC;CAC/D,OAD+Db,EAAA,OAAAtB,KAAAsB,EAAA,OAAArC,KAAAqC,EAAA,OAAAZ,KAAAY,EAAA,OAAAvB,KAAAuB,EAAA,OAAAW,KAAAX,EAAA,OAAAb,KAN1D0B,IAAAvB,EAAwB;EAAAH;EAAAT;EAAAU;EAAAzB;EAAAc;EAAAY,wBAMLsB;EACzB,CAAC,EAAAX,EAAA,KAAAtB,GAAAsB,EAAA,KAAArC,GAAAqC,EAAA,KAAAZ,GAAAY,EAAA,KAAAvB,GAAAuB,EAAA,KAAAW,GAAAX,EAAA,KAAAb,GAAAa,EAAA,KAAAa,KAAAA,IAAAb,EAAA,IAPKa"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAO5E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAQjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAmBpE,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AA6JF,eAAO,MAAM,sBAAsB,GAAI,sDAKpC,sBAAsB,KAAG,eAmC3B,CAAC"}
1
+ {"version":3,"file":"useTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAO5E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAQjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAmBpE,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AA4JF,eAAO,MAAM,sBAAsB,GAAI,sDAKpC,sBAAsB,KAAG,eAmC3B,CAAC"}