@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.
- package/dist/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/drawer.js.map +1 -1
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/progress.js.map +1 -1
- package/dist/components/ui/skeleton.js.map +1 -1
- package/dist/components/ui/sonner.js.map +1 -1
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/web3/AccountButton.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
- package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
- package/dist/components/web3/ConnectWallets/index.js +1 -1
- package/dist/components/web3/ConnectWallets/index.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
- package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -1
- package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
- package/dist/components/web3/providers.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
- package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
- package/dist/components/widget/AppHeader/state/showMoreAtom.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgesList.js.map +1 -1
- package/dist/components/widget/BridgeList/hooks.d.ts +2 -2
- package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
- package/dist/components/widget/BridgeList/hooks.js +79 -73
- package/dist/components/widget/BridgeList/hooks.js.map +1 -1
- package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -1
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +2 -2
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -1
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
- package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
- package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -1
- package/dist/components/widget/Button/DismissButton.js.map +1 -1
- package/dist/components/widget/Button/RefreshButton.js.map +1 -1
- package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -1
- package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
- package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
- package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
- package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
- package/dist/components/widget/DexesList/DexItem.js.map +1 -1
- package/dist/components/widget/DexesList/DexesList.js.map +1 -1
- package/dist/components/widget/DexesList/getDexProps.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
- package/dist/components/widget/Drawer/Overlay.js.map +1 -1
- package/dist/components/widget/Drawer/index.js.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
- package/dist/components/widget/Duration/Duration.js.map +1 -1
- package/dist/components/widget/Duration/utils.js.map +1 -1
- package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -1
- package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -1
- package/dist/components/widget/EnabledList/EnabledList.js.map +1 -1
- package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -1
- package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
- package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
- package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
- package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
- package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
- package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
- package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
- package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
- package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +5 -8
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
- package/dist/components/widget/LimitPriceInput/index.js +6 -6
- package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
- package/dist/components/widget/Line/Line.js.map +1 -1
- package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -1
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -1
- package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
- package/dist/components/widget/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +5 -8
- package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/constants.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
- package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
- package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
- package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRateWithTooltip.js.map +1 -1
- package/dist/components/widget/SwapRate/utils.js.map +1 -1
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
- package/dist/components/widget/Tabs/Tabs.js.map +1 -1
- package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -1
- package/dist/components/widget/TokenInput/InputContainer.js.map +1 -1
- package/dist/components/widget/TokenInput/InputField.js.map +1 -1
- package/dist/components/widget/TokenInput/InputFooter.js.map +1 -1
- package/dist/components/widget/TokenInput/InputHeader.js.map +1 -1
- package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
- package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -1
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +2 -2
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +4 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
- package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
- package/dist/components/widget/TransactionDetails/utils.js.map +1 -1
- package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
- package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
- package/dist/components/widget/Twap/OrderSplit.js.map +1 -1
- package/dist/components/widget/Twap/RateProtection.js.map +1 -1
- package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -1
- package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
- package/dist/components/widget/Warning/Warning.js.map +1 -1
- package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/components/widget/YouGet/YouGet.js.map +1 -1
- package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
- package/dist/core/LimitOrderButton.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.js +46 -52
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/LimitOrderDetails.js.map +1 -1
- package/dist/core/OtcOrderButton.js.map +1 -1
- package/dist/core/OtcOrderDetails.js.map +1 -1
- package/dist/core/Toaster.js.map +1 -1
- package/dist/core/TradeFlowScreenButton.d.ts +3 -4
- package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/TwapDetails.js.map +1 -1
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/Warnings.js.map +1 -1
- package/dist/core/across/isCrosschainPossible.js.map +1 -1
- package/dist/core/across/utils.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +1 -4
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +2 -2
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +2 -2
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
- package/dist/core/inputs/hooks/utils.d.ts.map +1 -1
- package/dist/core/inputs/hooks/utils.js +7 -5
- package/dist/core/inputs/hooks/utils.js.map +1 -1
- package/dist/core/inputs/state/common.js.map +1 -1
- package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/inputs/state/subscriptions.js.map +1 -1
- package/dist/core/limit/state/deadlineAtom.js.map +1 -1
- package/dist/core/limit/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
- package/dist/core/limit/state/receiverAddressAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/limit/state/utils.js.map +1 -1
- package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
- package/dist/core/limit/useLimitNotSupported.js.map +1 -1
- package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
- package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
- package/dist/core/limit/useLimitRate.d.ts +2 -3
- package/dist/core/limit/useLimitRate.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +54 -110
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js +1 -4
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/otc/state/deadlineAtom.js.map +1 -1
- package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
- package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
- package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
- package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
- package/dist/core/otc/useOtcNotSupported.js.map +1 -1
- package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
- package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
- package/dist/core/screen/hooks/useInitialValue.js.map +1 -1
- package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
- package/dist/core/screen/hooks/useResizeObserver.js.map +1 -1
- package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
- package/dist/core/screen/state/hooks/useScreen.js.map +1 -1
- package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -1
- package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
- package/dist/core/screen/state/screenAtom.js.map +1 -1
- package/dist/core/state/apiConfigAtom.js.map +1 -1
- package/dist/core/state/chainToAtom.js.map +1 -1
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configEffectAtom.js.map +1 -1
- package/dist/core/state/containerAtom.js.map +1 -1
- package/dist/core/state/enabledChainsAtom.js.map +1 -1
- package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
- package/dist/core/state/externalProviderAtom.js.map +1 -1
- package/dist/core/state/getSelectableDestChains.js.map +1 -1
- package/dist/core/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/state/tradeModeAtom.js.map +1 -1
- package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -1
- package/dist/core/state/validatedReferrerConfigAtom.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/subscriptions.js.map +1 -1
- package/dist/core/swapDetails/fees.d.ts.map +1 -1
- package/dist/core/swapDetails/fees.js +16 -11
- package/dist/core/swapDetails/fees.js.map +1 -1
- package/dist/core/swapDetails/maxToPay.d.ts.map +1 -1
- package/dist/core/swapDetails/maxToPay.js +18 -17
- package/dist/core/swapDetails/maxToPay.js.map +1 -1
- package/dist/core/swapDetails/orderRouting.js.map +1 -1
- package/dist/core/swapDetails/priceImpact.js.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/core/swapDetails/youGet.js.map +1 -1
- package/dist/core/twap/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
- package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
- package/dist/core/twap/state/twapSideAtom.js.map +1 -1
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +2 -2
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -1
- package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
- package/dist/core/twap/useTwapDetailsListProps.js.map +1 -1
- package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
- package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -1
- package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
- package/dist/events/effects/formInput.js.map +1 -1
- package/dist/events/effects/price.js.map +1 -1
- package/dist/events/effects/swapMode.js.map +1 -1
- package/dist/events/getters/limit.js.map +1 -1
- package/dist/events/getters/otc.js.map +1 -1
- package/dist/events/getters/settings.js.map +1 -1
- package/dist/events/getters/swap.js.map +1 -1
- package/dist/events/getters/twap.js.map +1 -1
- package/dist/events/getters/widgetState.js.map +1 -1
- package/dist/events/hooks/useActivateEffects.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
- package/dist/events/types/priceChange.d.ts +2 -2
- package/dist/events/types/priceChange.d.ts.map +1 -1
- package/dist/events/types/swap.d.ts +2 -2
- package/dist/events/types/swap.d.ts.map +1 -1
- package/dist/events/types/twap.d.ts +2 -2
- package/dist/events/types/twap.d.ts.map +1 -1
- package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1/external/vaul/dist/index.js.map +1 -1
- package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
- package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
- package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
- package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
- package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
- package/dist/hooks/gas/useGasPrices.js.map +1 -1
- package/dist/hooks/gas/utils.js.map +1 -1
- package/dist/hooks/getCode/query.js.map +1 -1
- package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
- package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
- package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/utils.js.map +1 -1
- package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
- package/dist/hooks/permit/utils/constants.js.map +1 -1
- package/dist/hooks/permit/utils/construct.js.map +1 -1
- package/dist/hooks/permit/utils/deadlines.js.map +1 -1
- package/dist/hooks/permit/utils/detect.js.map +1 -1
- package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
- package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
- package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
- package/dist/hooks/permit/utils/utils.js.map +1 -1
- package/dist/hooks/sdk/useGetContracts.js.map +1 -1
- package/dist/hooks/sdk/useSpender.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +3 -4
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +6 -3
- package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js +20 -17
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +5 -5
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +27 -28
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts +3 -3
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +5 -5
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +27 -28
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +5 -6
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js +6 -6
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts +2 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +11 -14
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +3 -3
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +6 -3
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +17 -34
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +6 -6
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/factory.d.ts.map +1 -1
- package/dist/hooks/swap/prices/factory.js +1 -1
- package/dist/hooks/swap/prices/factory.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
- package/dist/hooks/swap/prices/types.d.ts +2 -3
- package/dist/hooks/swap/prices/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -3
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +3 -3
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +2 -2
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTwapPrices.d.ts +4 -5
- package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +10 -17
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +6 -6
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -5
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +119 -124
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -2
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +159 -196
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +5 -5
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js +217 -229
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -1
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/allowance/utils.js.map +1 -1
- package/dist/hooks/tokens/balances/queries.js.map +1 -1
- package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
- package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
- package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
- package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -1
- package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
- package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
- package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
- package/dist/hooks/tokens/prices/queries.js.map +1 -1
- package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
- package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
- package/dist/hooks/tokens/useNativeToken.js.map +1 -1
- package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
- package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
- package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
- package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
- package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
- package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
- package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
- package/dist/hooks/txs/queries/useTxFees.js.map +1 -1
- package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
- package/dist/hooks/txs/queries/useTxResponse.js.map +1 -1
- package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
- package/dist/hooks/txs/queries/utils.js.map +1 -1
- package/dist/hooks/useAvailableCrosses.js.map +1 -1
- package/dist/hooks/useBreakpoints.js.map +1 -1
- package/dist/hooks/useBridgeInfo.js.map +1 -1
- package/dist/hooks/useBridgeProtocols.js.map +1 -1
- package/dist/hooks/useCachedQueryError.js.map +1 -1
- package/dist/hooks/useChainMatches.js.map +1 -1
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useCurrentChain.js.map +1 -1
- package/dist/hooks/useDebouncedInputState.js.map +1 -1
- package/dist/hooks/useEIP1559Enabled.js.map +1 -1
- package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
- package/dist/hooks/useMinViemClient.js.map +1 -1
- package/dist/hooks/useSDK.d.ts +19 -3
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +65 -35
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/hooks/useSelectableDestChains.js.map +1 -1
- package/dist/hooks/useSlippage.js.map +1 -1
- package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
- package/dist/lib/constants/urls.js.map +1 -1
- package/dist/lib/ipfs.js.map +1 -1
- package/dist/lib/queryClient.js +1 -1
- package/dist/lib/queryClient.js.map +1 -1
- package/dist/lib/tradeMode.js.map +1 -1
- package/dist/lib/utils/approval.js.map +1 -1
- package/dist/lib/utils/atomWithCompare.js.map +1 -1
- package/dist/lib/utils/copyToClipboard.js.map +1 -1
- package/dist/lib/utils/delta.js.map +1 -1
- package/dist/lib/utils/dexes.js.map +1 -1
- package/dist/lib/utils/explorer.js.map +1 -1
- package/dist/lib/utils/fee.js.map +1 -1
- package/dist/lib/utils/formatFiatPrice.js.map +1 -1
- package/dist/lib/utils/formatPercent.js.map +1 -1
- package/dist/lib/utils/formatTokenBalance.js.map +1 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/logger.js.map +1 -1
- package/dist/lib/utils/metabase.js.map +1 -1
- package/dist/lib/utils/mobile.js.map +1 -1
- package/dist/lib/utils/price.d.ts +5 -2
- package/dist/lib/utils/price.d.ts.map +1 -1
- package/dist/lib/utils/price.js +8 -5
- package/dist/lib/utils/price.js.map +1 -1
- package/dist/lib/utils/priceImpact.js.map +1 -1
- package/dist/lib/utils/providerErrors.js.map +1 -1
- package/dist/lib/utils/rate.js.map +1 -1
- package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
- package/dist/lib/utils/savedAmountUSD.js.map +1 -1
- package/dist/lib/utils/scaleFactor.js.map +1 -1
- package/dist/lib/utils/slippage.js.map +1 -1
- package/dist/lib/utils/time.js.map +1 -1
- package/dist/lib/utils/toDecimal.js.map +1 -1
- package/dist/lib/utils/toasts.js.map +1 -1
- package/dist/lib/utils/tradeFlow.js.map +1 -1
- package/dist/lib/utils/transactionHandlers.js.map +1 -1
- package/dist/lib/utils/tuple.js.map +1 -1
- package/dist/lib/utils/twap.d.ts +2 -2
- package/dist/lib/utils/twap.d.ts.map +1 -1
- package/dist/lib/utils/twap.js +2 -2
- package/dist/lib/utils/twap.js.map +1 -1
- package/dist/lib/utils/useDateNow.js.map +1 -1
- package/dist/lib/web3/wagmi/config.js.map +1 -1
- package/dist/lib/web3/wagmi/external.js.map +1 -1
- package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
- package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
- package/dist/lib/web3/wagmi/utils.js.map +1 -1
- package/dist/tokens/blacklist.js.map +1 -1
- package/dist/tokens/constructor.js.map +1 -1
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/tokens/hooks.js.map +1 -1
- package/dist/tokens/lists/constants.js.map +1 -1
- package/dist/tokens/lists/download.js.map +1 -1
- package/dist/tokens/lists/state/effects.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
- package/dist/tokens/overrides.js.map +1 -1
- package/dist/tokens/queries.js.map +1 -1
- package/dist/tokens/stabeCoins/hooks.js.map +1 -1
- package/dist/tokens/stabeCoins/index.js.map +1 -1
- package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
- package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
- package/dist/tokens/state/constructTokens.js.map +1 -1
- package/dist/tokens/state/fromListsAtom.js.map +1 -1
- package/dist/tokens/utils/areTokensSame.js.map +1 -1
- package/dist/tokens/utils/brand.js.map +1 -1
- package/dist/tokens/utils/eth.js.map +1 -1
- package/dist/tokens/utils/filtering.js.map +1 -1
- package/dist/tokens/utils/sets.js.map +1 -1
- package/dist/tokens/utils/sorting.js.map +1 -1
- package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
- package/dist/transactions/hash.js.map +1 -1
- package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
- package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -1
- package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
- package/dist/transactions/queries/ensureTxResponse.js.map +1 -1
- package/dist/transactions/state/effects/finalize.js.map +1 -1
- package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
- package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -1
- package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
- package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
- package/dist/transactions/state/transactionsAtom.js.map +1 -1
- package/dist/transactions/status.js.map +1 -1
- package/dist/transactions/utils.js.map +1 -1
- package/package.json +6 -6
- package/dist/hooks/swap/prices/delta/bridge/const.d.ts +0 -8
- package/dist/hooks/swap/prices/delta/bridge/const.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/bridge/const.js +0 -13
- package/dist/hooks/swap/prices/delta/bridge/const.js.map +0 -1
|
@@ -11,301 +11,264 @@ import { usePartner as l } from "../../usePartner.js";
|
|
|
11
11
|
import { useEnsureTxReceipt as u } from "../../txs/queries/useAwaitTx.js";
|
|
12
12
|
import { useCancelOrWithdrawAndCancelDeltaOrder as d } from "../prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js";
|
|
13
13
|
import { UserCancelledError as f } from "./common/errors.js";
|
|
14
|
-
import { useCreateAndSubmitDeltaOrder as
|
|
15
|
-
import { useApproveOrPermit as
|
|
16
|
-
import { shouldApproveOrBatch as
|
|
17
|
-
import { useDepositAndSubmitDeltaOrder as
|
|
18
|
-
import { useReferrer as
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import { useAccount as ie, useChainId as ae } from "wagmi";
|
|
14
|
+
import { useCreateAndSubmitDeltaOrder as p } from "../prices/delta/mutations/useCreateDeltaOrder.js";
|
|
15
|
+
import { useApproveOrPermit as m } from "./common/useApproveOrPermit.js";
|
|
16
|
+
import { shouldApproveOrBatch as h, usePreSignAndSubmitDeltaOrder as g } from "./common/usePreSignAndSubmitDeltaOrder.js";
|
|
17
|
+
import { useDepositAndSubmitDeltaOrder as _ } from "./common/useDepositAndSubmitDeltaOrder.js";
|
|
18
|
+
import { useReferrer as ee } from "../../useReferrer.js";
|
|
19
|
+
import { useRef as v } from "react";
|
|
20
|
+
import { useMutation as te } from "@tanstack/react-query";
|
|
21
|
+
import { assert as y } from "ts-essentials";
|
|
22
|
+
import { useAccount as ne, useChainId as b } from "wagmi";
|
|
24
23
|
//#region src/hooks/swap/tradeFlow/useLimitOrderFlow.ts
|
|
25
|
-
var
|
|
26
|
-
function
|
|
27
|
-
let
|
|
28
|
-
srcToken:
|
|
29
|
-
srcAmount:
|
|
24
|
+
var x = "limitOrder", S = "runLimitOrderFlow";
|
|
25
|
+
function C({ limitPrice: C }) {
|
|
26
|
+
let w = e("LimitOrderFlow"), T = b(), { approval: E, approveTxMut: D, events: O } = m({
|
|
27
|
+
srcToken: C?.srcTokenAddress,
|
|
28
|
+
srcAmount: C?.srcAmount,
|
|
30
29
|
spenderContractType: "ParaswapDelta",
|
|
31
30
|
swapSide: "SELL",
|
|
32
31
|
tradeMode: "limit",
|
|
33
|
-
chainId:
|
|
34
|
-
}), { address:
|
|
35
|
-
chainId:
|
|
36
|
-
account:
|
|
37
|
-
}),
|
|
38
|
-
chainId:
|
|
39
|
-
account:
|
|
40
|
-
client:
|
|
32
|
+
chainId: T
|
|
33
|
+
}), { address: k } = ne(), { minClient: A } = c({
|
|
34
|
+
chainId: T,
|
|
35
|
+
account: k
|
|
36
|
+
}), j = p({
|
|
37
|
+
chainId: T,
|
|
38
|
+
account: k,
|
|
39
|
+
client: A,
|
|
41
40
|
mutationOptions: {
|
|
42
41
|
onSuccess: (e) => {
|
|
43
|
-
|
|
42
|
+
w.log("Create Limit Order success", e);
|
|
44
43
|
},
|
|
45
44
|
onError: (e) => {
|
|
46
|
-
|
|
45
|
+
w.error("Create Limit Order error", e);
|
|
47
46
|
}
|
|
48
47
|
}
|
|
49
|
-
}),
|
|
50
|
-
order:
|
|
51
|
-
isCreatingOrder:
|
|
52
|
-
isPostingOrder:
|
|
53
|
-
isOrderSent:
|
|
54
|
-
isPending:
|
|
55
|
-
isError:
|
|
56
|
-
isSuccess:
|
|
57
|
-
error:
|
|
58
|
-
}, { deltaOrderPreSign:
|
|
59
|
-
chainId:
|
|
60
|
-
account:
|
|
61
|
-
logger:
|
|
62
|
-
viemClient:
|
|
63
|
-
}), { deltaOrderDeposit:
|
|
64
|
-
chainId:
|
|
65
|
-
account:
|
|
66
|
-
logger:
|
|
67
|
-
viemClient:
|
|
68
|
-
}),
|
|
69
|
-
order:
|
|
70
|
-
isPostingOrder:
|
|
71
|
-
isCreatingOrder:
|
|
72
|
-
isOrderSent:
|
|
73
|
-
isPending:
|
|
74
|
-
isError:
|
|
75
|
-
isSuccess:
|
|
76
|
-
error:
|
|
77
|
-
},
|
|
78
|
-
orderId:
|
|
48
|
+
}), M = {
|
|
49
|
+
order: j.order,
|
|
50
|
+
isCreatingOrder: j.isCreatingOrder,
|
|
51
|
+
isPostingOrder: j.isPostingOrder,
|
|
52
|
+
isOrderSent: j.isOrderSent,
|
|
53
|
+
isPending: j.isPending,
|
|
54
|
+
isError: j.isError,
|
|
55
|
+
isSuccess: j.isSuccess,
|
|
56
|
+
error: j.error
|
|
57
|
+
}, { deltaOrderPreSign: N, canBatchTxs: re, isConnectedToSafe: ie, preSignAndSubmitDeltaOrder: ae, reset: P } = g({
|
|
58
|
+
chainId: T,
|
|
59
|
+
account: k,
|
|
60
|
+
logger: w,
|
|
61
|
+
viemClient: A
|
|
62
|
+
}), { deltaOrderDeposit: F, reset: I, depositAndSubmitDeltaOrder: L } = _({
|
|
63
|
+
chainId: T,
|
|
64
|
+
account: k,
|
|
65
|
+
logger: w,
|
|
66
|
+
viemClient: A
|
|
67
|
+
}), R = {
|
|
68
|
+
order: M.order || N.order || F.order,
|
|
69
|
+
isPostingOrder: M.isPostingOrder || N.postingOrder.isPostingOrder || F.postingOrder.isPostingOrder,
|
|
70
|
+
isCreatingOrder: M.isCreatingOrder || N.isCreatingOrder || F.isCreatingOrder,
|
|
71
|
+
isOrderSent: M.isOrderSent || N.isOrderSent || F.isOrderSent,
|
|
72
|
+
isPending: M.isPending || N.isPending || F.isPending,
|
|
73
|
+
isError: M.isError || N.isError || F.isError,
|
|
74
|
+
isSuccess: M.isSuccess || N.isSuccess || F.isSuccess,
|
|
75
|
+
error: M.error || N.error || F.error
|
|
76
|
+
}, z = s({
|
|
77
|
+
orderId: R.order?.id,
|
|
79
78
|
refetchInterval: i,
|
|
80
79
|
onAuctionSuccess: (e) => {
|
|
81
|
-
|
|
80
|
+
w.log("Limit Order success", e);
|
|
82
81
|
},
|
|
83
82
|
onAuctionFailure: (e) => {
|
|
84
|
-
|
|
83
|
+
w.log("Limit Order failure", e);
|
|
85
84
|
},
|
|
86
85
|
onUpdatedAuction: (e) => {
|
|
87
|
-
|
|
86
|
+
w.log("Limit Order updated", e);
|
|
88
87
|
}
|
|
89
|
-
}),
|
|
90
|
-
sentOrder:
|
|
91
|
-
lastOrderState:
|
|
92
|
-
isOrderPending:
|
|
93
|
-
isOrderExecuting:
|
|
94
|
-
isOrderExecuted:
|
|
95
|
-
isPending:
|
|
96
|
-
isError:
|
|
97
|
-
isSuccess:
|
|
98
|
-
error:
|
|
99
|
-
},
|
|
100
|
-
order:
|
|
101
|
-
chainId:
|
|
102
|
-
account:
|
|
103
|
-
client:
|
|
104
|
-
logger:
|
|
105
|
-
}),
|
|
106
|
-
receipt:
|
|
107
|
-
txHash:
|
|
108
|
-
response:
|
|
109
|
-
isCancelingOrder:
|
|
110
|
-
isOrderCancellable:
|
|
111
|
-
isOrderCanceled:
|
|
112
|
-
isPending:
|
|
113
|
-
isError:
|
|
114
|
-
isSuccess:
|
|
115
|
-
error:
|
|
116
|
-
step:
|
|
117
|
-
},
|
|
118
|
-
|
|
119
|
-
}, { partner:
|
|
120
|
-
|
|
88
|
+
}), B = z.data ? o(z.data) : null, V = {
|
|
89
|
+
sentOrder: R.order,
|
|
90
|
+
lastOrderState: z.data,
|
|
91
|
+
isOrderPending: B === "pending",
|
|
92
|
+
isOrderExecuting: B === "executing",
|
|
93
|
+
isOrderExecuted: B === "confirmed",
|
|
94
|
+
isPending: z.isLoading || z.isRefetching || B === "pending" || B === "executing",
|
|
95
|
+
isError: z.isError || B === "failed",
|
|
96
|
+
isSuccess: B === "confirmed",
|
|
97
|
+
error: z.error
|
|
98
|
+
}, H = d({
|
|
99
|
+
order: V.lastOrderState || V.sentOrder,
|
|
100
|
+
chainId: T,
|
|
101
|
+
account: k,
|
|
102
|
+
client: A,
|
|
103
|
+
logger: w
|
|
104
|
+
}), U = {
|
|
105
|
+
receipt: H.receipt,
|
|
106
|
+
txHash: H.txHash,
|
|
107
|
+
response: H.cancelOrderResponse,
|
|
108
|
+
isCancelingOrder: H.isPending,
|
|
109
|
+
isOrderCancellable: H.isOrderCancellable,
|
|
110
|
+
isOrderCanceled: H.isSuccess,
|
|
111
|
+
isPending: H.isPending,
|
|
112
|
+
isError: H.isError,
|
|
113
|
+
isSuccess: H.isSuccess,
|
|
114
|
+
error: H.error,
|
|
115
|
+
step: H.step
|
|
116
|
+
}, W = u(), G = v(null), K = () => {
|
|
117
|
+
G.current?.abort(new f()), G.current = null;
|
|
118
|
+
}, { partner: q } = l(), { referrerAddress: oe } = ee(), J = r(), se = n(), { onLimitOrder: Y } = a(), ce = async ({ onTxSent: e } = {}) => {
|
|
119
|
+
D.reset(), j.reset(), H.reset(), P(), I(), y(C, "Limit price data is not available");
|
|
121
120
|
let n = new AbortController();
|
|
122
|
-
|
|
123
|
-
let r = n.signal, i, a, o =
|
|
124
|
-
approval:
|
|
121
|
+
G.current = n;
|
|
122
|
+
let r = n.signal, i, a, o = E.allowanceToSet, s = t(C.srcTokenAddress), { shouldDoApprovalTxOrPermit: c, shouldPreSignBatch: l } = h({
|
|
123
|
+
approval: E,
|
|
125
124
|
signPermit: {
|
|
126
125
|
isPermitSupported: !1,
|
|
127
126
|
isPermitReadyToSign: !1
|
|
128
127
|
},
|
|
129
|
-
canBatchTxs:
|
|
130
|
-
isConnectedToSafe:
|
|
128
|
+
canBatchTxs: re,
|
|
129
|
+
isConnectedToSafe: ie
|
|
131
130
|
});
|
|
132
131
|
try {
|
|
133
132
|
if (c && o) try {
|
|
134
|
-
|
|
133
|
+
O.onApproveTx.request({ allowanceToSet: o }), i = await D.approveAsync({ allowanceData: { allowanceToSet: o } }), O.onApproveTx.sent({
|
|
135
134
|
allowanceToSet: o,
|
|
136
135
|
txHash: i
|
|
137
136
|
}), r.throwIfAborted();
|
|
138
|
-
let t =
|
|
137
|
+
let t = W({
|
|
139
138
|
hash: i,
|
|
140
|
-
chainId:
|
|
139
|
+
chainId: T,
|
|
141
140
|
onReplaced: (e) => {
|
|
142
|
-
|
|
141
|
+
w.log("onReplaced:approveTx", i, e);
|
|
143
142
|
}
|
|
144
143
|
});
|
|
145
144
|
e && e({
|
|
146
|
-
chainId:
|
|
145
|
+
chainId: T,
|
|
147
146
|
action: "approve",
|
|
148
147
|
transactionHash: i,
|
|
149
148
|
receiptPromise: t,
|
|
150
149
|
transactionSpecificData: {
|
|
151
150
|
action: "approve",
|
|
152
151
|
approvedAmount: o,
|
|
153
|
-
tokenAddress:
|
|
154
|
-
spenderAddress:
|
|
152
|
+
tokenAddress: E.token,
|
|
153
|
+
spenderAddress: E.spender
|
|
155
154
|
}
|
|
156
|
-
}), a = await t,
|
|
155
|
+
}), a = await t, O.onApproveTx.confirmed({
|
|
157
156
|
allowanceToSet: o,
|
|
158
157
|
txHash: i,
|
|
159
158
|
txReceipt: a
|
|
160
|
-
}),
|
|
159
|
+
}), w.log("~ approveTx ~ receipt:", a);
|
|
161
160
|
} catch (e) {
|
|
162
|
-
throw
|
|
161
|
+
throw O.onApproveTx.failed({
|
|
163
162
|
allowanceToSet: o,
|
|
164
163
|
error: e,
|
|
165
164
|
txHash: i
|
|
166
165
|
}), e;
|
|
167
166
|
}
|
|
168
|
-
r.throwIfAborted(),
|
|
167
|
+
r.throwIfAborted(), y(k, "Account is not connected"), y(C, "limitPrice is not available"), Y?.({ event: {
|
|
169
168
|
name: "LimitOrder:request",
|
|
170
|
-
params: { price:
|
|
169
|
+
params: { price: C }
|
|
171
170
|
} });
|
|
172
|
-
let t =
|
|
173
|
-
u = t ? {
|
|
171
|
+
let t = {
|
|
174
172
|
signal: r,
|
|
175
173
|
type: "LIMIT",
|
|
176
|
-
referrerAddress:
|
|
174
|
+
referrerAddress: oe,
|
|
177
175
|
orderInput: {
|
|
178
|
-
owner:
|
|
179
|
-
beneficiary:
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
...t,
|
|
187
|
-
bridge: {
|
|
188
|
-
...t.bridge,
|
|
189
|
-
protocolSelector: g.protocolSelector,
|
|
190
|
-
protocolData: g.protocolData
|
|
191
|
-
},
|
|
192
|
-
partner: G,
|
|
193
|
-
partnerFee: 0
|
|
194
|
-
},
|
|
195
|
-
partner: G,
|
|
196
|
-
deadline: J
|
|
176
|
+
owner: k,
|
|
177
|
+
beneficiary: J,
|
|
178
|
+
route: C.route,
|
|
179
|
+
limitAmount: C.destAmount,
|
|
180
|
+
side: "SELL",
|
|
181
|
+
partner: q,
|
|
182
|
+
partnerFeeBps: 0,
|
|
183
|
+
deadline: se
|
|
197
184
|
}
|
|
198
|
-
}
|
|
199
|
-
signal: r,
|
|
200
|
-
type: "LIMIT",
|
|
201
|
-
referrerAddress: K,
|
|
202
|
-
orderInput: {
|
|
203
|
-
owner: D,
|
|
204
|
-
beneficiary: q,
|
|
205
|
-
srcToken: x.srcTokenAddress,
|
|
206
|
-
srcAmount: x.srcAmount,
|
|
207
|
-
destToken: x.destTokenAddress,
|
|
208
|
-
destAmount: x.destAmount,
|
|
209
|
-
destChainId: n,
|
|
210
|
-
deltaPrice: {
|
|
211
|
-
destToken: x.destTokenAddress,
|
|
212
|
-
destAmount: x.destAmount,
|
|
213
|
-
srcAmount: x.srcAmount,
|
|
214
|
-
bridge: g,
|
|
215
|
-
partner: G,
|
|
216
|
-
partnerFee: 0
|
|
217
|
-
},
|
|
218
|
-
partner: G,
|
|
219
|
-
deadline: J
|
|
220
|
-
}
|
|
221
|
-
};
|
|
222
|
-
let d;
|
|
185
|
+
}, n;
|
|
223
186
|
if (s) {
|
|
224
|
-
let
|
|
225
|
-
|
|
226
|
-
createOrderInput:
|
|
227
|
-
depositAmount:
|
|
187
|
+
let r = C.srcAmount;
|
|
188
|
+
n = await L({
|
|
189
|
+
createOrderInput: t,
|
|
190
|
+
depositAmount: r,
|
|
228
191
|
onTxSent: e
|
|
229
192
|
});
|
|
230
|
-
} else
|
|
231
|
-
createOrderInput:
|
|
232
|
-
approval:
|
|
193
|
+
} else n = l ? await ae({
|
|
194
|
+
createOrderInput: t,
|
|
195
|
+
approval: E,
|
|
233
196
|
onTxSent: e
|
|
234
|
-
}) : await
|
|
197
|
+
}) : await j.mutateAsync(t);
|
|
235
198
|
return Y?.({ event: {
|
|
236
199
|
name: "LimitOrder:sent",
|
|
237
200
|
params: {
|
|
238
|
-
price:
|
|
239
|
-
order:
|
|
201
|
+
price: C,
|
|
202
|
+
order: n
|
|
240
203
|
}
|
|
241
204
|
} }), {
|
|
242
|
-
tradeFlowType:
|
|
205
|
+
tradeFlowType: x,
|
|
243
206
|
approve: {
|
|
244
207
|
txHash: i,
|
|
245
208
|
receipt: a
|
|
246
209
|
},
|
|
247
|
-
limitOrder: { sentOrder:
|
|
248
|
-
limitPrice:
|
|
249
|
-
account:
|
|
250
|
-
receiverAddress:
|
|
210
|
+
limitOrder: { sentOrder: n },
|
|
211
|
+
limitPrice: C,
|
|
212
|
+
account: k,
|
|
213
|
+
receiverAddress: J
|
|
251
214
|
};
|
|
252
215
|
} catch (e) {
|
|
253
|
-
throw
|
|
216
|
+
throw w.error("Order submission error", e), Y?.({ event: {
|
|
254
217
|
name: "LimitOrder:failed",
|
|
255
218
|
params: {
|
|
256
|
-
price:
|
|
219
|
+
price: C,
|
|
257
220
|
error: e
|
|
258
221
|
}
|
|
259
222
|
} }), e;
|
|
260
223
|
}
|
|
261
|
-
},
|
|
224
|
+
}, le = async () => {
|
|
262
225
|
try {
|
|
263
|
-
return await
|
|
226
|
+
return await H.cancelDeltaOrder();
|
|
264
227
|
} catch (e) {
|
|
265
|
-
|
|
228
|
+
w.error("Cancel Limit order error", e), H.reset();
|
|
266
229
|
}
|
|
267
|
-
}, X =
|
|
268
|
-
mutationFn:
|
|
269
|
-
mutationKey: [
|
|
230
|
+
}, X = te({
|
|
231
|
+
mutationFn: ce,
|
|
232
|
+
mutationKey: [S],
|
|
270
233
|
onSuccess: (e) => {
|
|
271
|
-
|
|
234
|
+
w.log("Order submission success", e);
|
|
272
235
|
},
|
|
273
236
|
onError: (e) => {
|
|
274
|
-
|
|
237
|
+
w.error("Order submission error", e);
|
|
275
238
|
},
|
|
276
239
|
onSettled: () => {
|
|
277
|
-
|
|
240
|
+
w.log("Order submission settled");
|
|
278
241
|
}
|
|
279
242
|
}), Z = X.mutateAsync, Q = () => {
|
|
280
|
-
|
|
281
|
-
},
|
|
282
|
-
return $ &&
|
|
243
|
+
D.reset(), j.reset(), X.reset(), H.reset(), P(), I();
|
|
244
|
+
}, ue = (e) => (Q(), Z(e)), $ = X.data;
|
|
245
|
+
return $ && V.lastOrderState && ($ = {
|
|
283
246
|
...$,
|
|
284
247
|
limitOrder: {
|
|
285
248
|
sentOrder: $.limitOrder.sentOrder,
|
|
286
|
-
lastOrderState:
|
|
249
|
+
lastOrderState: V.lastOrderState
|
|
287
250
|
}
|
|
288
251
|
}), {
|
|
289
|
-
tradeFlowType:
|
|
290
|
-
chainId:
|
|
252
|
+
tradeFlowType: x,
|
|
253
|
+
chainId: T,
|
|
291
254
|
runLimitOrderFlow: Z,
|
|
292
255
|
reset: Q,
|
|
293
|
-
cancelFlow:
|
|
294
|
-
retryFlow:
|
|
295
|
-
cancelLimitOrder:
|
|
296
|
-
approval:
|
|
297
|
-
limitOrderSubmission:
|
|
298
|
-
limitOrderExecution:
|
|
299
|
-
limitOrderCancelation:
|
|
256
|
+
cancelFlow: K,
|
|
257
|
+
retryFlow: ue,
|
|
258
|
+
cancelLimitOrder: le,
|
|
259
|
+
approval: E,
|
|
260
|
+
limitOrderSubmission: R,
|
|
261
|
+
limitOrderExecution: V,
|
|
262
|
+
limitOrderCancelation: U,
|
|
300
263
|
isPending: X.isPending,
|
|
301
|
-
isSuccess:
|
|
264
|
+
isSuccess: R.isSuccess,
|
|
302
265
|
isError: X.isError,
|
|
303
266
|
error: X.error,
|
|
304
267
|
result: $,
|
|
305
|
-
limitPrice:
|
|
268
|
+
limitPrice: C
|
|
306
269
|
};
|
|
307
270
|
}
|
|
308
271
|
//#endregion
|
|
309
|
-
export {
|
|
272
|
+
export { C as useLimitOrderFlow };
|
|
310
273
|
|
|
311
274
|
//# sourceMappingURL=useLimitOrderFlow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitOrderFlow.js","names":["useAccount","useChainId","assert","useEnsureTxReceipt","Address","Hash","TransactionReceipt","ApprovalFlowResult","SubmitTxResult","useCreateAndSubmitDeltaOrder","CreateAndSubmitDeltaOrderInput","useMinViemClient","useMutation","useRef","SupportedChainId","UserCancelledError","CallsSentObject","TxSentObject","useApproveOrPermit","useLogger","usePartner","useLimitDeadline","getOverallOrderStatus","useWatchDeltaAuction","useWidgetEvents","shouldApproveOrBatch","usePreSignAndSubmitDeltaOrder","BridgePrice","DEFAULT_DELTA_BRIDGE","useLimitReceiverAddressValue","useDepositAndSubmitDeltaOrder","isETHaddress","useCancelOrWithdrawAndCancelDeltaOrder","CancelDeltaOrdersReturn","DeltaAuctionWithOrder","CancelOrderStepKey","HALF_MINUTE_MS","useReferrer","limitOrderFlowType","UserDefinedLimitPrice","srcTokenAddress","destTokenAddress","srcAmount","destAmount","bridgePrice","UseLimitOrderFlowInput","limitPrice","SubmitLimitOrderResult","tradeFlowType","approve","limitOrder","sentOrder","lastOrderState","account","receiverAddress","OnTxSent","txSent","RunLimitOrderOptions","onTxSent","UseLimitOrderFlowResult","chainId","runLimitOrderFlow","options","Promise","reset","cancelFlow","retryFlow","cancelLimitOrder","approval","limitOrderSubmission","order","isPostingOrder","isCreatingOrder","isOrderSent","isPending","isError","isSuccess","error","Error","limitOrderExecution","isOrderPending","isOrderExecuting","isOrderExecuted","limitOrderCancelation","receipt","txHash","response","isCancelingOrder","isOrderCancellable","isOrderCanceled","step","result","LIMIT_ORDER_MUTATION_KEY","useLimitOrderFlow","logger","approveTxMut","events","approveOrPermitEvents","srcToken","spenderContractType","swapSide","tradeMode","address","minClient","createAndSubmitOrderMut","client","mutationOptions","onSuccess","log","onError","limitOrderCreateAndSubmit","deltaOrderPreSign","canBatchTxs","isConnectedToSafe","preSignAndSubmitDeltaOrder","resetPreSignAndSubmitDeltaOrder","viemClient","deltaOrderDeposit","resetDepositAndSubmitDeltaOrder","depositAndSubmitDeltaOrder","postingOrder","watchOrderExecution","orderId","id","refetchInterval","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","orderStatus","data","isLoading","isRefetching","cancelOrderMut","cancelOrderResponse","ensureTxReceipt","currentAbortControllerRef","AbortController","current","abort","partner","referrerAddress","deadline","onLimitOrder","submitLimitOrder","abortController","signal","approveTxHash","approveTxReceipt","allowanceToSet","shouldDepositAndPreSign","shouldDoApprovalTxOrPermit","shouldDoApprovalTx","shouldPreSignBatch","signPermit","isPermitSupported","isPermitReadyToSign","onApproveTx","request","approveAsync","allowanceData","sent","throwIfAborted","approveTxReceiptPromise","hash","onReplaced","action","transactionHash","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","failed","event","name","params","price","destChainId","bridge","destinationChainId","createOrderInput","type","orderInput","owner","beneficiary","destToken","deltaPrice","protocolSelector","protocolData","partnerFee","orderFromAPI","depositAmount","mutateAsync","cancelDeltaOrder","limitOrderMut","mutationFn","mutationKey","onSettled"],"sources":["../../../../src/hooks/swap/tradeFlow/useLimitOrderFlow.ts"],"sourcesContent":["import { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport type { ApprovalFlowResult, SubmitTxResult } from \"./common/types\";\nimport {\n useCreateAndSubmitDeltaOrder,\n type CreateAndSubmitDeltaOrderInput,\n} from \"../prices/delta/mutations/useCreateDeltaOrder\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"./common/errors\";\nimport type {\n CallsSentObject,\n TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\n\nimport { useLogger } from \"@/core/logger\";\n\nimport { usePartner } from \"@/hooks/usePartner\";\nimport { useLimitDeadline } from \"@/core/limit/state/deadlineAtom\";\n\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport { useWatchDeltaAuction } from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport {\n shouldApproveOrBatch,\n usePreSignAndSubmitDeltaOrder,\n} from \"./common/usePreSignAndSubmitDeltaOrder\";\nimport type { BridgePrice } from \"@velora-dex/sdk\";\nimport { DEFAULT_DELTA_BRIDGE } from \"../prices/delta/bridge/const\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useDepositAndSubmitDeltaOrder } from \"./common/useDepositAndSubmitDeltaOrder\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { useCancelOrWithdrawAndCancelDeltaOrder } from \"../prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder\";\nimport type { CancelDeltaOrdersReturn } from \"../prices/delta/mutations/useCancelDeltaOrders\";\nimport type { DeltaAuctionWithOrder } from \"../prices/delta/orders/types\";\nimport type { CancelOrderStepKey } from \"@/components/widget/TradeOverview/steps\";\nimport { HALF_MINUTE_MS } from \"@/lib/constants/time\";\nimport { useReferrer } from \"@/hooks/useReferrer\";\n\nconst limitOrderFlowType = \"limitOrder\";\n\nexport type UserDefinedLimitPrice = {\n srcTokenAddress: string;\n destTokenAddress: string;\n srcAmount: string;\n destAmount: string;\n bridgePrice?: BridgePrice;\n};\n\nexport type UseLimitOrderFlowInput = {\n limitPrice?: UserDefinedLimitPrice;\n};\n\nexport type SubmitLimitOrderResult = {\n tradeFlowType: typeof limitOrderFlowType;\n approve: SubmitTxResult;\n limitOrder: {\n sentOrder: DeltaAuctionWithOrder;\n lastOrderState?: DeltaAuctionWithOrder;\n };\n limitPrice: UserDefinedLimitPrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunLimitOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseLimitOrderFlowResult = {\n tradeFlowType: typeof limitOrderFlowType;\n chainId: SupportedChainId;\n runLimitOrderFlow: (\n options?: RunLimitOrderOptions\n ) => Promise<SubmitLimitOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunLimitOrderOptions\n ) => Promise<SubmitLimitOrderResult>; // reset and retry flow\n cancelLimitOrder: () => Promise<\n TransactionReceipt | CancelDeltaOrdersReturn | undefined\n >;\n approval: ApprovalFlowResult;\n limitOrderSubmission: {\n order?: DeltaAuctionWithOrder;\n isPostingOrder: boolean;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n limitOrderExecution: {\n sentOrder?: DeltaAuctionWithOrder;\n lastOrderState?: DeltaAuctionWithOrder;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n limitOrderCancelation: {\n receipt?: TransactionReceipt;\n txHash?: string;\n response?: CancelDeltaOrdersReturn;\n isCancelingOrder: boolean;\n isOrderCancellable: boolean;\n isOrderCanceled: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n step?: CancelOrderStepKey;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitLimitOrderResult;\n limitPrice?: UserDefinedLimitPrice;\n};\n\nconst LIMIT_ORDER_MUTATION_KEY = \"runLimitOrderFlow\";\n\nexport function useLimitOrderFlow({\n limitPrice,\n}: UseLimitOrderFlowInput): UseLimitOrderFlowResult {\n const logger = useLogger(\"LimitOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 3. await Approve tx\n */\n\n const {\n approval,\n approveTxMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: limitPrice?.srcTokenAddress,\n srcAmount: limitPrice?.srcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide: \"SELL\",\n tradeMode: \"limit\",\n chainId,\n });\n\n /* 4.1. Build and Submit Delta Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const createAndSubmitOrderMut = useCreateAndSubmitDeltaOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Limit Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Limit Order error\", error);\n },\n },\n });\n\n const limitOrderCreateAndSubmit: UseLimitOrderFlowResult[\"limitOrderSubmission\"] =\n {\n order: createAndSubmitOrderMut.order,\n isCreatingOrder: createAndSubmitOrderMut.isCreatingOrder,\n isPostingOrder: createAndSubmitOrderMut.isPostingOrder,\n isOrderSent: createAndSubmitOrderMut.isOrderSent,\n isPending: createAndSubmitOrderMut.isPending,\n isError: createAndSubmitOrderMut.isError,\n isSuccess: createAndSubmitOrderMut.isSuccess,\n error: createAndSubmitOrderMut.error,\n };\n\n /* 4.2.\n 1. submit Batch tx (Approve + Delta pre-sign)\n 2. await Batch tx\n 3. post Pre-signed Order\n */\n\n const {\n deltaOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitDeltaOrder,\n reset: resetPreSignAndSubmitDeltaOrder,\n } = usePreSignAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n const {\n deltaOrderDeposit,\n reset: resetDepositAndSubmitDeltaOrder,\n depositAndSubmitDeltaOrder: depositAndSubmitDeltaOrder,\n } = useDepositAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n /* final Delta Order submission for step 4 */\n const limitOrderSubmission: UseLimitOrderFlowResult[\"limitOrderSubmission\"] =\n {\n order:\n limitOrderCreateAndSubmit.order ||\n deltaOrderPreSign.order ||\n deltaOrderDeposit.order,\n isPostingOrder:\n limitOrderCreateAndSubmit.isPostingOrder ||\n deltaOrderPreSign.postingOrder.isPostingOrder ||\n deltaOrderDeposit.postingOrder.isPostingOrder,\n isCreatingOrder:\n limitOrderCreateAndSubmit.isCreatingOrder ||\n deltaOrderPreSign.isCreatingOrder ||\n deltaOrderDeposit.isCreatingOrder,\n isOrderSent:\n limitOrderCreateAndSubmit.isOrderSent ||\n deltaOrderPreSign.isOrderSent ||\n deltaOrderDeposit.isOrderSent,\n isPending:\n limitOrderCreateAndSubmit.isPending ||\n deltaOrderPreSign.isPending ||\n deltaOrderDeposit.isPending,\n isError:\n limitOrderCreateAndSubmit.isError ||\n deltaOrderPreSign.isError ||\n deltaOrderDeposit.isError,\n isSuccess:\n limitOrderCreateAndSubmit.isSuccess ||\n deltaOrderPreSign.isSuccess ||\n deltaOrderDeposit.isSuccess,\n error:\n limitOrderCreateAndSubmit.error ||\n deltaOrderPreSign.error ||\n deltaOrderDeposit.error,\n };\n\n const watchOrderExecution = useWatchDeltaAuction<DeltaAuctionWithOrder>({\n orderId: limitOrderSubmission.order?.id,\n refetchInterval: HALF_MINUTE_MS,\n onAuctionSuccess: (order) => {\n logger.log(\"Limit Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Limit Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Limit Order updated\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n const limitOrderExecution: UseLimitOrderFlowResult[\"limitOrderExecution\"] = {\n sentOrder: limitOrderSubmission.order,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError: watchOrderExecution.isError || orderStatus === \"failed\",\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const cancelOrderMut = useCancelOrWithdrawAndCancelDeltaOrder({\n // supply the must up-to-date order for cancellation\n order: limitOrderExecution.lastOrderState || limitOrderExecution.sentOrder,\n chainId,\n account,\n client: minClient,\n logger,\n });\n\n const limitOrderCancelation: UseLimitOrderFlowResult[\"limitOrderCancelation\"] =\n {\n receipt: cancelOrderMut.receipt,\n txHash: cancelOrderMut.txHash,\n response: cancelOrderMut.cancelOrderResponse,\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCancellable: cancelOrderMut.isOrderCancellable,\n isOrderCanceled: cancelOrderMut.isSuccess,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError,\n isSuccess: cancelOrderMut.isSuccess,\n error: cancelOrderMut.error,\n step: cancelOrderMut.step,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n };\n\n const { partner } = usePartner();\n const { referrerAddress } = useReferrer();\n const receiverAddress = useLimitReceiverAddressValue();\n const deadline = useLimitDeadline();\n\n const { onLimitOrder } = useWidgetEvents();\n\n const submitLimitOrder = async ({\n onTxSent,\n }: RunLimitOrderOptions = {}): Promise<SubmitLimitOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n createAndSubmitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitDeltaOrder();\n resetDepositAndSubmitDeltaOrder();\n\n // no sense in starting flow without a price data,\n // Otherwise this flow will be stopped by disabling ReviewOrder button in the first place\n assert(limitPrice, \"Limit price data is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n // at this point this is the synchronously available price\n const allowanceToSet = approval.allowanceToSet;\n\n const shouldDepositAndPreSign =\n // @TODO [depositNativeAndPreSign] ensureDeltaEthBalance and compare with price.srcAmount to skip the deposit,\n // or deposit the difference between user dETH balance and price.srcAmount to avoid unnecessary deposits\n isETHaddress(limitPrice.srcTokenAddress);\n\n /* \n if connected to Safe, or needs to approve a token with a tx, or needs to pre-wrap ETH\n and can batch txs, then pre-sign the batch;\n that way Safe does only one action (wrapETH?+Approve+setPreSignature batch tx)\n and a wallet that would otherwise potentially wrap ETH and then Approve Token (tx, no Permit for Limit Orders)\n and then sign Order, basically has to make at least one tx, does only one action as well.\n */\n const {\n shouldDoApprovalTxOrPermit: shouldDoApprovalTx,\n shouldPreSignBatch,\n } = shouldApproveOrBatch({\n approval,\n signPermit: {\n isPermitSupported: false,\n isPermitReadyToSign: false,\n },\n canBatchTxs,\n isConnectedToSafe,\n });\n\n try {\n if (shouldDoApprovalTx && allowanceToSet) {\n try {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n } catch (error) {\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n assert(limitPrice, \"limitPrice is not available\");\n\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:request\",\n params: {\n price: limitPrice,\n },\n },\n });\n const bridgePrice = limitPrice.bridgePrice;\n const destChainId = bridgePrice?.bridge.destinationChainId;\n\n let createOrderInput: CreateAndSubmitDeltaOrderInput;\n if (bridgePrice) {\n // crosschain order\n createOrderInput = {\n signal,\n type: \"LIMIT\",\n referrerAddress,\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n srcToken: limitPrice.srcTokenAddress,\n destToken: limitPrice.destTokenAddress,\n srcAmount: limitPrice.srcAmount,\n destAmount: limitPrice.destAmount,\n destChainId,\n deltaPrice: {\n ...bridgePrice,\n bridge: {\n ...bridgePrice.bridge,\n protocolSelector: DEFAULT_DELTA_BRIDGE.protocolSelector,\n protocolData: DEFAULT_DELTA_BRIDGE.protocolData,\n },\n partner,\n partnerFee: 0,\n },\n partner,\n\n deadline,\n },\n };\n } else {\n // singlechain order\n createOrderInput = {\n signal,\n type: \"LIMIT\",\n referrerAddress,\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n srcToken: limitPrice.srcTokenAddress,\n srcAmount: limitPrice.srcAmount,\n destToken: limitPrice.destTokenAddress,\n destAmount: limitPrice.destAmount,\n destChainId,\n deltaPrice: {\n destToken: limitPrice.destTokenAddress,\n destAmount: limitPrice.destAmount,\n srcAmount: limitPrice.srcAmount,\n bridge: DEFAULT_DELTA_BRIDGE,\n partner,\n partnerFee: 0,\n },\n partner,\n deadline,\n },\n };\n }\n\n let orderFromAPI: DeltaAuctionWithOrder;\n\n if (shouldDepositAndPreSign) {\n const depositAmount = createOrderInput.orderInput.srcAmount;\n // deposit ETH + depositTx + POST order\n orderFromAPI = await depositAndSubmitDeltaOrder({\n createOrderInput,\n depositAmount,\n onTxSent,\n });\n } else if (shouldPreSignBatch) {\n // creating signing and POSTing the Order all together in one mutation\n // prepare Order for pre-signing and POSTing:\n // 1. builds the order\n // 2. hashes the built order\n // 3. construct DeltaContract.setPreSignature(orderHash, true) tx calldata\n\n orderFromAPI = await preSignAndSubmitDeltaOrder({\n createOrderInput,\n approval,\n onTxSent,\n });\n } else {\n orderFromAPI =\n await createAndSubmitOrderMut.mutateAsync(createOrderInput);\n }\n\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:sent\",\n params: {\n price: limitPrice,\n order: orderFromAPI,\n },\n },\n });\n\n return {\n tradeFlowType: limitOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n limitOrder: {\n sentOrder: orderFromAPI,\n },\n limitPrice: limitPrice,\n account,\n receiverAddress,\n };\n } catch (error) {\n logger.error(\"Order submission error\", error);\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:failed\",\n params: {\n price: limitPrice,\n error: error as Error,\n },\n },\n });\n throw error;\n }\n };\n\n const cancelLimitOrder = async () => {\n try {\n return await cancelOrderMut.cancelDeltaOrder();\n } catch (error) {\n logger.error(\"Cancel Limit order error\", error);\n // allow to re-trigger cancellation after error (like UserCancelledError)\n cancelOrderMut.reset();\n }\n };\n\n const limitOrderMut = useMutation({\n mutationFn: submitLimitOrder,\n mutationKey: [LIMIT_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Order submission success\", data);\n },\n onError: (error) => {\n logger.error(\"Order submission error\", error);\n },\n onSettled: () => {\n logger.log(\"Order submission settled\");\n },\n });\n\n const runLimitOrderFlow = limitOrderMut.mutateAsync;\n\n const reset = () => {\n approveTxMut.reset();\n createAndSubmitOrderMut.reset();\n limitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitDeltaOrder();\n resetDepositAndSubmitDeltaOrder();\n };\n\n const retryFlow = (\n options?: RunLimitOrderOptions\n ): Promise<SubmitLimitOrderResult> => {\n reset();\n return runLimitOrderFlow(options);\n };\n\n /* 5. return result */\n\n let result: SubmitLimitOrderResult | undefined = limitOrderMut.data;\n if (result && limitOrderExecution.lastOrderState) {\n result = {\n ...result,\n limitOrder: {\n sentOrder: result.limitOrder.sentOrder,\n // lastOrderState may be CANCELLED here\n lastOrderState: limitOrderExecution.lastOrderState,\n },\n };\n }\n\n return {\n tradeFlowType: limitOrderFlowType,\n chainId,\n runLimitOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelLimitOrder,\n approval,\n limitOrderSubmission,\n limitOrderExecution,\n limitOrderCancelation,\n // deltaOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: limitOrderMut.isPending,\n isSuccess: limitOrderSubmission.isSuccess, // approval is an optional step\n isError: limitOrderMut.isError,\n error: limitOrderMut.error,\n result,\n limitPrice,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useLimitOrderFlow.js","names":["useAccount","useChainId","assert","useEnsureTxReceipt","Address","Hash","TransactionReceipt","ApprovalFlowResult","SubmitTxResult","useCreateAndSubmitDeltaOrder","CreateAndSubmitDeltaOrderInput","useMinViemClient","useMutation","useRef","SupportedChainId","UserCancelledError","CallsSentObject","TxSentObject","useApproveOrPermit","useLogger","usePartner","useLimitDeadline","getOverallOrderStatus","useWatchDeltaAuction","useWidgetEvents","shouldApproveOrBatch","usePreSignAndSubmitDeltaOrder","DeltaRoute","useLimitReceiverAddressValue","useDepositAndSubmitDeltaOrder","isETHaddress","useCancelOrWithdrawAndCancelDeltaOrder","CancelDeltaOrdersReturn","DeltaAuctionWithOrder","CancelOrderStepKey","HALF_MINUTE_MS","useReferrer","limitOrderFlowType","UserDefinedLimitPrice","srcTokenAddress","destTokenAddress","srcAmount","destAmount","route","UseLimitOrderFlowInput","limitPrice","SubmitLimitOrderResult","tradeFlowType","approve","limitOrder","sentOrder","lastOrderState","account","receiverAddress","OnTxSent","txSent","RunLimitOrderOptions","onTxSent","UseLimitOrderFlowResult","chainId","runLimitOrderFlow","options","Promise","reset","cancelFlow","retryFlow","cancelLimitOrder","approval","limitOrderSubmission","order","isPostingOrder","isCreatingOrder","isOrderSent","isPending","isError","isSuccess","error","Error","limitOrderExecution","isOrderPending","isOrderExecuting","isOrderExecuted","limitOrderCancelation","receipt","txHash","response","isCancelingOrder","isOrderCancellable","isOrderCanceled","step","result","LIMIT_ORDER_MUTATION_KEY","useLimitOrderFlow","logger","approveTxMut","events","approveOrPermitEvents","srcToken","spenderContractType","swapSide","tradeMode","address","minClient","createAndSubmitOrderMut","client","mutationOptions","onSuccess","log","onError","limitOrderCreateAndSubmit","deltaOrderPreSign","canBatchTxs","isConnectedToSafe","preSignAndSubmitDeltaOrder","resetPreSignAndSubmitDeltaOrder","viemClient","deltaOrderDeposit","resetDepositAndSubmitDeltaOrder","depositAndSubmitDeltaOrder","postingOrder","watchOrderExecution","orderId","id","refetchInterval","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","orderStatus","data","isLoading","isRefetching","cancelOrderMut","cancelOrderResponse","ensureTxReceipt","currentAbortControllerRef","AbortController","current","abort","partner","referrerAddress","deadline","onLimitOrder","submitLimitOrder","abortController","signal","approveTxHash","approveTxReceipt","allowanceToSet","shouldDepositAndPreSign","shouldDoApprovalTxOrPermit","shouldDoApprovalTx","shouldPreSignBatch","signPermit","isPermitSupported","isPermitReadyToSign","onApproveTx","request","approveAsync","allowanceData","sent","throwIfAborted","approveTxReceiptPromise","hash","onReplaced","action","transactionHash","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","failed","event","name","params","price","createOrderInput","type","orderInput","owner","beneficiary","limitAmount","side","partnerFeeBps","orderFromAPI","depositAmount","mutateAsync","cancelDeltaOrder","limitOrderMut","mutationFn","mutationKey","onSettled"],"sources":["../../../../src/hooks/swap/tradeFlow/useLimitOrderFlow.ts"],"sourcesContent":["import { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport type { ApprovalFlowResult, SubmitTxResult } from \"./common/types\";\nimport {\n useCreateAndSubmitDeltaOrder,\n type CreateAndSubmitDeltaOrderInput,\n} from \"../prices/delta/mutations/useCreateDeltaOrder\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"./common/errors\";\nimport type {\n CallsSentObject,\n TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\n\nimport { useLogger } from \"@/core/logger\";\n\nimport { usePartner } from \"@/hooks/usePartner\";\nimport { useLimitDeadline } from \"@/core/limit/state/deadlineAtom\";\n\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport { useWatchDeltaAuction } from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport {\n shouldApproveOrBatch,\n usePreSignAndSubmitDeltaOrder,\n} from \"./common/usePreSignAndSubmitDeltaOrder\";\nimport type { DeltaRoute } from \"@velora-dex/sdk\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useDepositAndSubmitDeltaOrder } from \"./common/useDepositAndSubmitDeltaOrder\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { useCancelOrWithdrawAndCancelDeltaOrder } from \"../prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder\";\nimport type { CancelDeltaOrdersReturn } from \"../prices/delta/mutations/useCancelDeltaOrders\";\nimport type { DeltaAuctionWithOrder } from \"../prices/delta/orders/types\";\nimport type { CancelOrderStepKey } from \"@/components/widget/TradeOverview/steps\";\nimport { HALF_MINUTE_MS } from \"@/lib/constants/time\";\nimport { useReferrer } from \"@/hooks/useReferrer\";\n\nconst limitOrderFlowType = \"limitOrder\";\n\nexport type UserDefinedLimitPrice = {\n srcTokenAddress: string;\n destTokenAddress: string;\n srcAmount: string;\n destAmount: string;\n route: DeltaRoute;\n};\n\nexport type UseLimitOrderFlowInput = {\n limitPrice?: UserDefinedLimitPrice;\n};\n\nexport type SubmitLimitOrderResult = {\n tradeFlowType: typeof limitOrderFlowType;\n approve: SubmitTxResult;\n limitOrder: {\n sentOrder: DeltaAuctionWithOrder;\n lastOrderState?: DeltaAuctionWithOrder;\n };\n limitPrice: UserDefinedLimitPrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunLimitOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseLimitOrderFlowResult = {\n tradeFlowType: typeof limitOrderFlowType;\n chainId: SupportedChainId;\n runLimitOrderFlow: (\n options?: RunLimitOrderOptions\n ) => Promise<SubmitLimitOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunLimitOrderOptions\n ) => Promise<SubmitLimitOrderResult>; // reset and retry flow\n cancelLimitOrder: () => Promise<\n TransactionReceipt | CancelDeltaOrdersReturn | undefined\n >;\n approval: ApprovalFlowResult;\n limitOrderSubmission: {\n order?: DeltaAuctionWithOrder;\n isPostingOrder: boolean;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n limitOrderExecution: {\n sentOrder?: DeltaAuctionWithOrder;\n lastOrderState?: DeltaAuctionWithOrder;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n limitOrderCancelation: {\n receipt?: TransactionReceipt;\n txHash?: string;\n response?: CancelDeltaOrdersReturn;\n isCancelingOrder: boolean;\n isOrderCancellable: boolean;\n isOrderCanceled: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n step?: CancelOrderStepKey;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitLimitOrderResult;\n limitPrice?: UserDefinedLimitPrice;\n};\n\nconst LIMIT_ORDER_MUTATION_KEY = \"runLimitOrderFlow\";\n\nexport function useLimitOrderFlow({\n limitPrice,\n}: UseLimitOrderFlowInput): UseLimitOrderFlowResult {\n const logger = useLogger(\"LimitOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 3. await Approve tx\n */\n\n const {\n approval,\n approveTxMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: limitPrice?.srcTokenAddress,\n srcAmount: limitPrice?.srcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide: \"SELL\",\n tradeMode: \"limit\",\n chainId,\n });\n\n /* 4.1. Build and Submit Delta Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const createAndSubmitOrderMut = useCreateAndSubmitDeltaOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Limit Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Limit Order error\", error);\n },\n },\n });\n\n const limitOrderCreateAndSubmit: UseLimitOrderFlowResult[\"limitOrderSubmission\"] =\n {\n order: createAndSubmitOrderMut.order,\n isCreatingOrder: createAndSubmitOrderMut.isCreatingOrder,\n isPostingOrder: createAndSubmitOrderMut.isPostingOrder,\n isOrderSent: createAndSubmitOrderMut.isOrderSent,\n isPending: createAndSubmitOrderMut.isPending,\n isError: createAndSubmitOrderMut.isError,\n isSuccess: createAndSubmitOrderMut.isSuccess,\n error: createAndSubmitOrderMut.error,\n };\n\n /* 4.2.\n 1. submit Batch tx (Approve + Delta pre-sign)\n 2. await Batch tx\n 3. post Pre-signed Order\n */\n\n const {\n deltaOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitDeltaOrder,\n reset: resetPreSignAndSubmitDeltaOrder,\n } = usePreSignAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n const {\n deltaOrderDeposit,\n reset: resetDepositAndSubmitDeltaOrder,\n depositAndSubmitDeltaOrder: depositAndSubmitDeltaOrder,\n } = useDepositAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n /* final Delta Order submission for step 4 */\n const limitOrderSubmission: UseLimitOrderFlowResult[\"limitOrderSubmission\"] =\n {\n order:\n limitOrderCreateAndSubmit.order ||\n deltaOrderPreSign.order ||\n deltaOrderDeposit.order,\n isPostingOrder:\n limitOrderCreateAndSubmit.isPostingOrder ||\n deltaOrderPreSign.postingOrder.isPostingOrder ||\n deltaOrderDeposit.postingOrder.isPostingOrder,\n isCreatingOrder:\n limitOrderCreateAndSubmit.isCreatingOrder ||\n deltaOrderPreSign.isCreatingOrder ||\n deltaOrderDeposit.isCreatingOrder,\n isOrderSent:\n limitOrderCreateAndSubmit.isOrderSent ||\n deltaOrderPreSign.isOrderSent ||\n deltaOrderDeposit.isOrderSent,\n isPending:\n limitOrderCreateAndSubmit.isPending ||\n deltaOrderPreSign.isPending ||\n deltaOrderDeposit.isPending,\n isError:\n limitOrderCreateAndSubmit.isError ||\n deltaOrderPreSign.isError ||\n deltaOrderDeposit.isError,\n isSuccess:\n limitOrderCreateAndSubmit.isSuccess ||\n deltaOrderPreSign.isSuccess ||\n deltaOrderDeposit.isSuccess,\n error:\n limitOrderCreateAndSubmit.error ||\n deltaOrderPreSign.error ||\n deltaOrderDeposit.error,\n };\n\n const watchOrderExecution = useWatchDeltaAuction<DeltaAuctionWithOrder>({\n orderId: limitOrderSubmission.order?.id,\n refetchInterval: HALF_MINUTE_MS,\n onAuctionSuccess: (order) => {\n logger.log(\"Limit Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Limit Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Limit Order updated\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n const limitOrderExecution: UseLimitOrderFlowResult[\"limitOrderExecution\"] = {\n sentOrder: limitOrderSubmission.order,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError: watchOrderExecution.isError || orderStatus === \"failed\",\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const cancelOrderMut = useCancelOrWithdrawAndCancelDeltaOrder({\n // supply the must up-to-date order for cancellation\n order: limitOrderExecution.lastOrderState || limitOrderExecution.sentOrder,\n chainId,\n account,\n client: minClient,\n logger,\n });\n\n const limitOrderCancelation: UseLimitOrderFlowResult[\"limitOrderCancelation\"] =\n {\n receipt: cancelOrderMut.receipt,\n txHash: cancelOrderMut.txHash,\n response: cancelOrderMut.cancelOrderResponse,\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCancellable: cancelOrderMut.isOrderCancellable,\n isOrderCanceled: cancelOrderMut.isSuccess,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError,\n isSuccess: cancelOrderMut.isSuccess,\n error: cancelOrderMut.error,\n step: cancelOrderMut.step,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n };\n\n const { partner } = usePartner();\n const { referrerAddress } = useReferrer();\n const receiverAddress = useLimitReceiverAddressValue();\n const deadline = useLimitDeadline();\n\n const { onLimitOrder } = useWidgetEvents();\n\n const submitLimitOrder = async ({\n onTxSent,\n }: RunLimitOrderOptions = {}): Promise<SubmitLimitOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n createAndSubmitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitDeltaOrder();\n resetDepositAndSubmitDeltaOrder();\n\n // no sense in starting flow without a price data,\n // Otherwise this flow will be stopped by disabling ReviewOrder button in the first place\n assert(limitPrice, \"Limit price data is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n // at this point this is the synchronously available price\n const allowanceToSet = approval.allowanceToSet;\n\n const shouldDepositAndPreSign =\n // @TODO [depositNativeAndPreSign] ensureDeltaEthBalance and compare with price.srcAmount to skip the deposit,\n // or deposit the difference between user dETH balance and price.srcAmount to avoid unnecessary deposits\n isETHaddress(limitPrice.srcTokenAddress);\n\n /* \n if connected to Safe, or needs to approve a token with a tx, or needs to pre-wrap ETH\n and can batch txs, then pre-sign the batch;\n that way Safe does only one action (wrapETH?+Approve+setPreSignature batch tx)\n and a wallet that would otherwise potentially wrap ETH and then Approve Token (tx, no Permit for Limit Orders)\n and then sign Order, basically has to make at least one tx, does only one action as well.\n */\n const {\n shouldDoApprovalTxOrPermit: shouldDoApprovalTx,\n shouldPreSignBatch,\n } = shouldApproveOrBatch({\n approval,\n signPermit: {\n isPermitSupported: false,\n isPermitReadyToSign: false,\n },\n canBatchTxs,\n isConnectedToSafe,\n });\n\n try {\n if (shouldDoApprovalTx && allowanceToSet) {\n try {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n } catch (error) {\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n assert(limitPrice, \"limitPrice is not available\");\n\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:request\",\n params: {\n price: limitPrice,\n },\n },\n });\n\n const createOrderInput: CreateAndSubmitDeltaOrderInput = {\n signal,\n type: \"LIMIT\",\n referrerAddress,\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n route: limitPrice.route,\n limitAmount: limitPrice.destAmount,\n side: \"SELL\",\n partner,\n partnerFeeBps: 0,\n deadline,\n },\n };\n\n let orderFromAPI: DeltaAuctionWithOrder;\n\n if (shouldDepositAndPreSign) {\n const depositAmount = limitPrice.srcAmount;\n // deposit ETH + depositTx + POST order\n orderFromAPI = await depositAndSubmitDeltaOrder({\n createOrderInput,\n depositAmount,\n onTxSent,\n });\n } else if (shouldPreSignBatch) {\n // creating signing and POSTing the Order all together in one mutation\n // prepare Order for pre-signing and POSTing:\n // 1. builds the order\n // 2. hashes the built order\n // 3. construct DeltaContract.setPreSignature(orderHash, true) tx calldata\n\n orderFromAPI = await preSignAndSubmitDeltaOrder({\n createOrderInput,\n approval,\n onTxSent,\n });\n } else {\n orderFromAPI =\n await createAndSubmitOrderMut.mutateAsync(createOrderInput);\n }\n\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:sent\",\n params: {\n price: limitPrice,\n order: orderFromAPI,\n },\n },\n });\n\n return {\n tradeFlowType: limitOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n limitOrder: {\n sentOrder: orderFromAPI,\n },\n limitPrice: limitPrice,\n account,\n receiverAddress,\n };\n } catch (error) {\n logger.error(\"Order submission error\", error);\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:failed\",\n params: {\n price: limitPrice,\n error: error as Error,\n },\n },\n });\n throw error;\n }\n };\n\n const cancelLimitOrder = async () => {\n try {\n return await cancelOrderMut.cancelDeltaOrder();\n } catch (error) {\n logger.error(\"Cancel Limit order error\", error);\n // allow to re-trigger cancellation after error (like UserCancelledError)\n cancelOrderMut.reset();\n }\n };\n\n const limitOrderMut = useMutation({\n mutationFn: submitLimitOrder,\n mutationKey: [LIMIT_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Order submission success\", data);\n },\n onError: (error) => {\n logger.error(\"Order submission error\", error);\n },\n onSettled: () => {\n logger.log(\"Order submission settled\");\n },\n });\n\n const runLimitOrderFlow = limitOrderMut.mutateAsync;\n\n const reset = () => {\n approveTxMut.reset();\n createAndSubmitOrderMut.reset();\n limitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitDeltaOrder();\n resetDepositAndSubmitDeltaOrder();\n };\n\n const retryFlow = (\n options?: RunLimitOrderOptions\n ): Promise<SubmitLimitOrderResult> => {\n reset();\n return runLimitOrderFlow(options);\n };\n\n /* 5. return result */\n\n let result: SubmitLimitOrderResult | undefined = limitOrderMut.data;\n if (result && limitOrderExecution.lastOrderState) {\n result = {\n ...result,\n limitOrder: {\n sentOrder: result.limitOrder.sentOrder,\n // lastOrderState may be CANCELLED here\n lastOrderState: limitOrderExecution.lastOrderState,\n },\n };\n }\n\n return {\n tradeFlowType: limitOrderFlowType,\n chainId,\n runLimitOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelLimitOrder,\n approval,\n limitOrderSubmission,\n limitOrderExecution,\n limitOrderCancelation,\n // deltaOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: limitOrderMut.isPending,\n isSuccess: limitOrderSubmission.isSuccess, // approval is an optional step\n isError: limitOrderMut.isError,\n error: limitOrderMut.error,\n result,\n limitPrice,\n };\n}\n"],"mappings":"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"}
|