@velora-dex/widget 0.0.14 → 0.0.15
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/ui/accordion.js +0 -10
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/badge.js +0 -10
- package/dist/components/ui/badge.js.map +1 -1
- package/dist/components/ui/button.js +0 -10
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/card.js +0 -10
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/counter.js +0 -10
- package/dist/components/ui/counter.js.map +1 -1
- package/dist/components/ui/dialog.js +0 -10
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/drawer.js +0 -10
- package/dist/components/ui/drawer.js.map +1 -1
- package/dist/components/ui/dropdown-menu.js +19 -35
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/header.js +0 -10
- package/dist/components/ui/header.js.map +1 -1
- package/dist/components/ui/input.js +0 -10
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/select.js +0 -10
- package/dist/components/ui/select.js.map +1 -1
- package/dist/components/ui/skeleton.js +0 -10
- package/dist/components/ui/skeleton.js.map +1 -1
- package/dist/components/ui/sonner.js +0 -10
- package/dist/components/ui/sonner.js.map +1 -1
- package/dist/components/ui/switch.js +0 -10
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/tooltip.js +0 -10
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/ui/vaul/browser.js +0 -10
- package/dist/components/ui/vaul/browser.js.map +1 -1
- package/dist/components/ui/vaul/constants.js +0 -10
- package/dist/components/ui/vaul/constants.js.map +1 -1
- package/dist/components/ui/vaul/context.js +0 -10
- package/dist/components/ui/vaul/context.js.map +1 -1
- package/dist/components/ui/vaul/helpers.js +0 -10
- package/dist/components/ui/vaul/helpers.js.map +1 -1
- package/dist/components/ui/vaul/index.js +1 -11
- package/dist/components/ui/vaul/index.js.map +1 -1
- package/dist/components/ui/vaul/use-composed-refs.js +0 -10
- package/dist/components/ui/vaul/use-composed-refs.js.map +1 -1
- package/dist/components/ui/vaul/use-controllable-state.js +0 -10
- package/dist/components/ui/vaul/use-controllable-state.js.map +1 -1
- package/dist/components/ui/vaul/use-position-fixed.js +0 -10
- package/dist/components/ui/vaul/use-position-fixed.js.map +1 -1
- package/dist/components/ui/vaul/use-prevent-scroll.js +0 -10
- package/dist/components/ui/vaul/use-prevent-scroll.js.map +1 -1
- package/dist/components/ui/vaul/use-scale-background.js +0 -10
- package/dist/components/ui/vaul/use-scale-background.js.map +1 -1
- package/dist/components/ui/vaul/use-snap-points.js +0 -10
- package/dist/components/ui/vaul/use-snap-points.js.map +1 -1
- package/dist/components/web3/AccountButton.js +0 -10
- package/dist/components/web3/AccountButton.js.map +1 -1
- package/dist/components/web3/ConnectWallets/WalletConnectButtons.js +0 -10
- package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
- package/dist/components/web3/ConnectWallets/index.js +0 -10
- package/dist/components/web3/ConnectWallets/index.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/button.js +0 -10
- package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/connectRunner.js +0 -10
- package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/iframe.js +0 -10
- package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/provider.js +0 -10
- package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
- package/dist/components/web3/ConnectWallets/walletIcons.js +0 -10
- package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
- package/dist/components/web3/providers.js +0 -10
- package/dist/components/web3/providers.js.map +1 -1
- package/dist/components/widget/AppHeader/ActivityButton.js +0 -10
- package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js +0 -10
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/Details/DetailWithTooltip.js +0 -10
- package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
- package/dist/components/widget/Details/DetailWithValueList.js +0 -10
- package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
- package/dist/components/widget/Details/DetailWithValueListExpandable.js +0 -10
- package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
- package/dist/components/widget/Details/SwapDetailsExpandable.js +0 -10
- package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
- package/dist/components/widget/Dialog/ConnectWalletDialog/ConnectWalletDialog.js +0 -10
- package/dist/components/widget/Dialog/ConnectWalletDialog/ConnectWalletDialog.js.map +1 -1
- package/dist/components/widget/Dialog/DialogRoot.js +0 -10
- package/dist/components/widget/Dialog/DialogRoot.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +0 -10
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js +0 -10
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +0 -10
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js +0 -10
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js +0 -10
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +0 -10
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +0 -10
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
- package/dist/components/widget/Dialog/dialogByType.js +0 -10
- package/dist/components/widget/Dialog/dialogByType.js.map +1 -1
- package/dist/components/widget/Dialog/state/dialogAtom.js +1 -12
- package/dist/components/widget/Dialog/state/dialogAtom.js.map +1 -1
- package/dist/components/widget/Drawer/index.js +0 -10
- package/dist/components/widget/Drawer/index.js.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js +36 -36
- package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
- package/dist/components/widget/Dropdown/DropdownWithItems.js +0 -10
- package/dist/components/widget/Dropdown/DropdownWithItems.js.map +1 -1
- package/dist/components/widget/Icon/CheckIcon.js +0 -10
- package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
- package/dist/components/widget/Icon/ChevronIcon.js +0 -10
- package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
- package/dist/components/widget/Icon/DeltaIcon.js +0 -10
- package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
- package/dist/components/widget/Icon/EllipseIcon.js +0 -10
- package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
- package/dist/components/widget/Icon/InfoIcon.js +0 -10
- package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
- package/dist/components/widget/Icon/MarketIcon.js +0 -10
- package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
- package/dist/components/widget/Icon/SliderIcon.js +0 -10
- package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
- package/dist/components/widget/Informative/Informative.js +0 -10
- package/dist/components/widget/Informative/Informative.js.map +1 -1
- package/dist/components/widget/Line/Line.js +0 -10
- package/dist/components/widget/Line/Line.js.map +1 -1
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js +0 -10
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js +0 -10
- package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +0 -10
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
- package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js +0 -10
- package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +0 -10
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
- package/dist/components/widget/PoweredBy/PoweredBy.js +0 -10
- package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.js +0 -10
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js +1 -12
- package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js +0 -10
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +0 -10
- package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js +0 -11
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js +0 -10
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +2 -13
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeAtom.js +3 -15
- package/dist/components/widget/SwapModeSwitcher/state/swapModeAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +2 -13
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.js +0 -10
- package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenBadge.js +0 -10
- package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
- package/dist/components/widget/TokenInput/EmptyInput.js +0 -10
- package/dist/components/widget/TokenInput/EmptyInput.js.map +1 -1
- package/dist/components/widget/TokenInput/index.js +0 -10
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/TokenSwitcher/TokenSwitcher.js +0 -10
- package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +0 -10
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +0 -10
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step.js +0 -10
- package/dist/components/widget/TradeOverview/Step.js.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.js +0 -10
- package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js +0 -10
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +0 -10
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js +0 -10
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/index.js +0 -10
- package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +0 -10
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js +0 -10
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js +0 -10
- package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +0 -10
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.js +0 -10
- package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +0 -10
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewHeader.js +0 -10
- package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/VerticalDash.js +0 -10
- package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
- package/dist/components/widget/TradeOverview/steps.js +0 -10
- package/dist/components/widget/TradeOverview/steps.js.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js +0 -10
- package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
- package/dist/components/widget/TradeParameters/DeltaParameter.js +0 -10
- package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js +0 -10
- package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js +0 -10
- package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js +0 -10
- package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js +0 -10
- package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
- package/dist/components/widget/TradeParameters/TradeParameters.js +0 -10
- package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +0 -10
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/constants.js +0 -10
- package/dist/components/widget/TradeParameters/state/constants.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js +2 -13
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.js +3 -15
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js +2 -13
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js +3 -15
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
- package/dist/components/widget/Warning/InsufficientBalanceMessage.js +0 -10
- package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
- package/dist/components/widget/Warning/Warning.js +0 -10
- package/dist/components/widget/Warning/Warning.js.map +1 -1
- package/dist/components/widget/Warning/WarningMessage.js +0 -10
- package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthContent.js +0 -10
- package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.js +0 -10
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js +0 -10
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +0 -10
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/components/widget/YouGet/YouGet.js +0 -10
- package/dist/components/widget/YouGet/YouGet.js.map +1 -1
- package/dist/hooks/gas/config.js +0 -10
- package/dist/hooks/gas/config.js.map +1 -1
- package/dist/hooks/gas/useGasPrices.js +0 -10
- package/dist/hooks/gas/useGasPrices.js.map +1 -1
- package/dist/hooks/gas/utils.js +0 -10
- package/dist/hooks/gas/utils.js.map +1 -1
- package/dist/hooks/getCode/query.js +0 -10
- package/dist/hooks/getCode/query.js.map +1 -1
- package/dist/hooks/getCode/useIsAccountContract.js +0 -10
- package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
- package/dist/hooks/getCode/useIsContractAtAddress.js +0 -10
- package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
- package/dist/hooks/permit/hooks/useGetPermitInfo.js +0 -10
- package/dist/hooks/permit/hooks/useGetPermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/useGetSafePermitInfo.js +0 -10
- package/dist/hooks/permit/hooks/useGetSafePermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/usePermit1Nonce.js +1 -12
- package/dist/hooks/permit/hooks/usePermit1Nonce.js.map +1 -1
- package/dist/hooks/permit/hooks/useSignArbitraryTypedData.js +0 -10
- package/dist/hooks/permit/hooks/useSignArbitraryTypedData.js.map +1 -1
- package/dist/hooks/permit/hooks/useSignPermit.js +0 -10
- package/dist/hooks/permit/hooks/useSignPermit.js.map +1 -1
- package/dist/hooks/permit/hooks/useSignTokenFromPermit1.js +0 -10
- package/dist/hooks/permit/hooks/useSignTokenFromPermit1.js.map +1 -1
- package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.js +0 -10
- package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.js.map +1 -1
- package/dist/hooks/permit/hooks/useTokenFromPermitInfo.js +0 -10
- package/dist/hooks/permit/hooks/useTokenFromPermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/useTryToSignPermit1.js +0 -10
- package/dist/hooks/permit/hooks/useTryToSignPermit1.js.map +1 -1
- package/dist/hooks/permit/utils/abi.js +0 -10
- package/dist/hooks/permit/utils/abi.js.map +1 -1
- package/dist/hooks/permit/utils/constants.js +0 -10
- package/dist/hooks/permit/utils/constants.js.map +1 -1
- package/dist/hooks/permit/utils/construct.js +0 -10
- package/dist/hooks/permit/utils/construct.js.map +1 -1
- package/dist/hooks/permit/utils/detect.js +0 -10
- package/dist/hooks/permit/utils/detect.js.map +1 -1
- package/dist/hooks/permit/utils/domainSeparator.js +0 -10
- package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
- package/dist/hooks/permit/utils/encodeArgs.js +0 -10
- package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
- package/dist/hooks/permit/utils/trySignPermit1.js +0 -10
- package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
- package/dist/hooks/permit/utils/utils.js +0 -10
- package/dist/hooks/permit/utils/utils.js.map +1 -1
- package/dist/hooks/sdk/useGetContracts.js +0 -10
- package/dist/hooks/sdk/useGetContracts.js.map +1 -1
- package/dist/hooks/sdk/useSpender.js +0 -10
- package/dist/hooks/sdk/useSpender.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js +0 -10
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +0 -10
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +0 -10
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js +0 -10
- package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +0 -10
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js +0 -10
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +0 -10
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js +0 -10
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js +0 -10
- package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +0 -10
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js +0 -10
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +0 -10
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +0 -11
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +0 -10
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/errors.js +0 -10
- package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +2 -13
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +2 -11
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +2 -13
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +2 -11
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js +0 -10
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.js +0 -10
- package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/balances/queries.js +0 -10
- package/dist/hooks/tokens/balances/queries.js.map +1 -1
- package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +0 -10
- package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
- package/dist/hooks/tokens/balances/useInvalidateTokenData.js +0 -10
- package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js +0 -10
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/balances/useMultichainTokenBalances.js +0 -10
- package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
- package/dist/hooks/tokens/balances/useTokenBalance.js +0 -10
- package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/prices/queries.js +0 -10
- package/dist/hooks/tokens/prices/queries.js.map +1 -1
- package/dist/hooks/tokens/prices/useMultichainTokenPrices.js +0 -10
- package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
- package/dist/hooks/tokens/prices/useTokenPrices.js +0 -10
- package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
- package/dist/hooks/tokens/useNativeToken.js +0 -10
- package/dist/hooks/tokens/useNativeToken.js.map +1 -1
- package/dist/hooks/tokens/useTokenLists.js +0 -10
- package/dist/hooks/tokens/useTokenLists.js.map +1 -1
- package/dist/hooks/tokens/useTokensByAddress.js +0 -10
- package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.js +0 -10
- package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
- package/dist/hooks/txs/mutations/useApprove.js +0 -10
- package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
- package/dist/hooks/txs/mutations/useDepositWeth.js +0 -10
- package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
- package/dist/hooks/txs/mutations/useSendTx.js +0 -10
- package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.js +0 -10
- package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
- package/dist/hooks/useAvailableCrosses.js +0 -10
- package/dist/hooks/useAvailableCrosses.js.map +1 -1
- package/dist/hooks/useBridgeInfo.js +0 -10
- package/dist/hooks/useBridgeInfo.js.map +1 -1
- package/dist/hooks/useCurrentChain.js +0 -10
- package/dist/hooks/useCurrentChain.js.map +1 -1
- package/dist/hooks/useDebouncedInputState.js +0 -10
- package/dist/hooks/useDebouncedInputState.js.map +1 -1
- package/dist/hooks/useGlobalDeltaEnabled.js +0 -10
- package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.js +0 -10
- package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
- package/dist/hooks/useMinViemClient.js +0 -10
- package/dist/hooks/useMinViemClient.js.map +1 -1
- package/dist/hooks/useSDK.js +0 -10
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/hooks/useSlippage.js +0 -10
- package/dist/hooks/useSlippage.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -11
- package/dist/index.js.map +1 -1
- package/dist/lib/constants/delta.js +0 -10
- package/dist/lib/constants/delta.js.map +1 -1
- package/dist/lib/constants/index.js +0 -10
- package/dist/lib/constants/index.js.map +1 -1
- package/dist/lib/constants/time.js +0 -10
- package/dist/lib/constants/time.js.map +1 -1
- package/dist/lib/constants/weth.js +0 -10
- package/dist/lib/constants/weth.js.map +1 -1
- package/dist/lib/ipfs.js +0 -10
- package/dist/lib/ipfs.js.map +1 -1
- package/dist/lib/queryClient.js +0 -10
- package/dist/lib/queryClient.js.map +1 -1
- package/dist/lib/utils/delta.js +0 -10
- package/dist/lib/utils/delta.js.map +1 -1
- package/dist/lib/utils/dexes.js +0 -10
- package/dist/lib/utils/dexes.js.map +1 -1
- package/dist/lib/utils/explorer.js +0 -10
- package/dist/lib/utils/explorer.js.map +1 -1
- package/dist/lib/utils/fee.js +0 -10
- package/dist/lib/utils/fee.js.map +1 -1
- package/dist/lib/utils/formatFiatPrice.js +0 -10
- package/dist/lib/utils/formatFiatPrice.js.map +1 -1
- package/dist/lib/utils/formatTokenBalance.js +0 -10
- package/dist/lib/utils/formatTokenBalance.js.map +1 -1
- package/dist/lib/utils/index.js +0 -10
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/price.js +0 -10
- package/dist/lib/utils/price.js.map +1 -1
- package/dist/lib/utils/priceImpact.js +0 -10
- package/dist/lib/utils/priceImpact.js.map +1 -1
- package/dist/lib/utils/rate.js +0 -10
- package/dist/lib/utils/rate.js.map +1 -1
- package/dist/lib/utils/removeZeroDecimals.js +0 -10
- package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
- package/dist/lib/utils/slippage.js +0 -10
- package/dist/lib/utils/slippage.js.map +1 -1
- package/dist/lib/utils/toDecimal.js +0 -10
- package/dist/lib/utils/toDecimal.js.map +1 -1
- package/dist/lib/utils/toasts.js +0 -10
- package/dist/lib/utils/toasts.js.map +1 -1
- package/dist/lib/web3/privy/config.js +1 -11
- package/dist/lib/web3/privy/config.js.map +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -11
- package/dist/lib/web3/wagmi/config.js.map +1 -1
- package/dist/lib/web3/wagmi/constants.js +0 -10
- package/dist/lib/web3/wagmi/constants.js.map +1 -1
- package/dist/lib/web3/wagmi/transports.js +0 -10
- package/dist/lib/web3/wagmi/transports.js.map +1 -1
- package/dist/lib/web3/wagmi/utils.js +0 -10
- package/dist/lib/web3/wagmi/utils.js.map +1 -1
- package/dist/styles.css +3462 -193
- package/dist/styles2.css +256 -0
- package/dist/test/Configurator.d.ts.map +1 -1
- package/dist/test/TestButton.d.ts +2 -0
- package/dist/test/TestButton.d.ts.map +1 -0
- package/dist/test/connect/AccountDisplay.js +0 -10
- package/dist/test/connect/AccountDisplay.js.map +1 -1
- package/dist/test/connect/App.js +0 -10
- package/dist/test/connect/App.js.map +1 -1
- package/dist/test/connect/ConnectWallet.js +0 -10
- package/dist/test/connect/ConnectWallet.js.map +1 -1
- package/dist/test/connect/WagmiProfile.js +0 -10
- package/dist/test/connect/WagmiProfile.js.map +1 -1
- package/dist/test/connect/WalletActions.js +0 -10
- package/dist/test/connect/WalletActions.js.map +1 -1
- package/dist/test/logger-demo.d.ts +5 -0
- package/dist/test/logger-demo.d.ts.map +1 -0
- package/dist/tokens/blacklist.js +0 -10
- package/dist/tokens/blacklist.js.map +1 -1
- package/dist/tokens/constants.js +0 -10
- package/dist/tokens/constants.js.map +1 -1
- package/dist/tokens/constructor.js +0 -10
- package/dist/tokens/constructor.js.map +1 -1
- package/dist/tokens/defaultTokens.js +0 -10
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/tokens/hooks.js +0 -10
- package/dist/tokens/hooks.js.map +1 -1
- package/dist/tokens/lists/constants.js +0 -10
- package/dist/tokens/lists/constants.js.map +1 -1
- package/dist/tokens/lists/download.js +0 -10
- package/dist/tokens/lists/download.js.map +1 -1
- package/dist/tokens/lists/hooks.js +0 -10
- package/dist/tokens/lists/hooks.js.map +1 -1
- package/dist/tokens/lists/state/observer.js +0 -10
- package/dist/tokens/lists/state/observer.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsActionsAtom.js +2 -13
- package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsStateAtom.js +2 -14
- package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
- package/dist/tokens/lists/utils.js +0 -10
- package/dist/tokens/lists/utils.js.map +1 -1
- package/dist/tokens/overrides.js +0 -10
- package/dist/tokens/overrides.js.map +1 -1
- package/dist/tokens/queries.js +0 -10
- package/dist/tokens/queries.js.map +1 -1
- package/dist/tokens/stabeCoins/hooks.js +0 -10
- package/dist/tokens/stabeCoins/hooks.js.map +1 -1
- package/dist/tokens/stabeCoins/index.js +0 -10
- package/dist/tokens/stabeCoins/index.js.map +1 -1
- package/dist/tokens/state/constructTokens.js +0 -10
- package/dist/tokens/state/constructTokens.js.map +1 -1
- package/dist/tokens/state/tokensAtom.js +2 -13
- package/dist/tokens/state/tokensAtom.js.map +1 -1
- package/dist/tokens/utils/areTokensSame.js +0 -10
- package/dist/tokens/utils/areTokensSame.js.map +1 -1
- package/dist/tokens/utils/eth.js +0 -10
- package/dist/tokens/utils/eth.js.map +1 -1
- package/dist/tokens/utils/filtering.js +0 -10
- package/dist/tokens/utils/filtering.js.map +1 -1
- package/dist/tokens/utils/sets.js +0 -10
- package/dist/tokens/utils/sets.js.map +1 -1
- package/dist/tokens/utils/sorting.js +0 -10
- package/dist/tokens/utils/sorting.js.map +1 -1
- package/dist/widget/DevTools.d.ts +2 -0
- package/dist/widget/DevTools.d.ts.map +1 -0
- package/dist/widget/DevTools.js +24 -0
- package/dist/widget/DevTools.js.map +1 -0
- package/dist/widget/Updaters.js +0 -10
- package/dist/widget/Updaters.js.map +1 -1
- package/dist/widget/across/utils.js +0 -10
- package/dist/widget/across/utils.js.map +1 -1
- package/dist/widget/button/hooks/useWidgetButtonExtraProps.js +0 -10
- package/dist/widget/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/widget/constants.js +0 -10
- package/dist/widget/constants.js.map +1 -1
- package/dist/widget/index.d.ts.map +1 -1
- package/dist/widget/index.js +34 -29
- package/dist/widget/index.js.map +1 -1
- package/dist/widget/inputs/hooks/useTokenFromInputProps.js +0 -11
- package/dist/widget/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/widget/inputs/hooks/useTokenSwitcherProps.js +0 -10
- package/dist/widget/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
- package/dist/widget/inputs/hooks/useTokenToInputProps.js +0 -10
- package/dist/widget/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/widget/inputs/state/inputAmountAtom.js +6 -20
- package/dist/widget/inputs/state/inputAmountAtom.js.map +1 -1
- package/dist/widget/inputs/state/selectedTokenActionsAtom.js +6 -19
- package/dist/widget/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/widget/inputs/state/selectedTokenAtom.js +2 -15
- package/dist/widget/inputs/state/selectedTokenAtom.js.map +1 -1
- package/dist/widget/inputs/state/subscriptions.js +0 -10
- package/dist/widget/inputs/state/subscriptions.js.map +1 -1
- package/dist/widget/state/chainToAtom.js +2 -13
- package/dist/widget/state/chainToAtom.js.map +1 -1
- package/dist/widget/state/configActionsAtom.js +2 -13
- package/dist/widget/state/configActionsAtom.js.map +1 -1
- package/dist/widget/state/configAtom.js +1 -12
- package/dist/widget/state/configAtom.js.map +1 -1
- package/dist/widget/state/containerAtom.js +1 -12
- package/dist/widget/state/containerAtom.js.map +1 -1
- package/dist/widget/state/currentSwapInputAtom.js +1 -12
- package/dist/widget/state/currentSwapInputAtom.js.map +1 -1
- package/dist/widget/state/isCrosschainAtom.js +2 -13
- package/dist/widget/state/isCrosschainAtom.js.map +1 -1
- package/dist/widget/subscriptions.js +0 -10
- package/dist/widget/subscriptions.js.map +1 -1
- package/dist/widget/swapDetails/fees.js +0 -10
- package/dist/widget/swapDetails/fees.js.map +1 -1
- package/dist/widget/swapDetails/orderRouting.js +0 -10
- package/dist/widget/swapDetails/orderRouting.js.map +1 -1
- package/dist/widget/swapDetails/priceImpact.js +0 -10
- package/dist/widget/swapDetails/priceImpact.js.map +1 -1
- package/dist/widget/swapDetails/useSwapDetailsListProps.js +0 -10
- package/dist/widget/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/widget/swapDetails/youGet.js +0 -10
- package/dist/widget/swapDetails/youGet.js.map +1 -1
- package/package.json +2 -1
- package/dist/components/widget/SwapModeSwitcher/state/types.js +0 -11
- package/dist/components/widget/SwapModeSwitcher/state/types.js.map +0 -1
- package/dist/components/widget/TokenBadge/types.js +0 -11
- package/dist/components/widget/TokenBadge/types.js.map +0 -1
- package/dist/hooks/txs/index.js +0 -13
- package/dist/hooks/txs/index.js.map +0 -1
- package/dist/lib/utils/logger.js +0 -11
- package/dist/lib/utils/logger.js.map +0 -1
- package/dist/styles/global.css.js +0 -4
- package/dist/styles/global.css.js.map +0 -1
- package/dist/tokens/state/types.js +0 -11
- package/dist/tokens/state/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMarketPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type { OptimalRate, GetRateFunctions } from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional, type Prettify } from \"ts-essentials\";\n\ntype GetRateInput = Prettify<Parameters<GetRateFunctions[\"getRate\"]>[0]>;\n// @TODO export GetRateInput from sdk\n\ntype RequiredRateParams = Prettify<\n Omit<GetRateInput, \"options\"> & GetRateInput[\"options\"]\n>;\n\nexport type RateParamsInput = MarkOptional<RequiredRateParams, \"destToken\">;\n\ntype MarketQueryParams<TData = OptimalRate> = Omit<\n UseQueryOptions<OptimalRate, Error, TData, MarketPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype MarketQueryResult<TData = OptimalRate> = UseQueryResult<TData, Error>;\n\ntype MarketPriceQueryInput<TData = OptimalRate> = {\n priceParams: RateParamsInput;\n query?: MarketQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\ntype MarketPriceQueryKey = [\n base: \"swap/prices/market\",\n chainId: number,\n priceParams: RateParamsInput,\n];\n\nexport function useMarketPriceQuery<TData = OptimalRate>({\n priceParams,\n query,\n chainId,\n timeout,\n}: MarketPriceQueryInput<TData>): MarketQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: MarkOptional<GetRateInput, \"destToken\"> = {\n amount: debouncedAmount,\n userAddress: priceParams.userAddress,\n side: priceParams.side,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n options: {\n excludeDEXS: priceParams.excludeDEXS,\n includeDEXS: priceParams.includeDEXS,\n excludePools: priceParams.excludePools,\n excludeContractMethods: priceParams.excludeContractMethods,\n includeContractMethods: priceParams.includeContractMethods,\n partner: priceParams.partner,\n maxImpact: priceParams.maxImpact,\n maxUSDImpact: priceParams.maxUSDImpact,\n otherExchangePrices: priceParams.otherExchangePrices,\n ignoreBadUsdPrice: priceParams.ignoreBadUsdPrice,\n excludeRFQ: priceParams.excludeRFQ,\n excludeContractMethodsWithoutFeeModel:\n priceParams.excludeContractMethodsWithoutFeeModel,\n srcTokenTransferFee: priceParams.srcTokenTransferFee,\n destTokenTransferFee: priceParams.destTokenTransferFee,\n srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,\n destTokenDexTransferFee: priceParams.destTokenDexTransferFee,\n },\n };\n\n return useQuery<OptimalRate, Error, TData, MarketPriceQueryKey>({\n queryKey: [\"swap/prices/market\", chainId, sanitizedPriceParams],\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getRate(sanitizedPriceParams, { signal, timeout });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n}\n\nfunction isPriceParamsValid(\n priceParams: MarkOptional<GetRateInput, \"destToken\">\n): priceParams is GetRateInput {\n return !!priceParams.destToken && Number(priceParams.amount) > 0;\n}\n"],"names":["useMarketPriceQuery","t0","$","_c","priceParams","query","chainId","timeout","t1","sdk","useMarketSwapSDK","queryEnabled","enabled","t2","Symbol","for","wait","debouncedAmount","useDebouncedValue","amount","t3","t4","t5","t6","t7","destDecimals","destToken","destTokenDexTransferFee","destTokenTransferFee","excludeContractMethods","excludeContractMethodsWithoutFeeModel","excludeDEXS","excludePools","excludeRFQ","ignoreBadUsdPrice","includeContractMethods","includeDEXS","maxImpact","maxUSDImpact","otherExchangePrices","partner","side","srcDecimals","srcToken","srcTokenDexTransferFee","srcTokenTransferFee","userAddress","sanitizedPriceParams","options","useQuery","t8","signal","assert","isPriceParamsValid","price","getRate","queryKey","queryFn","Number"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useMarketPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type { OptimalRate, GetRateFunctions } from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional, type Prettify } from \"ts-essentials\";\n\ntype GetRateInput = Prettify<Parameters<GetRateFunctions[\"getRate\"]>[0]>;\n// @TODO export GetRateInput from sdk\n\ntype RequiredRateParams = Prettify<\n Omit<GetRateInput, \"options\"> & GetRateInput[\"options\"]\n>;\n\nexport type RateParamsInput = MarkOptional<RequiredRateParams, \"destToken\">;\n\ntype MarketQueryParams<TData = OptimalRate> = Omit<\n UseQueryOptions<OptimalRate, Error, TData, MarketPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype MarketQueryResult<TData = OptimalRate> = UseQueryResult<TData, Error>;\n\ntype MarketPriceQueryInput<TData = OptimalRate> = {\n priceParams: RateParamsInput;\n query?: MarketQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\ntype MarketPriceQueryKey = [\n base: \"swap/prices/market\",\n chainId: number,\n priceParams: RateParamsInput,\n];\n\nexport function useMarketPriceQuery<TData = OptimalRate>({\n priceParams,\n query,\n chainId,\n timeout,\n}: MarketPriceQueryInput<TData>): MarketQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: MarkOptional<GetRateInput, \"destToken\"> = {\n amount: debouncedAmount,\n userAddress: priceParams.userAddress,\n side: priceParams.side,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n options: {\n excludeDEXS: priceParams.excludeDEXS,\n includeDEXS: priceParams.includeDEXS,\n excludePools: priceParams.excludePools,\n excludeContractMethods: priceParams.excludeContractMethods,\n includeContractMethods: priceParams.includeContractMethods,\n partner: priceParams.partner,\n maxImpact: priceParams.maxImpact,\n maxUSDImpact: priceParams.maxUSDImpact,\n otherExchangePrices: priceParams.otherExchangePrices,\n ignoreBadUsdPrice: priceParams.ignoreBadUsdPrice,\n excludeRFQ: priceParams.excludeRFQ,\n excludeContractMethodsWithoutFeeModel:\n priceParams.excludeContractMethodsWithoutFeeModel,\n srcTokenTransferFee: priceParams.srcTokenTransferFee,\n destTokenTransferFee: priceParams.destTokenTransferFee,\n srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,\n destTokenDexTransferFee: priceParams.destTokenDexTransferFee,\n },\n };\n\n return useQuery<OptimalRate, Error, TData, MarketPriceQueryKey>({\n queryKey: [\"swap/prices/market\", chainId, sanitizedPriceParams],\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getRate(sanitizedPriceParams, { signal, timeout });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n}\n\nfunction isPriceParamsValid(\n priceParams: MarkOptional<GetRateInput, \"destToken\">\n): priceParams is GetRateInput {\n return !!priceParams.destToken && Number(priceParams.amount) > 0;\n}\n"],"names":["useMarketPriceQuery","t0","$","_c","priceParams","query","chainId","timeout","t1","sdk","useMarketSwapSDK","queryEnabled","enabled","t2","Symbol","for","wait","debouncedAmount","useDebouncedValue","amount","t3","t4","t5","t6","t7","destDecimals","destToken","destTokenDexTransferFee","destTokenTransferFee","excludeContractMethods","excludeContractMethodsWithoutFeeModel","excludeDEXS","excludePools","excludeRFQ","ignoreBadUsdPrice","includeContractMethods","includeDEXS","maxImpact","maxUSDImpact","otherExchangePrices","partner","side","srcDecimals","srcToken","srcTokenDexTransferFee","srcTokenTransferFee","userAddress","sanitizedPriceParams","options","useQuery","t8","signal","assert","isPriceParamsValid","price","getRate","queryKey","queryFn","Number"],"mappings":"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"}
|
|
@@ -2,16 +2,6 @@ import { d as distExports } from '../../../../../_virtual/index.js';
|
|
|
2
2
|
import { useMarketSwapSDK } from '../../../../useSDK.js';
|
|
3
3
|
import { useQuery } from '@tanstack/react-query';
|
|
4
4
|
|
|
5
|
-
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
6
|
-
cache: /* @__PURE__ */ new Map(),
|
|
7
|
-
get(name, inst) {
|
|
8
|
-
if (this.cache.has(name)) {
|
|
9
|
-
return this.cache.get(name);
|
|
10
|
-
}
|
|
11
|
-
this.cache.set(name, inst);
|
|
12
|
-
return inst;
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
5
|
function useGetContractsQuery(t0) {
|
|
16
6
|
const $ = distExports.c(11);
|
|
17
7
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSpenderAndContracts.js","sources":["../../../../../../src/hooks/swap/prices/market/queries/useSpenderAndContracts.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type { GetSpenderFunctions } from \"@velora-dex/sdk\";\nimport type { Address } from \"viem\";\n\n// ============================================================================\n// Types for getSpender\n// ============================================================================\n\ntype GetSpenderReturn = Address;\n\ntype GetSpenderQueryParams<TData = GetSpenderReturn> = Omit<\n UseQueryOptions<GetSpenderReturn, Error, TData, GetSpenderQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetSpenderQueryResult<TData = GetSpenderReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetSpenderQueryInput<TData = GetSpenderReturn> = {\n query: GetSpenderQueryParams<TData>;\n chainId: number;\n};\n\ntype GetSpenderQueryKey = [base: \"swap/market/spender\", chainId: number];\n\n// ============================================================================\n// Types for getContracts\n// ============================================================================\n\n// @TODO export AdaptersContractsResult from SDK\ntype GetContractsReturn = Awaited<\n ReturnType<GetSpenderFunctions[\"getContracts\"]>\n>;\n\ntype GetContractsQueryParams<TData = GetContractsReturn> = Omit<\n UseQueryOptions<GetContractsReturn, Error, TData, GetContractsQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetContractsQueryResult<TData = GetContractsReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetContractsQueryInput<TData = GetContractsReturn> = {\n query?: GetContractsQueryParams<TData>;\n chainId: number;\n};\n\ntype GetContractsQueryKey = [base: \"swap/market/contracts\", chainId: number];\n\n// ============================================================================\n// Hook for getSpender\n// ============================================================================\n\nexport function useGetSpenderQuery<TData = GetSpenderReturn>({\n query,\n chainId,\n}: GetSpenderQueryInput<TData>): GetSpenderQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetSpenderReturn, Error, TData, GetSpenderQueryKey>({\n queryKey: [\"swap/market/spender\", chainId],\n queryFn: async ({ signal }) => {\n const spender = await sdk.getSpender({ signal });\n return spender as Address;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n// ============================================================================\n// Hook for getContracts\n// ============================================================================\n\nexport function useGetContractsQuery<TData = GetContractsReturn>({\n query,\n chainId,\n}: GetContractsQueryInput<TData>): GetContractsQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetContractsReturn, Error, TData, GetContractsQueryKey>({\n queryKey: [\"swap/market/contracts\", chainId],\n queryFn: ({ signal }) => {\n const contracts = sdk.getContracts({ signal });\n return contracts;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n"],"names":["useGetContractsQuery","t0","$","_c","query","chainId","t1","sdk","useMarketSwapSDK","t2","t3","t4","signal","contracts","getContracts","enabled","t5","queryKey","queryFn","staleTime","Infinity","gcTime","useQuery"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSpenderAndContracts.js","sources":["../../../../../../src/hooks/swap/prices/market/queries/useSpenderAndContracts.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type { GetSpenderFunctions } from \"@velora-dex/sdk\";\nimport type { Address } from \"viem\";\n\n// ============================================================================\n// Types for getSpender\n// ============================================================================\n\ntype GetSpenderReturn = Address;\n\ntype GetSpenderQueryParams<TData = GetSpenderReturn> = Omit<\n UseQueryOptions<GetSpenderReturn, Error, TData, GetSpenderQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetSpenderQueryResult<TData = GetSpenderReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetSpenderQueryInput<TData = GetSpenderReturn> = {\n query: GetSpenderQueryParams<TData>;\n chainId: number;\n};\n\ntype GetSpenderQueryKey = [base: \"swap/market/spender\", chainId: number];\n\n// ============================================================================\n// Types for getContracts\n// ============================================================================\n\n// @TODO export AdaptersContractsResult from SDK\ntype GetContractsReturn = Awaited<\n ReturnType<GetSpenderFunctions[\"getContracts\"]>\n>;\n\ntype GetContractsQueryParams<TData = GetContractsReturn> = Omit<\n UseQueryOptions<GetContractsReturn, Error, TData, GetContractsQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetContractsQueryResult<TData = GetContractsReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetContractsQueryInput<TData = GetContractsReturn> = {\n query?: GetContractsQueryParams<TData>;\n chainId: number;\n};\n\ntype GetContractsQueryKey = [base: \"swap/market/contracts\", chainId: number];\n\n// ============================================================================\n// Hook for getSpender\n// ============================================================================\n\nexport function useGetSpenderQuery<TData = GetSpenderReturn>({\n query,\n chainId,\n}: GetSpenderQueryInput<TData>): GetSpenderQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetSpenderReturn, Error, TData, GetSpenderQueryKey>({\n queryKey: [\"swap/market/spender\", chainId],\n queryFn: async ({ signal }) => {\n const spender = await sdk.getSpender({ signal });\n return spender as Address;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n// ============================================================================\n// Hook for getContracts\n// ============================================================================\n\nexport function useGetContractsQuery<TData = GetContractsReturn>({\n query,\n chainId,\n}: GetContractsQueryInput<TData>): GetContractsQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetContractsReturn, Error, TData, GetContractsQueryKey>({\n queryKey: [\"swap/market/contracts\", chainId],\n queryFn: ({ signal }) => {\n const contracts = sdk.getContracts({ signal });\n return contracts;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n"],"names":["useGetContractsQuery","t0","$","_c","query","chainId","t1","sdk","useMarketSwapSDK","t2","t3","t4","signal","contracts","getContracts","enabled","t5","queryKey","queryFn","staleTime","Infinity","gcTime","useQuery"],"mappings":";;;;AAmFO,SAAAA,qBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAA0D,EAAA,MAAA;AAAA,IAAAC,KAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAGjC,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAG,OAAAA,EAAA;AACGC,IAAAA,EAAAA,GAAA;AAAA,MAAAD;AAAAA,KAAA;AAAWH,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA;AAA5C,EAAA,MAAA;AAAA,IAAAK;AAAAA,GAAA,GAAgBC,iBAAiBF,EAAW,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAP,CAAAA,QAAAG,OAAAA,EAAA;AAGlCI,IAAAA,EAAAA,GAAA,CAAC,yBAAyBJ,OAAO,CAAA;AAACH,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAR,CAAAA,QAAAK,GAAAA,EAAA;AACnCG,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC;AAAAA,OAAA,GAAAD,GAAAA;AACR,MAAA,MAAAE,SAAAA,GAAkBN,IAAGO,YAAAA,CAAA;AAAA,QAAAF;AAAAA,OAAwB,CAAA;AAAE,MAAA,OACxCC,SAAAA;AAAAA,KAAS;AACjBX,IAAAA,CAAAA,MAAAK,GAAAA;AAAAL,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA;AAKQ,EAAA,MAAAS,EAAAA,GAAAP,OAAKW,OAAAA,IAAA,IAAA;AAAiB,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAE,KAAAA,IAAAF,EAAA,CAAA,CAAA,KAAAO,EAAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAAQ,EAAAA,IAAAR,CAAAA,QAAAS,EAAAA,EAAA;AAVuCK,IAAAA,EAAAA,GAAA;AAAA,MAAAC,QAAAA,EAC5DR,EAAAA;AAAAA,MAAkCS,OAAAA,EACnCR,EAAAA;AAAAA,MAGRS,SAAAA,EAAAC,QAAAA;AAAAA,MAAAC,MAAAA,EAAAD,QAAAA;AAAAA,MAAA,GAIEhB,KAAAA;AAAAA,MAAKW,OAAAA,EACCJ;AAAAA,KAAsB;AAChCT,IAAAA,CAAAA,MAAAE,KAAAA;AAAAF,IAAAA,CAAAA,MAAAO,EAAAA;AAAAP,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAR,IAAAA,CAAAA,MAAAS,EAAAA;AAAAT,IAAAA,CAAAA,OAAAc,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,EAAA,CAAA;AAAA;AAAA,EAAA,OAXMoB,SAAiEN,EAWvE,CAAA;AAAC;;;;"}
|
|
@@ -7,16 +7,6 @@ import { useSwapSide } from '../../../components/widget/SwapModeSwitcher/state/s
|
|
|
7
7
|
import { useIsCrossChain } from '../../../widget/state/isCrosschainAtom.js';
|
|
8
8
|
import { useWidgetConfig } from '../../../widget/state/configAtom.js';
|
|
9
9
|
|
|
10
|
-
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
11
|
-
cache: /* @__PURE__ */ new Map(),
|
|
12
|
-
get(name, inst) {
|
|
13
|
-
if (this.cache.has(name)) {
|
|
14
|
-
return this.cache.get(name);
|
|
15
|
-
}
|
|
16
|
-
this.cache.set(name, inst);
|
|
17
|
-
return inst;
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
10
|
function usePricesParams() {
|
|
21
11
|
const $ = distExports.c(14);
|
|
22
12
|
const fromToken = useAtomValue(tokenFromAtom);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePricesParams.js","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"sourcesContent":["import { type RateParamsInput } from \"./market/queries/useMarketPriceQuery\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"@/widget/inputs/state/inputAmountAtom\";\nimport {\n tokenFromAtom,\n tokenToAtom,\n} from \"@/widget/inputs/state/selectedTokenAtom\";\nimport { useAtomValue } from \"jotai\";\nimport { useAccount } from \"wagmi\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useIsCrossChain } from \"@/widget/state/isCrosschainAtom\";\nimport { useWidgetConfig } from \"@/widget/state/configAtom\";\n\ntype FetchPriceParams = MarkRequired<\n MarkOptional<\n Pick<\n RateParamsInput,\n | \"srcToken\"\n | \"destToken\"\n | \"amount\"\n | \"userAddress\"\n | \"side\"\n | \"srcDecimals\"\n | \"destDecimals\"\n | \"partner\"\n | \"ignoreBadUsdPrice\"\n >,\n \"destToken\"\n >,\n \"srcDecimals\" | \"side\"\n>;\n// @TODO add other params from options:\n// exclude* for Safe if still needed, or if we want to allow exluding DEXs like in UI\n// tokenFees for tax tokens\n\nexport function usePricesParams(): {\n priceParams: FetchPriceParams;\n isCrossChain: boolean;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n} {\n const fromToken = useAtomValue(tokenFromAtom);\n const toToken = useAtomValue(tokenToAtom);\n\n const payAmountWei = useAtomValue(payInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveInputAmountWeiAtom) ?? \"0\";\n\n const { address } = useAccount();\n\n const widgetConfig = useWidgetConfig();\n\n const partner = widgetConfig.partner;\n\n const isCrossChain = useIsCrossChain();\n\n const side = useSwapSide();\n const amount = side === \"SELL\" ? payAmountWei : receiveAmountWei;\n\n const priceParams: FetchPriceParams = {\n srcToken: fromToken.address,\n destToken: toToken?.address,\n srcDecimals: fromToken.decimals,\n destDecimals: toToken?.decimals,\n side,\n amount,\n userAddress: address,\n partner,\n ignoreBadUsdPrice: false, // safer to ignore for all tokens to allow those without USD price\n };\n\n return {\n priceParams,\n isCrossChain,\n chainId: fromToken.network,\n destChainId: isCrossChain ? toToken?.network : undefined,\n };\n}\n"],"names":["usePricesParams","$","_c","fromToken","useAtomValue","tokenFromAtom","toToken","tokenToAtom","payAmountWei","payInputAmountWeiAtom","receiveAmountWei","receiveInputAmountWeiAtom","address","useAccount","widgetConfig","useWidgetConfig","partner","isCrossChain","useIsCrossChain","side","useSwapSide","amount","t0","t1","decimals","t2","srcToken","destToken","srcDecimals","destDecimals","userAddress","ignoreBadUsdPrice","priceParams","t3","network","undefined","t4","chainId","destChainId"],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePricesParams.js","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"sourcesContent":["import { type RateParamsInput } from \"./market/queries/useMarketPriceQuery\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"@/widget/inputs/state/inputAmountAtom\";\nimport {\n tokenFromAtom,\n tokenToAtom,\n} from \"@/widget/inputs/state/selectedTokenAtom\";\nimport { useAtomValue } from \"jotai\";\nimport { useAccount } from \"wagmi\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useIsCrossChain } from \"@/widget/state/isCrosschainAtom\";\nimport { useWidgetConfig } from \"@/widget/state/configAtom\";\n\ntype FetchPriceParams = MarkRequired<\n MarkOptional<\n Pick<\n RateParamsInput,\n | \"srcToken\"\n | \"destToken\"\n | \"amount\"\n | \"userAddress\"\n | \"side\"\n | \"srcDecimals\"\n | \"destDecimals\"\n | \"partner\"\n | \"ignoreBadUsdPrice\"\n >,\n \"destToken\"\n >,\n \"srcDecimals\" | \"side\"\n>;\n// @TODO add other params from options:\n// exclude* for Safe if still needed, or if we want to allow exluding DEXs like in UI\n// tokenFees for tax tokens\n\nexport function usePricesParams(): {\n priceParams: FetchPriceParams;\n isCrossChain: boolean;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n} {\n const fromToken = useAtomValue(tokenFromAtom);\n const toToken = useAtomValue(tokenToAtom);\n\n const payAmountWei = useAtomValue(payInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveInputAmountWeiAtom) ?? \"0\";\n\n const { address } = useAccount();\n\n const widgetConfig = useWidgetConfig();\n\n const partner = widgetConfig.partner;\n\n const isCrossChain = useIsCrossChain();\n\n const side = useSwapSide();\n const amount = side === \"SELL\" ? payAmountWei : receiveAmountWei;\n\n const priceParams: FetchPriceParams = {\n srcToken: fromToken.address,\n destToken: toToken?.address,\n srcDecimals: fromToken.decimals,\n destDecimals: toToken?.decimals,\n side,\n amount,\n userAddress: address,\n partner,\n ignoreBadUsdPrice: false, // safer to ignore for all tokens to allow those without USD price\n };\n\n return {\n priceParams,\n isCrossChain,\n chainId: fromToken.network,\n destChainId: isCrossChain ? toToken?.network : undefined,\n };\n}\n"],"names":["usePricesParams","$","_c","fromToken","useAtomValue","tokenFromAtom","toToken","tokenToAtom","payAmountWei","payInputAmountWeiAtom","receiveAmountWei","receiveInputAmountWeiAtom","address","useAccount","widgetConfig","useWidgetConfig","partner","isCrossChain","useIsCrossChain","side","useSwapSide","amount","t0","t1","decimals","t2","srcToken","destToken","srcDecimals","destDecimals","userAddress","ignoreBadUsdPrice","priceParams","t3","network","undefined","t4","chainId","destChainId"],"mappings":"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"}
|
|
@@ -3,23 +3,12 @@ import { useMarketPriceQuery } from './market/queries/useMarketPriceQuery.js';
|
|
|
3
3
|
import { usePricesParams } from './usePricesParams.js';
|
|
4
4
|
import { useDeltaPriceQuery } from './delta/queries/useDeltaPriceQuery.js';
|
|
5
5
|
import { swapModeAtom } from '../../../components/widget/SwapModeSwitcher/state/swapModeAtom.js';
|
|
6
|
-
import '../../../components/widget/SwapModeSwitcher/state/types.js';
|
|
7
6
|
import { useAtomValue } from 'jotai';
|
|
8
7
|
import { useGlobalDeltaEnabled } from '../../useGlobalDeltaEnabled.js';
|
|
9
8
|
import { useRef } from 'react';
|
|
10
9
|
import { isETH } from '../../../tokens/utils/eth.js';
|
|
11
10
|
import { wrappedNativeCurrency } from '../../../lib/constants/weth.js';
|
|
12
11
|
|
|
13
|
-
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
14
|
-
cache: /* @__PURE__ */ new Map(),
|
|
15
|
-
get(name, inst) {
|
|
16
|
-
if (this.cache.has(name)) {
|
|
17
|
-
return this.cache.get(name);
|
|
18
|
-
}
|
|
19
|
-
this.cache.set(name, inst);
|
|
20
|
-
return inst;
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
12
|
const PRICE_REFETCH_INTERVAL = 5e3;
|
|
24
13
|
function useSwapPrices(params = {}) {
|
|
25
14
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSwapPrices.js","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"./market/queries/useMarketPriceQuery\";\nimport { usePricesParams } from \"./usePricesParams\";\nimport { useDeltaPriceQuery } from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"jotai\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { useRef } from \"react\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\n\nconst PRICE_REFETCH_INTERVAL = 5000; // 5 seconds\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } = usePricesParams();\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isBUY = priceParams.side === \"BUY\";\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // SELL side only\n priceParams.side === \"SELL\" &&\n // use selected Delta\n swapMode === \"delta\";\n // @TODO add BUY support for Delta when available\n\n // Delta /prices errors when srcToken=ETH;\n // we will pre-wrap ETH->WETH before Swap anyway;\n // be careful not to use deltaPrices.srcToken with the assumption that (tokenFrom=ETH) !== (deltaPrices.srcToken=WETH)\n const srcTokenForDelta = isETH({ address: priceParams.srcToken })\n ? wrappedNativeCurrency[chainId]\n : priceParams.srcToken;\n\n const deltaPriceQuery = useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n srcToken: srcTokenForDelta,\n },\n chainId,\n destChainId,\n timeout: 5000,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n // keep track if last result was error\n const deltaErrorRef = useRef(deltaPriceQuery.error);\n // by itself isError resets when fetching\n if (deltaPriceQuery.error) deltaErrorRef.current = deltaPriceQuery.error;\n // keep errorRef untill delta succeeds\n if (deltaPriceQuery.isSuccess) deltaErrorRef.current = null;\n\n const deltaError = deltaErrorRef.current;\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n\n const marketIsFallback = deltaError && marketEnabled;\n\n // @TODO remove isBUY once BUY is supported for Delta\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled || isBUY;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaError\n ? // frequent updates for Market price\n PRICE_REFETCH_INTERVAL\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL;\n\n const marketPriceQuery = useMarketPriceQuery({\n priceParams,\n chainId,\n timeout: 5000,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n retry: false,\n },\n });\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n isError: marketPriceQuery.isError,\n error: marketPriceQuery.error,\n },\n delta: {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n isError: deltaPriceQuery.isError,\n error: deltaError,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n} & (\n | {\n priceMode: \"market\";\n price?: OptimalRate;\n }\n | {\n priceMode: \"delta\";\n price?: DeltaPrice | BridgePrice;\n }\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n isLoading: market.isLoading,\n isError: market.isError,\n error: market.error,\n };\n }\n\n return {\n priceMode,\n price: delta.price,\n isLoading: delta.isLoading,\n isError: delta.isError,\n error: delta.error,\n };\n}\n"],"names":["PRICE_REFETCH_INTERVAL","useSwapPrices","params","priceParams","isCrossChain","chainId","destChainId","usePricesParams","swapMode","useAtomValue","swapModeAtom","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","useGlobalDeltaEnabled","fetchAnyPrice","amount","destToken","isBUY","side","deltaEnabled","srcTokenForDelta","isETH","address","srcToken","wrappedNativeCurrency","deltaPriceQuery","useDeltaPriceQuery","timeout","query","enabled","refetchInterval","retry","deltaErrorRef","useRef","error","current","isSuccess","deltaError","marketEnabled","marketIsFallback","marketIsMainMode","priceMode","marketRefetchInterval","marketPriceQuery","useMarketPriceQuery","userSelectedPriceMode","market","price","data","isLoading","isError","delta","useCurrentSwapPrice","t0","$","_c","t1","undefined","t2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSwapPrices.js","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"./market/queries/useMarketPriceQuery\";\nimport { usePricesParams } from \"./usePricesParams\";\nimport { useDeltaPriceQuery } from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"jotai\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { useRef } from \"react\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\n\nconst PRICE_REFETCH_INTERVAL = 5000; // 5 seconds\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } = usePricesParams();\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isBUY = priceParams.side === \"BUY\";\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // SELL side only\n priceParams.side === \"SELL\" &&\n // use selected Delta\n swapMode === \"delta\";\n // @TODO add BUY support for Delta when available\n\n // Delta /prices errors when srcToken=ETH;\n // we will pre-wrap ETH->WETH before Swap anyway;\n // be careful not to use deltaPrices.srcToken with the assumption that (tokenFrom=ETH) !== (deltaPrices.srcToken=WETH)\n const srcTokenForDelta = isETH({ address: priceParams.srcToken })\n ? wrappedNativeCurrency[chainId]\n : priceParams.srcToken;\n\n const deltaPriceQuery = useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n srcToken: srcTokenForDelta,\n },\n chainId,\n destChainId,\n timeout: 5000,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n // keep track if last result was error\n const deltaErrorRef = useRef(deltaPriceQuery.error);\n // by itself isError resets when fetching\n if (deltaPriceQuery.error) deltaErrorRef.current = deltaPriceQuery.error;\n // keep errorRef untill delta succeeds\n if (deltaPriceQuery.isSuccess) deltaErrorRef.current = null;\n\n const deltaError = deltaErrorRef.current;\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n\n const marketIsFallback = deltaError && marketEnabled;\n\n // @TODO remove isBUY once BUY is supported for Delta\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled || isBUY;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaError\n ? // frequent updates for Market price\n PRICE_REFETCH_INTERVAL\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL;\n\n const marketPriceQuery = useMarketPriceQuery({\n priceParams,\n chainId,\n timeout: 5000,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n retry: false,\n },\n });\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n isError: marketPriceQuery.isError,\n error: marketPriceQuery.error,\n },\n delta: {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n isError: deltaPriceQuery.isError,\n error: deltaError,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n} & (\n | {\n priceMode: \"market\";\n price?: OptimalRate;\n }\n | {\n priceMode: \"delta\";\n price?: DeltaPrice | BridgePrice;\n }\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n isLoading: market.isLoading,\n isError: market.isError,\n error: market.error,\n };\n }\n\n return {\n priceMode,\n price: delta.price,\n isLoading: delta.isLoading,\n isError: delta.isError,\n error: delta.error,\n };\n}\n"],"names":["PRICE_REFETCH_INTERVAL","useSwapPrices","params","priceParams","isCrossChain","chainId","destChainId","usePricesParams","swapMode","useAtomValue","swapModeAtom","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","useGlobalDeltaEnabled","fetchAnyPrice","amount","destToken","isBUY","side","deltaEnabled","srcTokenForDelta","isETH","address","srcToken","wrappedNativeCurrency","deltaPriceQuery","useDeltaPriceQuery","timeout","query","enabled","refetchInterval","retry","deltaErrorRef","useRef","error","current","isSuccess","deltaError","marketEnabled","marketIsFallback","marketIsMainMode","priceMode","marketRefetchInterval","marketPriceQuery","useMarketPriceQuery","userSelectedPriceMode","market","price","data","isLoading","isError","delta","useCurrentSwapPrice","t0","$","_c","t1","undefined","t2"],"mappings":"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"}
|
|
@@ -2,16 +2,6 @@ import { d as distExports } from '../../../_virtual/index.js';
|
|
|
2
2
|
import { useCurrentSwapPrice } from './useSwapPrices.js';
|
|
3
3
|
import { useSwapSide } from '../../../components/widget/SwapModeSwitcher/state/swapSideAtom.js';
|
|
4
4
|
|
|
5
|
-
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
6
|
-
cache: /* @__PURE__ */ new Map(),
|
|
7
|
-
get(name, inst) {
|
|
8
|
-
if (this.cache.has(name)) {
|
|
9
|
-
return this.cache.get(name);
|
|
10
|
-
}
|
|
11
|
-
this.cache.set(name, inst);
|
|
12
|
-
return inst;
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
5
|
function useTokenInputsFromPrice() {
|
|
16
6
|
const $ = distExports.c(10);
|
|
17
7
|
const currentSwapPrice = useCurrentSwapPrice();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokenInputsFromPrice.js","sources":["../../../../src/hooks/swap/prices/useTokenInputsFromPrice.ts"],"sourcesContent":["import { useCurrentSwapPrice } from \"./useSwapPrices\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\n\ntype UseTokenInputsFromPriceReturn = {\n tokenFromAmount?: {\n amountWei?: string;\n };\n tokenToAmount?: {\n amountWei?: string;\n };\n} & ReturnType<typeof useCurrentSwapPrice>;\n\nexport function useTokenInputsFromPrice(): UseTokenInputsFromPriceReturn {\n const currentSwapPrice = useCurrentSwapPrice();\n\n const side = useSwapSide();\n\n // tokenFrom input amount is driven by price when BUYing\n const tokenFromAmount =\n side === \"BUY\"\n ? {\n amountWei: currentSwapPrice.price?.srcAmount,\n }\n : undefined;\n\n // tokenTo input amount is driven by price when SELLing\n const tokenToAmount =\n side === \"SELL\"\n ? {\n amountWei:\n // following the API return type, we should show different amounts for delta and market prices in tokenTo input\n currentSwapPrice.priceMode === \"delta\"\n ? currentSwapPrice.price?.destAmountBeforeFee // delta has separate destAmountBeforeFee\n : currentSwapPrice.price?.destAmount, // for market, price.destAmount is amount before fee\n }\n : undefined;\n\n return {\n tokenFromAmount,\n tokenToAmount,\n ...currentSwapPrice,\n };\n}\n"],"names":["useTokenInputsFromPrice","$","_c","currentSwapPrice","useCurrentSwapPrice","side","useSwapSide","t0","amountWei","price","srcAmount","undefined","tokenFromAmount","t1","priceMode","destAmountBeforeFee","destAmount","tokenToAmount","t2"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useTokenInputsFromPrice.js","sources":["../../../../src/hooks/swap/prices/useTokenInputsFromPrice.ts"],"sourcesContent":["import { useCurrentSwapPrice } from \"./useSwapPrices\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\n\ntype UseTokenInputsFromPriceReturn = {\n tokenFromAmount?: {\n amountWei?: string;\n };\n tokenToAmount?: {\n amountWei?: string;\n };\n} & ReturnType<typeof useCurrentSwapPrice>;\n\nexport function useTokenInputsFromPrice(): UseTokenInputsFromPriceReturn {\n const currentSwapPrice = useCurrentSwapPrice();\n\n const side = useSwapSide();\n\n // tokenFrom input amount is driven by price when BUYing\n const tokenFromAmount =\n side === \"BUY\"\n ? {\n amountWei: currentSwapPrice.price?.srcAmount,\n }\n : undefined;\n\n // tokenTo input amount is driven by price when SELLing\n const tokenToAmount =\n side === \"SELL\"\n ? {\n amountWei:\n // following the API return type, we should show different amounts for delta and market prices in tokenTo input\n currentSwapPrice.priceMode === \"delta\"\n ? currentSwapPrice.price?.destAmountBeforeFee // delta has separate destAmountBeforeFee\n : currentSwapPrice.price?.destAmount, // for market, price.destAmount is amount before fee\n }\n : undefined;\n\n return {\n tokenFromAmount,\n tokenToAmount,\n ...currentSwapPrice,\n };\n}\n"],"names":["useTokenInputsFromPrice","$","_c","currentSwapPrice","useCurrentSwapPrice","side","useSwapSide","t0","amountWei","price","srcAmount","undefined","tokenFromAmount","t1","priceMode","destAmountBeforeFee","destAmount","tokenToAmount","t2"],"mappings":";;;;AAYO,SAAAA,uBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AACL,EAAA,MAAAC,mBAAyBC,mBAAAA,EAAoB;AAE7C,EAAA,MAAAC,OAAaC,WAAAA,EAAY;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAN,EAAA,CAAA,CAAA,KAAAE,oBAAAF,CAAAA,QAAAI,IAAAA,EAAA;AAIzBE,IAAAA,EAAAA,GAAAF,SAAS,KAAA,GAAK;AAAA,MAAAG,SAAAA,EAEGL,iBAAgBM,KAAAA,EAAAC;AAAAA,KAAA,GAAAC,MAAAA;AAEpBV,IAAAA,CAAAA,MAAAE,gBAAAA;AAAAF,IAAAA,CAAAA,MAAAI,IAAAA;AAAAJ,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA;AALf,EAAA,MAAAW,eAAAA,GACEL,EAAAA;AAIc,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAZ,EAAA,CAAA,CAAA,KAAAE,oBAAAF,CAAAA,QAAAI,IAAAA,EAAA;AAIdQ,IAAAA,EAAAA,GAAAR,SAAS,MAAA,GAAM;AAAA,MAAAG,SAAAA,EAIPL,iBAAgBW,SAAAA,KAAe,OAAA,GAC3BX,iBAAgBM,KAAAA,EAAAM,mBAAAA,GAChBZ,iBAAgBM,KAAAA,EAAAO;AAAAA,KAAkB,GAAAL,MAAAA;AAEjCV,IAAAA,CAAAA,MAAAE,gBAAAA;AAAAF,IAAAA,CAAAA,MAAAI,IAAAA;AAAAJ,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA;AATf,EAAA,MAAAgB,aAAAA,GACEJ,EAAAA;AAQc,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAjB,CAAAA,CAAA,CAAA,CAAA,KAAAE,gBAAAA,IAAAF,CAAAA,QAAAW,eAAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAgB,aAAAA,EAAA;AAETC,IAAAA,EAAAA,GAAA;AAAA,MAAAN,eAAAA;AAAAA,MAAAK,aAAAA;AAAAA,MAAA,GAGFd;AAAAA,KAAgB;AACpBF,IAAAA,CAAAA,MAAAE,gBAAAA;AAAAF,IAAAA,CAAAA,MAAAW,eAAAA;AAAAX,IAAAA,CAAAA,MAAAgB,aAAAA;AAAAhB,IAAAA,CAAAA,MAAAiB,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjB,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,OAJMiB,EAAAA;AAIN;;;;"}
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
2
|
-
cache: /* @__PURE__ */ new Map(),
|
|
3
|
-
get(name, inst) {
|
|
4
|
-
if (this.cache.has(name)) {
|
|
5
|
-
return this.cache.get(name);
|
|
6
|
-
}
|
|
7
|
-
this.cache.set(name, inst);
|
|
8
|
-
return inst;
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
1
|
class UserCancelledError extends Error {
|
|
12
2
|
constructor(message = "User cancelled request") {
|
|
13
3
|
super(message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/errors.ts"],"sourcesContent":["export class UserCancelledError extends Error {\n constructor(message: string = \"User cancelled request\") {\n super(message);\n this.name = \"UserCancelledError\";\n\n // Capture stack trace, excluding the constructor call\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, UserCancelledError);\n }\n }\n}\n\nexport function isUserCancelledError(\n error: unknown\n): error is UserCancelledError {\n return error instanceof UserCancelledError;\n}\n"],"names":["UserCancelledError","Error","constructor","message","name","captureStackTrace","isUserCancelledError","error"],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/errors.ts"],"sourcesContent":["export class UserCancelledError extends Error {\n constructor(message: string = \"User cancelled request\") {\n super(message);\n this.name = \"UserCancelledError\";\n\n // Capture stack trace, excluding the constructor call\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, UserCancelledError);\n }\n }\n}\n\nexport function isUserCancelledError(\n error: unknown\n): error is UserCancelledError {\n return error instanceof UserCancelledError;\n}\n"],"names":["UserCancelledError","Error","constructor","message","name","captureStackTrace","isUserCancelledError","error"],"mappings":"AAAO,MAAMA,2BAA2BC,KAAAA,CAAM;AAAA,EAC5CC,WAAAA,CAAYC,UAAkB,wBAAA,EAA0B;AACtD,IAAA,KAAA,CAAMA,OAAO,CAAA;AACb,IAAA,IAAA,CAAKC,IAAAA,GAAO,oBAAA;AAGZ,IAAA,IAAIH,MAAMI,iBAAAA,EAAmB;AAC3BJ,MAAAA,KAAAA,CAAMI,iBAAAA,CAAkB,MAAML,kBAAkB,CAAA;AAAA;AAClD;AAEJ;AAEO,SAASM,qBACdC,KAAAA,EAC6B;AAC7B,EAAA,OAAOA,KAAAA,YAAiBP,kBAAAA;AAC1B;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { d as distExports } from '../../../_virtual/index.js';
|
|
2
2
|
import { useGenericTokenAllowanceMin } from '../../tokens/allowance/useGenericTokenAllowance.js';
|
|
3
|
-
import '../../txs/
|
|
3
|
+
import { useApprove } from '../../txs/mutations/useApprove.js';
|
|
4
|
+
import { useAwaitTx, useEnsureTxReceipt } from '../../txs/queries/useAwaitTx.js';
|
|
4
5
|
import { useChainId, useAccount } from 'wagmi';
|
|
5
6
|
import { assert } from 'ts-essentials';
|
|
6
|
-
import { useAwaitTx, useEnsureTxReceipt } from '../../txs/queries/useAwaitTx.js';
|
|
7
7
|
import { useCreateDeltaOrder } from '../prices/delta/mutations/useCreateDeltaOrder.js';
|
|
8
8
|
import { useMinViemClient } from '../../useMinViemClient.js';
|
|
9
9
|
import { useWatchDeltaAuction, useEnsureDeltaOrderExecuted } from '../prices/delta/queries/useWatchDeltaOrder.js';
|
|
@@ -17,18 +17,7 @@ import { UserCancelledError } from './common/errors.js';
|
|
|
17
17
|
import { useReceiverAddressValue } from '../../../components/widget/ReceiverAddress/state/receiverAddressAtom.js';
|
|
18
18
|
import { useIsContractAtAddress } from '../../getCode/useIsContractAtAddress.js';
|
|
19
19
|
import { useSignTokenPermit1, useMarkPermit1NonceAsUsed } from '../../permit/hooks/useSignTokenFromPermit1.js';
|
|
20
|
-
import { useApprove } from '../../txs/mutations/useApprove.js';
|
|
21
20
|
|
|
22
|
-
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
23
|
-
cache: /* @__PURE__ */ new Map(),
|
|
24
|
-
get(name, inst) {
|
|
25
|
-
if (this.cache.has(name)) {
|
|
26
|
-
return this.cache.get(name);
|
|
27
|
-
}
|
|
28
|
-
this.cache.set(name, inst);
|
|
29
|
-
return inst;
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
21
|
const DELTA_ORDER_MUTATION_KEY = "runDeltaOrderFlow";
|
|
33
22
|
function useDeltaFlow(t0) {
|
|
34
23
|
const $ = distExports.c(124);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeltaFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"sourcesContent":["import { useGenericTokenAllowanceMin } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useApprove, useAwaitTx } from \"@/hooks/txs\";\nimport type { BridgePrice, DeltaPrice } from \"@velora-dex/sdk\";\nimport { 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 { DeltaOrderFromAPI } from \"../prices/delta/queries/useDeltaOrders\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { useCreateDeltaOrder } from \"../prices/delta/mutations/useCreateDeltaOrder\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useEnsureDeltaOrderExecuted,\n useWatchDeltaAuction,\n type MaybeVeloraDeltaAuction,\n} from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport { applySlippage } from \"@/lib/utils/price\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useInvalidateTokenDataQuery } from \"@/hooks/tokens/balances/useInvalidateTokenData\";\nimport { UserCancelledError } from \"./common/errors\";\nimport { useReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsContractAtAddress } from \"@/hooks/getCode/useIsContractAtAddress\";\nimport type { OrderSentObject, TxSentObject } from \"@/lib/utils/toasts\";\nimport {\n useMarkPermit1NonceAsUsed,\n useSignTokenPermit1,\n type SignedPermitResult,\n} from \"@/hooks/permit/hooks/useSignTokenFromPermit1\";\n\nexport type UseDeltaFlowInput = {\n deltaPrice?: DeltaPrice | BridgePrice;\n};\n\nexport type SubmitDeltaOrderResult = {\n tradeFlowType: \"deltaOrder\";\n approve: SubmitTxResult;\n deltaOrder: {\n sentOrder: DeltaOrderFromAPI;\n lastOrderState: MaybeVeloraDeltaAuction;\n };\n deltaPrice: DeltaPrice | BridgePrice;\n account: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject) => void;\n\ntype OnOrderSent = (orderSent: OrderSentObject) => void;\n\n// @TODO instead add global onTxSent subscription to\n// MutationCache({onSuccess: txHash}) when sent\n// and QueryCache({onSuccess: txReceipt|Order executed}) when mined,\n// maybe??\ntype RunDeltaOrderOptions = {\n onTxSent?: OnTxSent;\n onOrderSent?: OnOrderSent;\n};\n\nexport type UseDeltaFlowResult = {\n chainId: SupportedChainId;\n runDeltaOrderFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n deltaOrderSubmission: {\n order?: DeltaOrderFromAPI;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n deltaOrderExecution: {\n sentOrder?: DeltaOrderFromAPI;\n lastOrderState?: MaybeVeloraDeltaAuction;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitDeltaOrderResult;\n};\n\nconst DELTA_ORDER_MUTATION_KEY = \"runDeltaOrderFlow\";\n\nexport function useDeltaFlow({\n deltaPrice,\n}: UseDeltaFlowInput): UseDeltaFlowResult {\n const chainId = useChainId();\n\n /* 1. Get allowance for tokenFrom */\n\n const allowance = useGenericTokenAllowanceMin({\n tokenAddress: deltaPrice?.srcToken,\n amountToApproveInWei: deltaPrice?.srcAmount,\n spenderContractType: \"ParaswapDelta\",\n chainId,\n });\n\n /* 2.1. submit Approve tx if necessary */\n\n const approveTxMut = useApprove({\n token: deltaPrice?.srcToken ? { address: deltaPrice.srcToken } : undefined,\n allowanceData: { allowanceToSet: allowance.allowanceToSet },\n spender: allowance.spender,\n onSuccess: () => {\n console.log(\"Approve tx success\");\n },\n onError: (error) => {\n console.error(\"Approve tx error\", error);\n },\n });\n\n /* 2.2. sign Permit1 */\n\n const signPermit1Mut = useSignTokenPermit1({\n token: {\n address: deltaPrice?.srcToken as Address,\n network: chainId,\n },\n value: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n enabled: allowance.needsApproval,\n onSuccess: (signature) => {\n console.log(\"Permit1 signature\", signature);\n },\n onError: (error) => {\n console.error(\"Permit1 error\", error);\n },\n });\n\n const signPermit: UseDeltaFlowResult[\"signPermit\"] = {\n isPermitSupported: signPermit1Mut.isPermitSupported,\n isPermitReadyToSign: signPermit1Mut.isPermitReadyToSign,\n amountToPermit: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n isLoadingPermitData: signPermit1Mut.permitFetchingState.isPending,\n isSigningPermit: signPermit1Mut.permitSigningState.isPending,\n isPermitSigned: signPermit1Mut.permitSigningState.isSuccess,\n signature: signPermit1Mut.signature,\n permitEncodedArgs: signPermit1Mut.permit1EncodedArgs,\n isPending: signPermit1Mut.isPending,\n isSuccess: signPermit1Mut.isSuccess,\n isError: signPermit1Mut.isError,\n error: signPermit1Mut.error,\n };\n\n /* 3. await Approve tx */\n const approveTxMined = useAwaitTx({\n hash: approveTxMut.txHash,\n chainId,\n });\n\n const approval: UseDeltaFlowResult[\"approval\"] = {\n /* allowance fetching */\n needsApproval: allowance.needsApproval,\n allowanceToSet: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n txHash: approveTxMut.txHash,\n receipt: approveTxMined.data,\n isLoadingAllowance: allowance.isLoadingPrerequisites,\n /* tx sending */\n isConfirmingTX: approveTxMut.isPending,\n isTxSent: approveTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: approveTxMined.isLoading,\n isTxMined: approveTxMined.isSuccess,\n /* combined */\n isPending:\n allowance.needsApproval &&\n (approveTxMut.isPending || approveTxMined.isLoading),\n isError:\n allowance.needsApproval &&\n (approveTxMut.isError || approveTxMined.isError),\n isSuccess: !allowance.needsApproval || approveTxMined.isSuccess, // final success\n error: allowance.needsApproval\n ? approveTxMut.error || approveTxMined.error\n : null,\n };\n\n /* 4. Build and Submit Delta Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const createOrderMut = useCreateDeltaOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n console.log(\"Create Delta Order success\", order);\n },\n onError: (error) => {\n console.error(\"Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderSubmission: UseDeltaFlowResult[\"deltaOrderSubmission\"] = {\n order: createOrderMut.data,\n isCreatingOrder: createOrderMut.isPending,\n isOrderSent: createOrderMut.isSuccess,\n isPending: createOrderMut.isPending,\n isError: createOrderMut.isError,\n isSuccess: createOrderMut.isSuccess,\n error: createOrderMut.error,\n };\n\n /* 5. await Order execution */\n\n const watchOrderExecution = useWatchDeltaAuction({\n orderId: createOrderMut.data?.id,\n onAuctionSuccess: (order) => {\n console.log(\"Delta Order success\", order);\n },\n onAuctionFailure: (order) => {\n console.log(\"Delta Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n console.log(\"Delta Order updated\", order);\n },\n onTimeoutGettingOrder: (order) => {\n console.log(\"Delta Order timeout\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n // refetching stops after one minute of not finding an order (order==null)\n const neverFetchedFinishedOrder =\n watchOrderExecution.data === null && watchOrderExecution.isSuccess;\n\n const deltaOrderExecution: UseDeltaFlowResult[\"deltaOrderExecution\"] = {\n sentOrder: createOrderMut.data,\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:\n watchOrderExecution.isError ||\n orderStatus === \"failed\" ||\n neverFetchedFinishedOrder,\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const ensureOrderExecuted = useEnsureDeltaOrderExecuted();\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 receiverAddress = useReceiverAddressValue();\n\n const destChainId =\n deltaPrice && \"bridge\" in deltaPrice\n ? deltaPrice.bridge.destinationChainId\n : chainId;\n\n const { data: isContractAtAddress } = useIsContractAtAddress({\n address: receiverAddress,\n chainId: destChainId as SupportedChainId,\n });\n\n const { resolvedSlippage } = useSlippage();\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1NonceAsUsed({\n chainId,\n });\n\n const submitDeltaOrder = async ({\n onTxSent,\n onOrderSent,\n }: RunDeltaOrderOptions = {}): Promise<SubmitDeltaOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermit1Mut.reset();\n createOrderMut.reset();\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n if (approval.needsApproval) {\n if (!signPermit.isPermitSupported || !signPermit.isPermitReadyToSign) {\n approveTxHash = await approveTxMut.approveAsync();\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 console.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n txHash: approveTxHash,\n actionType: \"approve\",\n receiptPromise: approveTxReceiptPromise,\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n console.log(\"🚀 ~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n } else {\n // sign Permit1\n signedPermitResult = await signPermit1Mut.signPermit1Async();\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n assert(deltaPrice, \"Delta price is not available\");\n\n const beneficiaryType = receiverAddress\n ? isContractAtAddress\n ? \"SmartContract\"\n : \"EOA\"\n : undefined;\n\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: deltaPrice.srcAmount,\n destAmount: deltaPrice.destAmount,\n },\n resolvedSlippage,\n \"SELL\" // @TODO add BUY support for Delta when available\n );\n\n const orderFromAPI = await createOrderMut.mutateAsync({\n // partner: \"\" // @TODO fill in when available\n signal,\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n beneficiaryType,\n srcToken: deltaPrice.srcToken,\n destToken: deltaPrice.destToken,\n permit: signedPermitResult?.permit1EncodedArgs,\n destChainId:\n \"bridge\" in deltaPrice\n ? deltaPrice.bridge.destinationChainId\n : undefined,\n deltaPrice,\n // @TODO if necessary to support add more params\n // partner: \"\", // @TODO fill in when available\n ...amountsAfterSlippage,\n },\n });\n\n // Order is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n try {\n // this func won't refetch on interval to check Order.status changes,\n // will just return very first fetch result.\n // but useWatchDeltaAuction will correctly await an order execution\n const lastOrderStatePromise = ensureOrderExecuted({\n orderId: orderFromAPI.id,\n // signal, // fails the toast if aborted\n });\n\n if (onOrderSent) {\n onOrderSent({\n order: orderFromAPI,\n lastOrderState: lastOrderStatePromise,\n });\n }\n\n const lastOrderState = await lastOrderStatePromise;\n\n // no use aborting past this point, Order is already being processed\n\n // @TODO check if we need to see if receipt.status === \"reverted\" and trhow,\n // or if waitForTransactionReceipt already throws on such receipts\n\n // @TODO try catch, handle errors, refetch allowance and balance in finally\n\n return {\n tradeFlowType: \"deltaOrder\",\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n deltaOrder: {\n sentOrder: orderFromAPI,\n lastOrderState,\n },\n deltaPrice,\n // @TODO add whatever else may be relevant\n account,\n };\n } catch (error) {\n // Order failed, we can't be sure if nonce can be reused or it was incremented in a different Order\n // or even a Market swap tx in the meantime\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n throw error;\n }\n };\n\n const invalidateTokenData = useInvalidateTokenDataQuery();\n\n const deltaOrderMut = useMutation({\n mutationFn: submitDeltaOrder,\n mutationKey: [DELTA_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n console.log(\"Delta Order success\", data);\n },\n onError: (error) => {\n console.error(\"Delta Order error\", error);\n },\n onSettled: () => {\n console.log(\"Delta Order settled, invalidating balances and allowances\");\n invalidateTokenData({ nonces: true });\n },\n });\n\n const reset = () => {\n approveTxMut.reset();\n signPermit1Mut.reset();\n createOrderMut.reset();\n deltaOrderMut.reset();\n };\n\n /* 7. return result */\n return {\n chainId,\n runDeltaOrderFlow: deltaOrderMut.mutateAsync,\n reset,\n cancelFlow,\n approval,\n signPermit,\n deltaOrderSubmission,\n deltaOrderExecution,\n // deltaOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: deltaOrderMut.isPending,\n isSuccess: deltaOrderSubmission.isSuccess && deltaOrderExecution.isSuccess, // approval is an optional step\n isError: deltaOrderMut.isError,\n error: deltaOrderMut.error,\n result: deltaOrderMut.data,\n };\n}\n"],"names":["DELTA_ORDER_MUTATION_KEY","useDeltaFlow","t0","$","_c","deltaPrice","chainId","useChainId","t1","srcToken","t2","srcAmount","t3","tokenAddress","amountToApproveInWei","spenderContractType","allowance","useGenericTokenAllowanceMin","t4","address","undefined","t5","allowanceToSet","t6","spender","token","allowanceData","onSuccess","_temp","onError","_temp2","approveTxMut","useApprove","t7","t8","network","t9","t10","needsApproval","value","enabled","_temp3","_temp4","signPermit1Mut","useSignTokenPermit1","t11","t12","error","isError","isPending","isPermitReadyToSign","isPermitSupported","isSuccess","permit1EncodedArgs","permitFetchingState","permitSigningState","signature","amountToPermit","isLoadingPermitData","isSigningPermit","isPermitSigned","permitEncodedArgs","signPermit","t13","txHash","hash","approveTxMined","useAwaitTx","t14","t15","isLoading","t16","t17","t18","t19","isLoadingPrerequisites","data","receipt","isLoadingAllowance","isConfirmingTX","isTxSent","isTxPending","isTxMined","approval","account","useAccount","t20","minClient","useMinViemClient","t21","Symbol","for","_temp5","_temp6","t22","client","mutationOptions","createOrderMut","useCreateDeltaOrder","t23","order","isCreatingOrder","isOrderSent","deltaOrderSubmission","t24","id","t25","orderId","onAuctionSuccess","_temp7","onAuctionFailure","_temp8","onUpdatedAuction","_temp9","onTimeoutGettingOrder","_temp0","watchOrderExecution","useWatchDeltaAuction","orderStatus","getOverallOrderStatus","neverFetchedFinishedOrder","t26","t27","t28","t29","isRefetching","t30","t31","t32","sentOrder","lastOrderState","isOrderPending","isOrderExecuting","isOrderExecuted","deltaOrderExecution","ensureOrderExecuted","useEnsureDeltaOrderExecuted","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","t33","current","abort","UserCancelledError","cancelFlow","receiverAddress","useReceiverAddressValue","destChainId","bridge","destinationChainId","t34","t35","isContractAtAddress","useIsContractAtAddress","resolvedSlippage","useSlippage","t36","markNonceAsUsed","clearNonce","useMarkPermit1NonceAsUsed","t37","t38","onTxSent","onOrderSent","reset","abortController","AbortController","signal","signedPermitResult","approveTxHash","approveTxReceipt","approveAsync","throwIfAborted","approveTxReceiptPromise","onReplaced","console","log","actionType","receiptPromise","signPermit1Async","assert","beneficiaryType","amountsAfterSlippage","applySlippage","destAmount","orderFromAPI","mutateAsync","orderInput","owner","beneficiary","destToken","permit","signedPermitData","lastOrderStatePromise","tradeFlowType","approve","deltaOrder","t39","submitDeltaOrder","invalidateTokenData","useInvalidateTokenDataQuery","nonces","t40","mutationFn","mutationKey","_temp1","_temp10","onSettled","deltaOrderMut","useMutation","t41","t42","t43","runDeltaOrderFlow","result","error_3","data_0","order_3","order_2","order_1","order_0","error_1","error_0"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useDeltaFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"sourcesContent":["import { useGenericTokenAllowanceMin } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useApprove, useAwaitTx } from \"@/hooks/txs\";\nimport type { BridgePrice, DeltaPrice } from \"@velora-dex/sdk\";\nimport { 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 { DeltaOrderFromAPI } from \"../prices/delta/queries/useDeltaOrders\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { useCreateDeltaOrder } from \"../prices/delta/mutations/useCreateDeltaOrder\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useEnsureDeltaOrderExecuted,\n useWatchDeltaAuction,\n type MaybeVeloraDeltaAuction,\n} from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport { applySlippage } from \"@/lib/utils/price\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useInvalidateTokenDataQuery } from \"@/hooks/tokens/balances/useInvalidateTokenData\";\nimport { UserCancelledError } from \"./common/errors\";\nimport { useReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsContractAtAddress } from \"@/hooks/getCode/useIsContractAtAddress\";\nimport type { OrderSentObject, TxSentObject } from \"@/lib/utils/toasts\";\nimport {\n useMarkPermit1NonceAsUsed,\n useSignTokenPermit1,\n type SignedPermitResult,\n} from \"@/hooks/permit/hooks/useSignTokenFromPermit1\";\n\nexport type UseDeltaFlowInput = {\n deltaPrice?: DeltaPrice | BridgePrice;\n};\n\nexport type SubmitDeltaOrderResult = {\n tradeFlowType: \"deltaOrder\";\n approve: SubmitTxResult;\n deltaOrder: {\n sentOrder: DeltaOrderFromAPI;\n lastOrderState: MaybeVeloraDeltaAuction;\n };\n deltaPrice: DeltaPrice | BridgePrice;\n account: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject) => void;\n\ntype OnOrderSent = (orderSent: OrderSentObject) => void;\n\n// @TODO instead add global onTxSent subscription to\n// MutationCache({onSuccess: txHash}) when sent\n// and QueryCache({onSuccess: txReceipt|Order executed}) when mined,\n// maybe??\ntype RunDeltaOrderOptions = {\n onTxSent?: OnTxSent;\n onOrderSent?: OnOrderSent;\n};\n\nexport type UseDeltaFlowResult = {\n chainId: SupportedChainId;\n runDeltaOrderFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n deltaOrderSubmission: {\n order?: DeltaOrderFromAPI;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n deltaOrderExecution: {\n sentOrder?: DeltaOrderFromAPI;\n lastOrderState?: MaybeVeloraDeltaAuction;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitDeltaOrderResult;\n};\n\nconst DELTA_ORDER_MUTATION_KEY = \"runDeltaOrderFlow\";\n\nexport function useDeltaFlow({\n deltaPrice,\n}: UseDeltaFlowInput): UseDeltaFlowResult {\n const chainId = useChainId();\n\n /* 1. Get allowance for tokenFrom */\n\n const allowance = useGenericTokenAllowanceMin({\n tokenAddress: deltaPrice?.srcToken,\n amountToApproveInWei: deltaPrice?.srcAmount,\n spenderContractType: \"ParaswapDelta\",\n chainId,\n });\n\n /* 2.1. submit Approve tx if necessary */\n\n const approveTxMut = useApprove({\n token: deltaPrice?.srcToken ? { address: deltaPrice.srcToken } : undefined,\n allowanceData: { allowanceToSet: allowance.allowanceToSet },\n spender: allowance.spender,\n onSuccess: () => {\n console.log(\"Approve tx success\");\n },\n onError: (error) => {\n console.error(\"Approve tx error\", error);\n },\n });\n\n /* 2.2. sign Permit1 */\n\n const signPermit1Mut = useSignTokenPermit1({\n token: {\n address: deltaPrice?.srcToken as Address,\n network: chainId,\n },\n value: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n enabled: allowance.needsApproval,\n onSuccess: (signature) => {\n console.log(\"Permit1 signature\", signature);\n },\n onError: (error) => {\n console.error(\"Permit1 error\", error);\n },\n });\n\n const signPermit: UseDeltaFlowResult[\"signPermit\"] = {\n isPermitSupported: signPermit1Mut.isPermitSupported,\n isPermitReadyToSign: signPermit1Mut.isPermitReadyToSign,\n amountToPermit: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n isLoadingPermitData: signPermit1Mut.permitFetchingState.isPending,\n isSigningPermit: signPermit1Mut.permitSigningState.isPending,\n isPermitSigned: signPermit1Mut.permitSigningState.isSuccess,\n signature: signPermit1Mut.signature,\n permitEncodedArgs: signPermit1Mut.permit1EncodedArgs,\n isPending: signPermit1Mut.isPending,\n isSuccess: signPermit1Mut.isSuccess,\n isError: signPermit1Mut.isError,\n error: signPermit1Mut.error,\n };\n\n /* 3. await Approve tx */\n const approveTxMined = useAwaitTx({\n hash: approveTxMut.txHash,\n chainId,\n });\n\n const approval: UseDeltaFlowResult[\"approval\"] = {\n /* allowance fetching */\n needsApproval: allowance.needsApproval,\n allowanceToSet: allowance.allowanceToSet,\n spender: allowance.spender as Address,\n txHash: approveTxMut.txHash,\n receipt: approveTxMined.data,\n isLoadingAllowance: allowance.isLoadingPrerequisites,\n /* tx sending */\n isConfirmingTX: approveTxMut.isPending,\n isTxSent: approveTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: approveTxMined.isLoading,\n isTxMined: approveTxMined.isSuccess,\n /* combined */\n isPending:\n allowance.needsApproval &&\n (approveTxMut.isPending || approveTxMined.isLoading),\n isError:\n allowance.needsApproval &&\n (approveTxMut.isError || approveTxMined.isError),\n isSuccess: !allowance.needsApproval || approveTxMined.isSuccess, // final success\n error: allowance.needsApproval\n ? approveTxMut.error || approveTxMined.error\n : null,\n };\n\n /* 4. Build and Submit Delta Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const createOrderMut = useCreateDeltaOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n console.log(\"Create Delta Order success\", order);\n },\n onError: (error) => {\n console.error(\"Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderSubmission: UseDeltaFlowResult[\"deltaOrderSubmission\"] = {\n order: createOrderMut.data,\n isCreatingOrder: createOrderMut.isPending,\n isOrderSent: createOrderMut.isSuccess,\n isPending: createOrderMut.isPending,\n isError: createOrderMut.isError,\n isSuccess: createOrderMut.isSuccess,\n error: createOrderMut.error,\n };\n\n /* 5. await Order execution */\n\n const watchOrderExecution = useWatchDeltaAuction({\n orderId: createOrderMut.data?.id,\n onAuctionSuccess: (order) => {\n console.log(\"Delta Order success\", order);\n },\n onAuctionFailure: (order) => {\n console.log(\"Delta Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n console.log(\"Delta Order updated\", order);\n },\n onTimeoutGettingOrder: (order) => {\n console.log(\"Delta Order timeout\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n // refetching stops after one minute of not finding an order (order==null)\n const neverFetchedFinishedOrder =\n watchOrderExecution.data === null && watchOrderExecution.isSuccess;\n\n const deltaOrderExecution: UseDeltaFlowResult[\"deltaOrderExecution\"] = {\n sentOrder: createOrderMut.data,\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:\n watchOrderExecution.isError ||\n orderStatus === \"failed\" ||\n neverFetchedFinishedOrder,\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const ensureOrderExecuted = useEnsureDeltaOrderExecuted();\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 receiverAddress = useReceiverAddressValue();\n\n const destChainId =\n deltaPrice && \"bridge\" in deltaPrice\n ? deltaPrice.bridge.destinationChainId\n : chainId;\n\n const { data: isContractAtAddress } = useIsContractAtAddress({\n address: receiverAddress,\n chainId: destChainId as SupportedChainId,\n });\n\n const { resolvedSlippage } = useSlippage();\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1NonceAsUsed({\n chainId,\n });\n\n const submitDeltaOrder = async ({\n onTxSent,\n onOrderSent,\n }: RunDeltaOrderOptions = {}): Promise<SubmitDeltaOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermit1Mut.reset();\n createOrderMut.reset();\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n if (approval.needsApproval) {\n if (!signPermit.isPermitSupported || !signPermit.isPermitReadyToSign) {\n approveTxHash = await approveTxMut.approveAsync();\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 console.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n txHash: approveTxHash,\n actionType: \"approve\",\n receiptPromise: approveTxReceiptPromise,\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n console.log(\"🚀 ~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n } else {\n // sign Permit1\n signedPermitResult = await signPermit1Mut.signPermit1Async();\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n assert(deltaPrice, \"Delta price is not available\");\n\n const beneficiaryType = receiverAddress\n ? isContractAtAddress\n ? \"SmartContract\"\n : \"EOA\"\n : undefined;\n\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: deltaPrice.srcAmount,\n destAmount: deltaPrice.destAmount,\n },\n resolvedSlippage,\n \"SELL\" // @TODO add BUY support for Delta when available\n );\n\n const orderFromAPI = await createOrderMut.mutateAsync({\n // partner: \"\" // @TODO fill in when available\n signal,\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n beneficiaryType,\n srcToken: deltaPrice.srcToken,\n destToken: deltaPrice.destToken,\n permit: signedPermitResult?.permit1EncodedArgs,\n destChainId:\n \"bridge\" in deltaPrice\n ? deltaPrice.bridge.destinationChainId\n : undefined,\n deltaPrice,\n // @TODO if necessary to support add more params\n // partner: \"\", // @TODO fill in when available\n ...amountsAfterSlippage,\n },\n });\n\n // Order is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n try {\n // this func won't refetch on interval to check Order.status changes,\n // will just return very first fetch result.\n // but useWatchDeltaAuction will correctly await an order execution\n const lastOrderStatePromise = ensureOrderExecuted({\n orderId: orderFromAPI.id,\n // signal, // fails the toast if aborted\n });\n\n if (onOrderSent) {\n onOrderSent({\n order: orderFromAPI,\n lastOrderState: lastOrderStatePromise,\n });\n }\n\n const lastOrderState = await lastOrderStatePromise;\n\n // no use aborting past this point, Order is already being processed\n\n // @TODO check if we need to see if receipt.status === \"reverted\" and trhow,\n // or if waitForTransactionReceipt already throws on such receipts\n\n // @TODO try catch, handle errors, refetch allowance and balance in finally\n\n return {\n tradeFlowType: \"deltaOrder\",\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n deltaOrder: {\n sentOrder: orderFromAPI,\n lastOrderState,\n },\n deltaPrice,\n // @TODO add whatever else may be relevant\n account,\n };\n } catch (error) {\n // Order failed, we can't be sure if nonce can be reused or it was incremented in a different Order\n // or even a Market swap tx in the meantime\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n throw error;\n }\n };\n\n const invalidateTokenData = useInvalidateTokenDataQuery();\n\n const deltaOrderMut = useMutation({\n mutationFn: submitDeltaOrder,\n mutationKey: [DELTA_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n console.log(\"Delta Order success\", data);\n },\n onError: (error) => {\n console.error(\"Delta Order error\", error);\n },\n onSettled: () => {\n console.log(\"Delta Order settled, invalidating balances and allowances\");\n invalidateTokenData({ nonces: true });\n },\n });\n\n const reset = () => {\n approveTxMut.reset();\n signPermit1Mut.reset();\n createOrderMut.reset();\n deltaOrderMut.reset();\n };\n\n /* 7. return result */\n return {\n chainId,\n runDeltaOrderFlow: deltaOrderMut.mutateAsync,\n reset,\n cancelFlow,\n approval,\n signPermit,\n deltaOrderSubmission,\n deltaOrderExecution,\n // deltaOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: deltaOrderMut.isPending,\n isSuccess: deltaOrderSubmission.isSuccess && deltaOrderExecution.isSuccess, // approval is an optional step\n isError: deltaOrderMut.isError,\n error: deltaOrderMut.error,\n result: deltaOrderMut.data,\n };\n}\n"],"names":["DELTA_ORDER_MUTATION_KEY","useDeltaFlow","t0","$","_c","deltaPrice","chainId","useChainId","t1","srcToken","t2","srcAmount","t3","tokenAddress","amountToApproveInWei","spenderContractType","allowance","useGenericTokenAllowanceMin","t4","address","undefined","t5","allowanceToSet","t6","spender","token","allowanceData","onSuccess","_temp","onError","_temp2","approveTxMut","useApprove","t7","t8","network","t9","t10","needsApproval","value","enabled","_temp3","_temp4","signPermit1Mut","useSignTokenPermit1","t11","t12","error","isError","isPending","isPermitReadyToSign","isPermitSupported","isSuccess","permit1EncodedArgs","permitFetchingState","permitSigningState","signature","amountToPermit","isLoadingPermitData","isSigningPermit","isPermitSigned","permitEncodedArgs","signPermit","t13","txHash","hash","approveTxMined","useAwaitTx","t14","t15","isLoading","t16","t17","t18","t19","isLoadingPrerequisites","data","receipt","isLoadingAllowance","isConfirmingTX","isTxSent","isTxPending","isTxMined","approval","account","useAccount","t20","minClient","useMinViemClient","t21","Symbol","for","_temp5","_temp6","t22","client","mutationOptions","createOrderMut","useCreateDeltaOrder","t23","order","isCreatingOrder","isOrderSent","deltaOrderSubmission","t24","id","t25","orderId","onAuctionSuccess","_temp7","onAuctionFailure","_temp8","onUpdatedAuction","_temp9","onTimeoutGettingOrder","_temp0","watchOrderExecution","useWatchDeltaAuction","orderStatus","getOverallOrderStatus","neverFetchedFinishedOrder","t26","t27","t28","t29","isRefetching","t30","t31","t32","sentOrder","lastOrderState","isOrderPending","isOrderExecuting","isOrderExecuted","deltaOrderExecution","ensureOrderExecuted","useEnsureDeltaOrderExecuted","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","t33","current","abort","UserCancelledError","cancelFlow","receiverAddress","useReceiverAddressValue","destChainId","bridge","destinationChainId","t34","t35","isContractAtAddress","useIsContractAtAddress","resolvedSlippage","useSlippage","t36","markNonceAsUsed","clearNonce","useMarkPermit1NonceAsUsed","t37","t38","onTxSent","onOrderSent","reset","abortController","AbortController","signal","signedPermitResult","approveTxHash","approveTxReceipt","approveAsync","throwIfAborted","approveTxReceiptPromise","onReplaced","console","log","actionType","receiptPromise","signPermit1Async","assert","beneficiaryType","amountsAfterSlippage","applySlippage","destAmount","orderFromAPI","mutateAsync","orderInput","owner","beneficiary","destToken","permit","signedPermitData","lastOrderStatePromise","tradeFlowType","approve","deltaOrder","t39","submitDeltaOrder","invalidateTokenData","useInvalidateTokenDataQuery","nonces","t40","mutationFn","mutationKey","_temp1","_temp10","onSettled","deltaOrderMut","useMutation","t41","t42","t43","runDeltaOrderFlow","result","error_3","data_0","order_3","order_2","order_1","order_0","error_1","error_0"],"mappings":"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"}
|
|
@@ -1,19 +1,10 @@
|
|
|
1
1
|
import { d as distExports } from '../../../_virtual/index.js';
|
|
2
2
|
import { useDeltaFlow } from './useDeltaFlow.js';
|
|
3
|
-
import '
|
|
3
|
+
import 'clsx';
|
|
4
|
+
import 'tailwind-merge';
|
|
4
5
|
import { constructExplorerOrderDetailsLink } from '../../../lib/utils/explorer.js';
|
|
5
6
|
import { isUserCancelledError } from './common/errors.js';
|
|
6
7
|
|
|
7
|
-
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
8
|
-
cache: /* @__PURE__ */ new Map(),
|
|
9
|
-
get(name, inst) {
|
|
10
|
-
if (this.cache.has(name)) {
|
|
11
|
-
return this.cache.get(name);
|
|
12
|
-
}
|
|
13
|
-
this.cache.set(name, inst);
|
|
14
|
-
return inst;
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
8
|
function useDeltaSwapStep(options) {
|
|
18
9
|
const $ = distExports.c(16);
|
|
19
10
|
const deltaFlow = useDeltaFlow(options);
|