@velora-dex/widget 0.8.1-dev.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/drawer.js.map +1 -1
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/progress.js.map +1 -1
- package/dist/components/ui/skeleton.js.map +1 -1
- package/dist/components/ui/sonner.js.map +1 -1
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/web3/AccountButton.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.d.ts +1 -0
- package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js +30 -16
- package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
- package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
- package/dist/components/web3/ConnectWallets/index.js +1 -1
- package/dist/components/web3/ConnectWallets/index.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
- package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -1
- package/dist/components/web3/ConnectWallets/walletIcons.js +1 -1
- package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
- package/dist/components/web3/providers.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
- package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js +61 -53
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
- package/dist/components/widget/AppHeader/state/showMoreAtom.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgesList.js.map +1 -1
- package/dist/components/widget/BridgeList/hooks.js.map +1 -1
- package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -1
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
- package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
- package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -1
- package/dist/components/widget/Button/DismissButton.js.map +1 -1
- package/dist/components/widget/Button/RefreshButton.d.ts +3 -0
- package/dist/components/widget/Button/RefreshButton.d.ts.map +1 -0
- package/dist/components/widget/Button/RefreshButton.js +28 -0
- package/dist/components/widget/Button/RefreshButton.js.map +1 -0
- package/dist/components/widget/Button/types.d.ts +7 -0
- package/dist/components/widget/Button/types.d.ts.map +1 -0
- package/dist/components/widget/CompareQuotes/CompareQuotes.d.ts.map +1 -1
- package/dist/components/widget/CompareQuotes/CompareQuotes.js +67 -73
- package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -1
- package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
- package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
- package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
- package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
- package/dist/components/widget/DexesList/DexItem.js.map +1 -1
- package/dist/components/widget/DexesList/DexesList.js.map +1 -1
- package/dist/components/widget/DexesList/getDexProps.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
- package/dist/components/widget/Drawer/Overlay.js.map +1 -1
- package/dist/components/widget/Drawer/index.js.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
- package/dist/components/widget/Dropdown/DropdownWithItems.d.ts.map +1 -1
- package/dist/components/widget/Dropdown/DropdownWithItems.js +3 -2
- package/dist/components/widget/Dropdown/DropdownWithItems.js.map +1 -1
- package/dist/components/widget/Dropdown/types.d.ts +1 -1
- package/dist/components/widget/Dropdown/types.d.ts.map +1 -1
- package/dist/components/widget/Duration/Duration.js.map +1 -1
- package/dist/components/widget/Duration/utils.js.map +1 -1
- package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -1
- package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -1
- package/dist/components/widget/EnabledList/EnabledList.js.map +1 -1
- package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -1
- package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
- package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
- package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
- package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
- package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
- package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
- package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
- package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
- package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +5 -8
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
- package/dist/components/widget/LimitPriceInput/index.js +6 -6
- package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
- package/dist/components/widget/Line/Line.js.map +1 -1
- package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -1
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -1
- package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
- package/dist/components/widget/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +5 -8
- package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/constants.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
- package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
- package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
- package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRateWithTooltip.js.map +1 -1
- package/dist/components/widget/SwapRate/utils.js.map +1 -1
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts +4 -1
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts.map +1 -1
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js +51 -28
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
- package/dist/components/widget/Tabs/Tabs.js.map +1 -1
- package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -1
- package/dist/components/widget/TokenInput/InputContainer.js.map +1 -1
- package/dist/components/widget/TokenInput/InputField.js.map +1 -1
- package/dist/components/widget/TokenInput/InputFooter.js.map +1 -1
- package/dist/components/widget/TokenInput/InputHeader.js.map +1 -1
- package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
- package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -1
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
- package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
- package/dist/components/widget/TransactionDetails/utils.js.map +1 -1
- package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
- package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
- package/dist/components/widget/Twap/OrderSplit.js.map +1 -1
- package/dist/components/widget/Twap/RateProtection.js.map +1 -1
- package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -1
- package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
- package/dist/components/widget/Warning/Warning.js.map +1 -1
- package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/components/widget/YouGet/YouGet.js.map +1 -1
- package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/LimitOrderDetails.js.map +1 -1
- package/dist/core/OtcOrderButton.js.map +1 -1
- package/dist/core/OtcOrderDetails.js.map +1 -1
- package/dist/core/Toaster.js.map +1 -1
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/TwapDetails.js.map +1 -1
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/Warnings.js.map +1 -1
- package/dist/core/across/isCrosschainPossible.js.map +1 -1
- package/dist/core/across/utils.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
- package/dist/core/inputs/hooks/utils.js.map +1 -1
- package/dist/core/inputs/state/common.js.map +1 -1
- package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/inputs/state/subscriptions.js.map +1 -1
- package/dist/core/limit/state/deadlineAtom.js.map +1 -1
- package/dist/core/limit/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
- package/dist/core/limit/state/receiverAddressAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/limit/state/utils.js.map +1 -1
- package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
- package/dist/core/limit/useLimitNotSupported.js.map +1 -1
- package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
- package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/otc/state/deadlineAtom.js.map +1 -1
- package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
- package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
- package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
- package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
- package/dist/core/otc/useOtcNotSupported.js.map +1 -1
- package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
- package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
- package/dist/core/screen/hooks/useInitialValue.js.map +1 -1
- package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
- package/dist/core/screen/hooks/useResizeObserver.js.map +1 -1
- package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
- package/dist/core/screen/state/hooks/useScreen.js.map +1 -1
- package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -1
- package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
- package/dist/core/screen/state/screenAtom.js.map +1 -1
- package/dist/core/state/apiConfigAtom.js.map +1 -1
- package/dist/core/state/chainToAtom.js.map +1 -1
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configAtom.js +2 -2
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/configEffectAtom.js.map +1 -1
- package/dist/core/state/containerAtom.js.map +1 -1
- package/dist/core/state/enabledChainsAtom.js.map +1 -1
- package/dist/core/state/enabledTradeModesAtom.d.ts +7 -1
- package/dist/core/state/enabledTradeModesAtom.d.ts.map +1 -1
- package/dist/core/state/enabledTradeModesAtom.js +1 -1
- package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
- package/dist/core/state/externalProviderAtom.js.map +1 -1
- package/dist/core/state/getSelectableDestChains.js.map +1 -1
- package/dist/core/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/state/tradeModeAtom.js +1 -1
- package/dist/core/state/tradeModeAtom.js.map +1 -1
- package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -1
- package/dist/core/state/validatedReferrerConfigAtom.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/subscriptions.js.map +1 -1
- package/dist/core/swapDetails/fees.js.map +1 -1
- package/dist/core/swapDetails/maxToPay.js.map +1 -1
- package/dist/core/swapDetails/orderRouting.js.map +1 -1
- package/dist/core/swapDetails/priceImpact.js.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js +37 -31
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/core/swapDetails/youGet.js.map +1 -1
- package/dist/core/twap/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
- package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
- package/dist/core/twap/state/twapSideAtom.js.map +1 -1
- package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
- package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -1
- package/dist/core/twap/useTwapDetailsListProps.js +36 -31
- package/dist/core/twap/useTwapDetailsListProps.js.map +1 -1
- package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
- package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -1
- package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
- package/dist/events/effects/formInput.js.map +1 -1
- package/dist/events/effects/price.js.map +1 -1
- package/dist/events/effects/swapMode.js.map +1 -1
- package/dist/events/getters/limit.js.map +1 -1
- package/dist/events/getters/otc.js.map +1 -1
- package/dist/events/getters/settings.js.map +1 -1
- package/dist/events/getters/swap.js.map +1 -1
- package/dist/events/getters/twap.js.map +1 -1
- package/dist/events/getters/widgetState.js.map +1 -1
- package/dist/events/hooks/useActivateEffects.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
- package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1/external/vaul/dist/index.js.map +1 -1
- package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
- package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
- package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
- package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
- package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
- package/dist/hooks/gas/useGasPrices.js.map +1 -1
- package/dist/hooks/gas/utils.js.map +1 -1
- package/dist/hooks/getCode/query.js.map +1 -1
- package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
- package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
- package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/utils.js.map +1 -1
- package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
- package/dist/hooks/permit/utils/constants.js.map +1 -1
- package/dist/hooks/permit/utils/construct.js.map +1 -1
- package/dist/hooks/permit/utils/deadlines.js.map +1 -1
- package/dist/hooks/permit/utils/detect.js.map +1 -1
- package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
- package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
- package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
- package/dist/hooks/permit/utils/utils.js.map +1 -1
- package/dist/hooks/sdk/useGetContracts.js.map +1 -1
- package/dist/hooks/sdk/useSpender.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/factory.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +4 -7
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +28 -24
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -1
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/allowance/utils.js.map +1 -1
- package/dist/hooks/tokens/balances/queries.js.map +1 -1
- package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
- package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
- package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
- package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -1
- package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
- package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
- package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
- package/dist/hooks/tokens/prices/queries.js.map +1 -1
- package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
- package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
- package/dist/hooks/tokens/useNativeToken.js.map +1 -1
- package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
- package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
- package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
- package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
- package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
- package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
- package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
- package/dist/hooks/txs/queries/useTxFees.js.map +1 -1
- package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
- package/dist/hooks/txs/queries/useTxResponse.js.map +1 -1
- package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
- package/dist/hooks/txs/queries/utils.js.map +1 -1
- package/dist/hooks/useAvailableCrosses.js.map +1 -1
- package/dist/hooks/useBreakpoints.js.map +1 -1
- package/dist/hooks/useBridgeInfo.js.map +1 -1
- package/dist/hooks/useBridgeProtocols.js.map +1 -1
- package/dist/hooks/useCachedQueryError.js.map +1 -1
- package/dist/hooks/useChainMatches.js.map +1 -1
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useCurrentChain.js.map +1 -1
- package/dist/hooks/useDebouncedInputState.js.map +1 -1
- package/dist/hooks/useEIP1559Enabled.js.map +1 -1
- package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
- package/dist/hooks/useMinViemClient.js.map +1 -1
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/hooks/useSelectableDestChains.js.map +1 -1
- package/dist/hooks/useSlippage.js.map +1 -1
- package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
- package/dist/lib/constants/urls.js.map +1 -1
- package/dist/lib/ipfs.js.map +1 -1
- package/dist/lib/queryClient.js.map +1 -1
- package/dist/lib/tradeMode.d.ts +1 -0
- package/dist/lib/tradeMode.d.ts.map +1 -1
- package/dist/lib/tradeMode.js +4 -1
- package/dist/lib/tradeMode.js.map +1 -1
- package/dist/lib/utils/approval.js.map +1 -1
- package/dist/lib/utils/atomWithCompare.js.map +1 -1
- package/dist/lib/utils/copyToClipboard.js.map +1 -1
- package/dist/lib/utils/delta.js.map +1 -1
- package/dist/lib/utils/dexes.js.map +1 -1
- package/dist/lib/utils/explorer.js.map +1 -1
- package/dist/lib/utils/fee.js.map +1 -1
- package/dist/lib/utils/formatFiatPrice.js.map +1 -1
- package/dist/lib/utils/formatPercent.js.map +1 -1
- package/dist/lib/utils/formatTokenBalance.js.map +1 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/logger.js.map +1 -1
- package/dist/lib/utils/metabase.js.map +1 -1
- package/dist/lib/utils/mobile.js.map +1 -1
- package/dist/lib/utils/price.js.map +1 -1
- package/dist/lib/utils/priceImpact.js.map +1 -1
- package/dist/lib/utils/providerErrors.js.map +1 -1
- package/dist/lib/utils/rate.js.map +1 -1
- package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
- package/dist/lib/utils/savedAmountUSD.js.map +1 -1
- package/dist/lib/utils/scaleFactor.js.map +1 -1
- package/dist/lib/utils/slippage.js.map +1 -1
- package/dist/lib/utils/time.js.map +1 -1
- package/dist/lib/utils/toDecimal.js.map +1 -1
- package/dist/lib/utils/toasts.js.map +1 -1
- package/dist/lib/utils/tradeFlow.js.map +1 -1
- package/dist/lib/utils/transactionHandlers.js.map +1 -1
- package/dist/lib/utils/tuple.js.map +1 -1
- package/dist/lib/utils/twap.js.map +1 -1
- package/dist/lib/utils/useDateNow.js.map +1 -1
- package/dist/lib/web3/wagmi/config.d.ts +0 -18
- package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/config.js +19 -6
- package/dist/lib/web3/wagmi/config.js.map +1 -1
- package/dist/lib/web3/wagmi/external.js.map +1 -1
- package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
- package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
- package/dist/lib/web3/wagmi/utils.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tokens/blacklist.js.map +1 -1
- package/dist/tokens/constructor.js.map +1 -1
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/tokens/hooks.js.map +1 -1
- package/dist/tokens/lists/constants.js.map +1 -1
- package/dist/tokens/lists/download.js.map +1 -1
- package/dist/tokens/lists/state/effects.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
- package/dist/tokens/overrides.js.map +1 -1
- package/dist/tokens/queries.js.map +1 -1
- package/dist/tokens/stabeCoins/hooks.js.map +1 -1
- package/dist/tokens/stabeCoins/index.js.map +1 -1
- package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
- package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
- package/dist/tokens/state/constructTokens.js.map +1 -1
- package/dist/tokens/state/fromListsAtom.js.map +1 -1
- package/dist/tokens/utils/areTokensSame.js.map +1 -1
- package/dist/tokens/utils/brand.js.map +1 -1
- package/dist/tokens/utils/eth.js.map +1 -1
- package/dist/tokens/utils/filtering.js.map +1 -1
- package/dist/tokens/utils/sets.js.map +1 -1
- package/dist/tokens/utils/sorting.js.map +1 -1
- package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
- package/dist/transactions/hash.js.map +1 -1
- package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
- package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -1
- package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
- package/dist/transactions/queries/ensureTxResponse.js.map +1 -1
- package/dist/transactions/state/effects/finalize.js.map +1 -1
- package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
- package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -1
- package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
- package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
- package/dist/transactions/state/transactionsAtom.js.map +1 -1
- package/dist/transactions/status.js.map +1 -1
- package/dist/transactions/utils.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["ActiveStep","FlowStep","FlowStepWithSubSteps","StepState","TitleFnProps","StepProps","isFlowStepWithSubSteps","step","Key","PrepareStepPropsParams","currentStep","activeStep","currentStepIndex","activeStepIndex","titleFnProps","stepNumberCorrection","prepareStepProps","stepState","stepOrSubStep","subSteps","find","subStep","key","title","stepTitle","description","stepDesc","titleOrFn","stepNumber"],"sources":["../../../../../src/components/widget/TradeOverview/Step/utils.ts"],"sourcesContent":["import type {\n ActiveStep,\n FlowStep,\n FlowStepWithSubSteps,\n StepState,\n TitleFnProps,\n StepProps,\n} from \"./types\";\n\nexport function isFlowStepWithSubSteps<Key extends string = string>(\n step: FlowStep<Key>\n): step is FlowStepWithSubSteps<Key> {\n return \"subSteps\" in step;\n}\n\ntype PrepareStepPropsParams<Key extends string = string> = {\n currentStep: FlowStep<Key>;\n activeStep?: ActiveStep<Key>;\n currentStepIndex: number;\n activeStepIndex: number;\n titleFnProps: TitleFnProps;\n stepNumberCorrection: number;\n};\n\nexport function prepareStepProps<Key extends string = string>({\n currentStep,\n activeStep,\n currentStepIndex,\n activeStepIndex,\n titleFnProps,\n stepNumberCorrection,\n}: PrepareStepPropsParams<Key>): StepProps | null {\n let stepState: StepState;\n\n if (activeStepIndex === currentStepIndex) {\n stepState = \"ongoing\";\n } else if (activeStepIndex > currentStepIndex) {\n stepState = \"done\";\n } else if (activeStepIndex === currentStepIndex - 1) {\n stepState = \"next\";\n } else {\n stepState = \"upcoming\";\n }\n if (stepState === \"done\") {\n return null;\n }\n\n const stepOrSubStep = isFlowStepWithSubSteps(currentStep)\n ? (currentStep.subSteps.find(\n (subStep) => subStep.key === activeStep?.subStep\n ) ?? currentStep.subSteps[0])\n : currentStep;\n\n const { title: stepTitle, description: stepDesc } = stepOrSubStep;\n\n const titleOrFn =\n typeof stepTitle === \"string\" ? stepTitle : stepTitle[stepState];\n\n const title =\n typeof titleOrFn === \"function\" ? titleOrFn(titleFnProps) : titleOrFn;\n\n const description =\n typeof stepDesc === \"function\" ? stepDesc(titleFnProps) : stepDesc;\n\n // if first step of the flow is skipped in the current flow (prepare-swap is skipped unless in resubmit flow),\n // we need to avoid marking the inital step as stepNumber=2\n const stepNumber = currentStepIndex + 1 + stepNumberCorrection;\n\n return { title, description, stepState, stepNumber };\n}\n"],"mappings":";AASA,SAAgBM,EACdC,GACmC;
|
|
1
|
+
{"version":3,"file":"utils.js","names":["ActiveStep","FlowStep","FlowStepWithSubSteps","StepState","TitleFnProps","StepProps","isFlowStepWithSubSteps","step","Key","PrepareStepPropsParams","currentStep","activeStep","currentStepIndex","activeStepIndex","titleFnProps","stepNumberCorrection","prepareStepProps","stepState","stepOrSubStep","subSteps","find","subStep","key","title","stepTitle","description","stepDesc","titleOrFn","stepNumber"],"sources":["../../../../../src/components/widget/TradeOverview/Step/utils.ts"],"sourcesContent":["import type {\n ActiveStep,\n FlowStep,\n FlowStepWithSubSteps,\n StepState,\n TitleFnProps,\n StepProps,\n} from \"./types\";\n\nexport function isFlowStepWithSubSteps<Key extends string = string>(\n step: FlowStep<Key>\n): step is FlowStepWithSubSteps<Key> {\n return \"subSteps\" in step;\n}\n\ntype PrepareStepPropsParams<Key extends string = string> = {\n currentStep: FlowStep<Key>;\n activeStep?: ActiveStep<Key>;\n currentStepIndex: number;\n activeStepIndex: number;\n titleFnProps: TitleFnProps;\n stepNumberCorrection: number;\n};\n\nexport function prepareStepProps<Key extends string = string>({\n currentStep,\n activeStep,\n currentStepIndex,\n activeStepIndex,\n titleFnProps,\n stepNumberCorrection,\n}: PrepareStepPropsParams<Key>): StepProps | null {\n let stepState: StepState;\n\n if (activeStepIndex === currentStepIndex) {\n stepState = \"ongoing\";\n } else if (activeStepIndex > currentStepIndex) {\n stepState = \"done\";\n } else if (activeStepIndex === currentStepIndex - 1) {\n stepState = \"next\";\n } else {\n stepState = \"upcoming\";\n }\n if (stepState === \"done\") {\n return null;\n }\n\n const stepOrSubStep = isFlowStepWithSubSteps(currentStep)\n ? (currentStep.subSteps.find(\n (subStep) => subStep.key === activeStep?.subStep\n ) ?? currentStep.subSteps[0])\n : currentStep;\n\n const { title: stepTitle, description: stepDesc } = stepOrSubStep;\n\n const titleOrFn =\n typeof stepTitle === \"string\" ? stepTitle : stepTitle[stepState];\n\n const title =\n typeof titleOrFn === \"function\" ? titleOrFn(titleFnProps) : titleOrFn;\n\n const description =\n typeof stepDesc === \"function\" ? stepDesc(titleFnProps) : stepDesc;\n\n // if first step of the flow is skipped in the current flow (prepare-swap is skipped unless in resubmit flow),\n // we need to avoid marking the inital step as stepNumber=2\n const stepNumber = currentStepIndex + 1 + stepNumberCorrection;\n\n return { title, description, stepState, stepNumber };\n}\n"],"mappings":";AASA,SAAgBM,EACdC,GACmC;CACnC,OAAO,cAAcA;;AAYvB,SAAgBS,EAA8C,EAC5DN,gBACAC,eACAC,qBACAC,oBACAC,iBACAC,2BACgD;CAChD,IAAIE;CAWJ,IATA,AAOEA,IAPEJ,MAAoBD,IACV,YACHC,IAAkBD,IACf,SACHC,MAAoBD,IAAmB,IACpC,SAEA,YAEVK,MAAc,QAChB,OAAO;CAST,IAAM,EAAEM,OAAOC,GAAWC,aAAaC,MANjBpB,EAAuBI,EAAY,GACpDA,EAAYS,SAASC,MACnBC,MAAYA,EAAQC,QAAQX,GAAYU,QAC1C,IAAIX,EAAYS,SAAS,KAC1BT,GAIEiB,IACJ,OAAOH,KAAc,WAAWA,IAAYA,EAAUP,IAElDM,IACJ,OAAOI,KAAc,aAAaA,EAAUb,EAAa,GAAGa,GAExDF,IACJ,OAAOC,KAAa,aAAaA,EAASZ,EAAa,GAAGY,GAItDE,IAAahB,IAAmB,IAAIG;CAE1C,OAAO;EAAEQ;EAAOE;EAAaR;EAAWW;EAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.js","names":["AnimatePresence","motion","Step","ActiveStep","FlowStep","prepareStepProps","MinTradeFlowToken","useTradeFlowContext","VerticalDash","stepItemProps","useInitialValue","isTruthy","StepperProps","steps","Key","activeStep","fromToken","toToken","fromAmount","toAmount","MAX_DISPLAYED_STEPS_AT_ONCE","StepperBase","t0","$","_c","titleFnProps","t1","findIndex","step","key","activeStepIndex","isActiveStepLast","length","startedAtStepWithIndex","validSteps","map","step_0","i","prepareStepPropsParams","currentStep","currentStepIndex","stepNumberCorrection","stepProps","filter","renderedSteps","slice","t2","t3","t4","Stepper"],"sources":["../../../../src/components/widget/TradeOverview/Stepper.tsx"],"sourcesContent":["// import { Informative } from \"../Informative/Informative\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { Step } from \"./Step/Step\";\nimport type { ActiveStep, FlowStep } from \"./Step/types\";\nimport { prepareStepProps } from \"./Step/utils\";\nimport type { MinTradeFlowToken } from \"./TradeDetails\";\nimport { useTradeFlowContext } from \"./tradeFlowContext\";\nimport { VerticalDash } from \"./VerticalDash\";\nimport { stepItemProps } from \"./motionProps\";\nimport { useInitialValue } from \"@/core/screen/hooks/useInitialValue\";\nimport { isTruthy } from \"@/lib/utils\";\n\n// --- Stepper ---\ntype StepperProps<Key extends string = string> = {\n steps: FlowStep<Key>[];\n activeStep?: ActiveStep<Key>;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n fromAmount: string;\n toAmount: string;\n};\n\nconst MAX_DISPLAYED_STEPS_AT_ONCE = 3;\n\nconst StepperBase = <Key extends string = string>({\n steps,\n activeStep,\n ...titleFnProps\n}: StepperProps<Key>) => {\n const activeStepIndex = activeStep\n ? steps.findIndex((step) => step.key === activeStep.key)\n : -1;\n\n const isActiveStepLast = activeStepIndex === steps.length - 1;\n\n // index of the first step displayed by stepper,\n // so that we avoid Approve Order #2 when there is a Prepare Swap step in the list before it\n const startedAtStepWithIndex = useInitialValue(activeStepIndex);\n\n // let displayedStepsN = 0;\n\n const validSteps = steps\n .map((step, i) => {\n const prepareStepPropsParams = {\n currentStep: step,\n activeStepIndex,\n currentStepIndex: i,\n activeStep,\n titleFnProps,\n stepNumberCorrection: -1 * startedAtStepWithIndex,\n };\n\n const stepProps = prepareStepProps(prepareStepPropsParams);\n\n if (!stepProps) return null;\n\n return (\n <motion.div key={step.key} {...stepItemProps}>\n <Step {...stepProps} />\n </motion.div>\n );\n })\n .filter(isTruthy);\n\n // avoid stepper growing too much in height when there are many steps\n const renderedSteps =\n validSteps.length > MAX_DISPLAYED_STEPS_AT_ONCE\n ? validSteps.slice(0, MAX_DISPLAYED_STEPS_AT_ONCE)\n : validSteps;\n\n return (\n <>\n <div className=\"flex flex-col gap-[28px] relative bg-contrast-8 dark:bg-contrast-2\">\n {/* Vertical line positioned absolutely */}\n {!isActiveStepLast && (\n // show vertical line only if there will be more than 1 step displayed\n <div className=\"absolute left-[17px] top-0 bottom-[17px] flex justify-center\">\n <VerticalDash />\n </div>\n )}\n <AnimatePresence mode=\"popLayout\">{renderedSteps}</AnimatePresence>\n </div>\n\n {/* show StepperHint on the last step, @TODO reenable when we have conditional hints */}\n {/* {steps.length - activeStepIndex === 1 && <StepperHint />} */}\n </>\n );\n};\n\n/* const StepperHint = () => (\n <Informative\n title=\"Did you know?\"\n description=\"There may be a network issue (such as sudden gas price spike) that is delaying your order\"\n classes={{ root: \"mb-4\" }}\n />\n); */\n\nexport const Stepper = () => {\n const { fromToken, toToken, fromAmount, toAmount, steps, activeStep } =\n useTradeFlowContext();\n\n if (!activeStep) return null;\n\n return (\n <StepperBase\n steps={steps}\n activeStep={activeStep}\n fromToken={fromToken}\n toToken={toToken}\n fromAmount={fromAmount}\n toAmount={toAmount}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;AAsBA,IAAMoB,IAA8B,GAE9BC,KAAcC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA8B,EAAAX,UAAAE,eAAA,GAAAU,MAAAH,GAI9BI;
|
|
1
|
+
{"version":3,"file":"Stepper.js","names":["AnimatePresence","motion","Step","ActiveStep","FlowStep","prepareStepProps","MinTradeFlowToken","useTradeFlowContext","VerticalDash","stepItemProps","useInitialValue","isTruthy","StepperProps","steps","Key","activeStep","fromToken","toToken","fromAmount","toAmount","MAX_DISPLAYED_STEPS_AT_ONCE","StepperBase","t0","$","_c","titleFnProps","t1","findIndex","step","key","activeStepIndex","isActiveStepLast","length","startedAtStepWithIndex","validSteps","map","step_0","i","prepareStepPropsParams","currentStep","currentStepIndex","stepNumberCorrection","stepProps","filter","renderedSteps","slice","t2","t3","t4","Stepper"],"sources":["../../../../src/components/widget/TradeOverview/Stepper.tsx"],"sourcesContent":["// import { Informative } from \"../Informative/Informative\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { Step } from \"./Step/Step\";\nimport type { ActiveStep, FlowStep } from \"./Step/types\";\nimport { prepareStepProps } from \"./Step/utils\";\nimport type { MinTradeFlowToken } from \"./TradeDetails\";\nimport { useTradeFlowContext } from \"./tradeFlowContext\";\nimport { VerticalDash } from \"./VerticalDash\";\nimport { stepItemProps } from \"./motionProps\";\nimport { useInitialValue } from \"@/core/screen/hooks/useInitialValue\";\nimport { isTruthy } from \"@/lib/utils\";\n\n// --- Stepper ---\ntype StepperProps<Key extends string = string> = {\n steps: FlowStep<Key>[];\n activeStep?: ActiveStep<Key>;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n fromAmount: string;\n toAmount: string;\n};\n\nconst MAX_DISPLAYED_STEPS_AT_ONCE = 3;\n\nconst StepperBase = <Key extends string = string>({\n steps,\n activeStep,\n ...titleFnProps\n}: StepperProps<Key>) => {\n const activeStepIndex = activeStep\n ? steps.findIndex((step) => step.key === activeStep.key)\n : -1;\n\n const isActiveStepLast = activeStepIndex === steps.length - 1;\n\n // index of the first step displayed by stepper,\n // so that we avoid Approve Order #2 when there is a Prepare Swap step in the list before it\n const startedAtStepWithIndex = useInitialValue(activeStepIndex);\n\n // let displayedStepsN = 0;\n\n const validSteps = steps\n .map((step, i) => {\n const prepareStepPropsParams = {\n currentStep: step,\n activeStepIndex,\n currentStepIndex: i,\n activeStep,\n titleFnProps,\n stepNumberCorrection: -1 * startedAtStepWithIndex,\n };\n\n const stepProps = prepareStepProps(prepareStepPropsParams);\n\n if (!stepProps) return null;\n\n return (\n <motion.div key={step.key} {...stepItemProps}>\n <Step {...stepProps} />\n </motion.div>\n );\n })\n .filter(isTruthy);\n\n // avoid stepper growing too much in height when there are many steps\n const renderedSteps =\n validSteps.length > MAX_DISPLAYED_STEPS_AT_ONCE\n ? validSteps.slice(0, MAX_DISPLAYED_STEPS_AT_ONCE)\n : validSteps;\n\n return (\n <>\n <div className=\"flex flex-col gap-[28px] relative bg-contrast-8 dark:bg-contrast-2\">\n {/* Vertical line positioned absolutely */}\n {!isActiveStepLast && (\n // show vertical line only if there will be more than 1 step displayed\n <div className=\"absolute left-[17px] top-0 bottom-[17px] flex justify-center\">\n <VerticalDash />\n </div>\n )}\n <AnimatePresence mode=\"popLayout\">{renderedSteps}</AnimatePresence>\n </div>\n\n {/* show StepperHint on the last step, @TODO reenable when we have conditional hints */}\n {/* {steps.length - activeStepIndex === 1 && <StepperHint />} */}\n </>\n );\n};\n\n/* const StepperHint = () => (\n <Informative\n title=\"Did you know?\"\n description=\"There may be a network issue (such as sudden gas price spike) that is delaying your order\"\n classes={{ root: \"mb-4\" }}\n />\n); */\n\nexport const Stepper = () => {\n const { fromToken, toToken, fromAmount, toAmount, steps, activeStep } =\n useTradeFlowContext();\n\n if (!activeStep) return null;\n\n return (\n <StepperBase\n steps={steps}\n activeStep={activeStep}\n fromToken={fromToken}\n toToken={toToken}\n fromAmount={fromAmount}\n toAmount={toAmount}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;AAsBA,IAAMoB,IAA8B,GAE9BC,KAAcC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA8B,EAAAX,UAAAE,eAAA,GAAAU,MAAAH,GAI9BI;CAAA,AAAAH,EAAA,OAAAR,KAAAQ,EAAA,OAAAV,KACMa,IAAAX,IACpBF,EAAKc,WAAWC,MAAUA,EAAIC,QAASd,EAAUc,IAC/C,GAFkB,IAElBN,EAAA,KAAAR,GAAAQ,EAAA,KAAAV,GAAAU,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CAFN,IAAAO,IAAwBJ,GAIxBK,IAAyBD,MAAoBjB,EAAKmB,SAAU,GAI5DC,IAA+BvB,EAAgBoB,EAAgB,EAI/DI,IAAmBrB,EAAKsB,KACjBC,GAAAC,MAAA;EAUH,IAAAK,IAAkBrC,EAAiBiC;GATJC,aAChBX;GAAIE;GAAAU,kBAECH;GAACtB;GAAAU;GAAAgB,sBAGG,KAAKR;GAGMK,CAAuB;EAE9B,OAAvBI,IAGH,kBAAA,EAAA,KAAA;GAAyB,GAAMjC;aAC7B,kBAAC,GAAD,EAAK,GAAKiC,GACZ,CAAA;GAAa,EAFId,EAAIC,IAER,GALQ;GAOvB,CAAAc,OACMhC,EAAS,EAGnBiC,IACEV,EAAUF,SAAUZ,IAChBc,EAAUW,MAAO,GAAGzB,EACV,GAFdc,GAEeY;CAAA,AAAAvB,EAAA,OAAAQ,IAWVe,IAAAvB,EAAA,MALAuB,IAAA,CAACf,KAEA,kBAAA,OAAA;EAAe,WAAA;YACb,kBAAC,GAAD,EACF,CAAA;EACD,CAAA,EAAAR,EAAA,KAAAQ,GAAAR,EAAA,KAAAuB;CAAA,IAAAC;CAAA,AAAAxB,EAAA,OAAAqB,IACkEG,IAAAxB,EAAA,MAAnEwB,IAAA,kBAAC,GAAD;EAAsB,MAAA;YAAaH;EAAgC,CAAA,EAAArB,EAAA,KAAAqB,GAAArB,EAAA,KAAAwB;CAAA,IAAAC;CAKpE,OALoEzB,EAAA,OAAAuB,KAAAvB,EAAA,OAAAwB,KATvEC,IAAA,kBAAA,GAAA,EAAA,UACE,kBAAA,OAAA;EAAe,WAAA;YAAf,CAEGF,GAMDC,EACI;KAIL,CAAA,EAAAxB,EAAA,KAAAuB,GAAAvB,EAAA,KAAAwB,GAAAxB,EAAA,KAAAyB,KAAAA,IAAAzB,EAAA,IAdHyB;GA0BSC,UAAU;CAAA,IAAA1B,IAAAC,EAAA,EAAA,EACrB,EAAAR,cAAAC,YAAAC,eAAAC,aAAAN,UAAAE,kBACER,GAAqB;CAEvB,IAAI,CAACQ,GAAU,OAAS;CAAK,IAAAO;CAUzB,OAVyBC,EAAA,OAAAR,KAAAQ,EAAA,OAAAL,KAAAK,EAAA,OAAAP,KAAAO,EAAA,OAAAV,KAAAU,EAAA,OAAAJ,KAAAI,EAAA,OAAAN,KAG3BK,IAAA,kBAAC,GAAD;EACST;EACKE;EACDC;EACFC;EACGC;EACFC;EACV,CAAA,EAAAI,EAAA,KAAAR,GAAAQ,EAAA,KAAAL,GAAAK,EAAA,KAAAP,GAAAO,EAAA,KAAAV,GAAAU,EAAA,KAAAJ,GAAAI,EAAA,KAAAN,GAAAM,EAAA,KAAAD,KAAAA,IAAAC,EAAA,IAPFD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeCompleteFooter.js","names":["Button","useTradeFlowContext","CancelButtonWithDrawer","TradeCompletedFooterProps","onDismiss","onCancelOrder","explorerLink","TradeCompletedFooterBase","t0","$","_c","orderCancellationStep","isOrderCancelled","successfulCancellation","t1","button1","t2","button2","t3","button3","t4","TradeCompletedFooter"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { useTradeFlowContext } from \"../tradeFlowContext\";\nimport { CancelButtonWithDrawer } from \"../CancelButtonWithDrawer\";\n\ntype TradeCompletedFooterProps = {\n onDismiss?: () => void;\n onCancelOrder?: () => void;\n explorerLink?: string;\n};\n\nconst TradeCompletedFooterBase = ({\n onDismiss,\n onCancelOrder,\n explorerLink,\n}: TradeCompletedFooterProps) => {\n const { orderCancellationStep, isOrderCancelled } = useTradeFlowContext();\n\n const successfulCancellation =\n orderCancellationStep === \"order-cancellation-success\" || isOrderCancelled;\n\n const button1 = (\n <Button\n variant=\"default\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n onClick={onDismiss}\n >\n Make Another Trade\n </Button>\n );\n\n const button2 = explorerLink ? (\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n asChild\n >\n <a href={explorerLink} rel=\"noopener noreferrer\" target=\"_blank\">\n View On Explorer\n </a>\n </Button>\n ) : null;\n\n const button3 =\n onCancelOrder && !successfulCancellation ? (\n <CancelButtonWithDrawer onCancelOrder={onCancelOrder} />\n ) : null;\n\n return (\n <div className=\"flex flex-col justify-center w-full gap-4\">\n {button1}\n {button2}\n {button3}\n </div>\n );\n};\n\nexport const TradeCompletedFooter = ({\n onDismiss,\n onCancelOrder,\n}: Pick<TradeCompletedFooterProps, \"onDismiss\" | \"onCancelOrder\">) => {\n const { explorerLink } = useTradeFlowContext();\n return (\n <TradeCompletedFooterBase\n onDismiss={onDismiss}\n onCancelOrder={onCancelOrder}\n explorerLink={explorerLink}\n />\n );\n};\n"],"mappings":";;;;;;AAUA,IAAMO,KAA2BC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAN,cAAAC,kBAAAC,oBAAAE,GAKhC,EAAAG,0BAAAC,wBAAoDX,GAAqB,EAEzEY,IACEF,MAA0B,gCAA1BC,GAA2EE;
|
|
1
|
+
{"version":3,"file":"TradeCompleteFooter.js","names":["Button","useTradeFlowContext","CancelButtonWithDrawer","TradeCompletedFooterProps","onDismiss","onCancelOrder","explorerLink","TradeCompletedFooterBase","t0","$","_c","orderCancellationStep","isOrderCancelled","successfulCancellation","t1","button1","t2","button2","t3","button3","t4","TradeCompletedFooter"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { useTradeFlowContext } from \"../tradeFlowContext\";\nimport { CancelButtonWithDrawer } from \"../CancelButtonWithDrawer\";\n\ntype TradeCompletedFooterProps = {\n onDismiss?: () => void;\n onCancelOrder?: () => void;\n explorerLink?: string;\n};\n\nconst TradeCompletedFooterBase = ({\n onDismiss,\n onCancelOrder,\n explorerLink,\n}: TradeCompletedFooterProps) => {\n const { orderCancellationStep, isOrderCancelled } = useTradeFlowContext();\n\n const successfulCancellation =\n orderCancellationStep === \"order-cancellation-success\" || isOrderCancelled;\n\n const button1 = (\n <Button\n variant=\"default\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n onClick={onDismiss}\n >\n Make Another Trade\n </Button>\n );\n\n const button2 = explorerLink ? (\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n asChild\n >\n <a href={explorerLink} rel=\"noopener noreferrer\" target=\"_blank\">\n View On Explorer\n </a>\n </Button>\n ) : null;\n\n const button3 =\n onCancelOrder && !successfulCancellation ? (\n <CancelButtonWithDrawer onCancelOrder={onCancelOrder} />\n ) : null;\n\n return (\n <div className=\"flex flex-col justify-center w-full gap-4\">\n {button1}\n {button2}\n {button3}\n </div>\n );\n};\n\nexport const TradeCompletedFooter = ({\n onDismiss,\n onCancelOrder,\n}: Pick<TradeCompletedFooterProps, \"onDismiss\" | \"onCancelOrder\">) => {\n const { explorerLink } = useTradeFlowContext();\n return (\n <TradeCompletedFooterBase\n onDismiss={onDismiss}\n onCancelOrder={onCancelOrder}\n explorerLink={explorerLink}\n />\n );\n};\n"],"mappings":";;;;;;AAUA,IAAMO,KAA2BC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAN,cAAAC,kBAAAC,oBAAAE,GAKhC,EAAAG,0BAAAC,wBAAoDX,GAAqB,EAEzEY,IACEF,MAA0B,gCAA1BC,GAA2EE;CAAA,AAAAL,EAAA,OAAAL,IAWlEU,IAAAL,EAAA,MARTK,IAAA,kBAAC,GAAD;EACU,SAAA;EACH,MAAA;EACE,QAAA;EACG,WAAA;EACDV,SAAAA;YACV;EAEQ,CAAA,EAAAK,EAAA,KAAAL,GAAAK,EAAA,KAAAK;CATX,IAAAC,IACED,GASAE;CAAA,AAAAP,EAAA,OAAAH,IAcMU,IAAAP,EAAA,MAZQO,IAAAV,IACd,kBAAC,GAAD;EACU,SAAA;EACH,MAAA;EACE,QAAA;EACG,WAAA;EACV,SAAA;YAEA,kBAAA,KAAA;GAASA,MAAAA;GAAkB,KAAA;GAA6B,QAAA;aAAS;GAGnE,CAAA;EACM,CAAA,GAZQ,MAYRG,EAAA,KAAAH,GAAAG,EAAA,KAAAO;CAZR,IAAAC,IAAgBD,GAYPE;CAAA,AAAAT,EAAA,OAAAJ,KAAAI,EAAA,OAAAI,KAGPK,IAAAb,KAAA,CAAkBQ,IAChB,kBAAC,GAAD,EAAuCR,kBACjC,CAAA,GAFR,MAEQI,EAAA,KAAAJ,GAAAI,EAAA,KAAAI,GAAAJ,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAHV,IAAAU,IACED,GAESE;CAOH,OAPGX,EAAA,OAAAM,KAAAN,EAAA,OAAAQ,KAAAR,EAAA,OAAAU,KAGTC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf;GACGL;GACAE;GACAE;GACG;KAAAV,EAAA,KAAAM,GAAAN,EAAA,KAAAQ,GAAAR,EAAA,KAAAU,GAAAV,EAAA,MAAAW,KAAAA,IAAAX,EAAA,KAJNW;GAQSC,KAAuBb,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAN,cAAAC,qBAAAG,GAInC,EAAAF,oBAAyBL,GAAqB,EAACa;CAM3C,OAN2CL,EAAA,OAAAH,KAAAG,EAAA,OAAAJ,KAAAI,EAAA,OAAAL,KAE7CU,IAAA,kBAAC,GAAD;EACaV;EACIC;EACDC;EACd,CAAA,EAAAG,EAAA,KAAAH,GAAAG,EAAA,KAAAJ,GAAAI,EAAA,KAAAL,GAAAK,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IAJFK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeCompleteHeader.js","names":["useTokenPrice","formatFiatPrice","getSurplusAmounts","useTradeFlowContext","OrderTradeFlowType","SwapTradeFlowType","TradeFlowType","tradeFlowCompletedTitle","isOrderTradeFlowType","TradeCompletedHeaderBaseProps","tradeFlowType","isOrderCancelled","TradeCompletedHeaderBase","t0","$","_c","children","title","t1","t2","TradeCompletedHeader","TradeCompletedHeaderSwap","swapTradeFlowType","result","toToken","surplus","surplusDisplay","surplusStr","symbol","address","data","tokenPriceObject","tokenPrice","price","amountInUSD","diffUnit","Number","formattedAmountInUSD","t3","t4","orderCreated","orderCancelled","TradeCompletedHeaderOrder","orderTradeFlowType","isLimit","isFillOTC","isTwap","subTitle"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.tsx"],"sourcesContent":["import { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { getSurplusAmounts } from \"./utils\";\nimport { useTradeFlowContext } from \"../tradeFlowContext\";\nimport type {\n OrderTradeFlowType,\n SwapTradeFlowType,\n TradeFlowType,\n} from \"@/hooks/swap/tradeFlow/common/types\";\nimport { tradeFlowCompletedTitle } from \"./constants\";\nimport { isOrderTradeFlowType } from \"@/hooks/swap/tradeFlow/common/utils\";\n\ntype TradeCompletedHeaderBaseProps = {\n tradeFlowType: TradeFlowType;\n isOrderCancelled?: boolean;\n};\n\nconst TradeCompletedHeaderBase = ({\n tradeFlowType,\n children,\n isOrderCancelled,\n}: React.PropsWithChildren<TradeCompletedHeaderBaseProps>) => {\n const title = isOrderCancelled\n ? \"Order Cancelled\"\n : tradeFlowCompletedTitle[tradeFlowType];\n return (\n <div className=\"flex flex-col gap-3 items-center\">\n <div className=\"font-medium text-lg text-contrast-5 dark:text-contrast-9\">\n {title}\n </div>\n {children}\n </div>\n );\n};\n\nexport const TradeCompletedHeader = ({\n tradeFlowType,\n isOrderCancelled,\n}: TradeCompletedHeaderBaseProps) => {\n if (isOrderTradeFlowType(tradeFlowType)) {\n return (\n <TradeCompletedHeaderOrder\n orderTradeFlowType={tradeFlowType}\n isOrderCancelled={isOrderCancelled}\n />\n );\n }\n\n return (\n <TradeCompletedHeaderSwap\n swapTradeFlowType={tradeFlowType}\n isOrderCancelled={isOrderCancelled}\n />\n );\n};\n\nconst TradeCompletedHeaderSwap = ({\n swapTradeFlowType,\n isOrderCancelled,\n}: {\n swapTradeFlowType: SwapTradeFlowType;\n isOrderCancelled?: boolean;\n}) => {\n const { result, toToken } = useTradeFlowContext();\n const surplus = getSurplusAmounts({ result, toToken });\n\n const surplusDisplay = surplus?.surplusStr\n ? `+${surplus.surplusStr} ${toToken.symbol ?? toToken.address}`\n : null;\n\n const { data: tokenPriceObject } = useTokenPrice(toToken);\n const tokenPrice = tokenPriceObject?.price;\n const amountInUSD =\n surplus?.diffUnit && tokenPrice\n ? Number(surplus.diffUnit) * tokenPrice\n : null;\n const formattedAmountInUSD = amountInUSD\n ? formatFiatPrice(amountInUSD)\n : null;\n\n return (\n <TradeCompletedHeaderBase\n tradeFlowType={swapTradeFlowType}\n isOrderCancelled={isOrderCancelled}\n >\n {surplusDisplay && !isOrderCancelled && (\n <div className=\"text-xs text-contrast-2\">\n Congrats! You received a surplus of {surplusDisplay}{\" \"}\n {formattedAmountInUSD && `(${formattedAmountInUSD})`}\n </div>\n )}\n </TradeCompletedHeaderBase>\n );\n};\n\nconst orderCreated = \"is now created\";\nconst orderCancelled = \"has been cancelled following your request\";\n\nconst TradeCompletedHeaderOrder = ({\n orderTradeFlowType,\n isOrderCancelled,\n}: {\n orderTradeFlowType: OrderTradeFlowType;\n isOrderCancelled?: boolean;\n}) => {\n const isLimit = orderTradeFlowType === \"limitOrder\";\n const isFillOTC = orderTradeFlowType === \"fillOtcOrder\";\n const isTwap = orderTradeFlowType === \"twapOrder\";\n\n let subTitle: string;\n if (isFillOTC) {\n subTitle = \"Your OTC order has been executed.\";\n } else if (isLimit) {\n //has been cancelled following your request\n //is now created\n subTitle = `Your limit order ${isOrderCancelled ? orderCancelled : orderCreated}.`;\n } else if (isTwap) {\n subTitle = `Your TWAP order ${isOrderCancelled ? orderCancelled : orderCreated}.`;\n } else {\n subTitle = `Your order ${isOrderCancelled ? orderCancelled : orderCreated}.`;\n }\n\n return (\n <TradeCompletedHeaderBase\n tradeFlowType={orderTradeFlowType}\n isOrderCancelled={isOrderCancelled}\n >\n <div className=\"flex flex-col gap-2 items-center text-xs dark:text-contrast-6\">\n {subTitle}\n </div>\n </TradeCompletedHeaderBase>\n );\n};\n"],"mappings":";;;;;;;;;AAiBA,IAAMY,KAA2BC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAL,kBAAAM,aAAAL,wBAAAE,GAKhCI,IAAcN,IAAA,oBAEVJ,EAAwBG,IAAeQ;
|
|
1
|
+
{"version":3,"file":"TradeCompleteHeader.js","names":["useTokenPrice","formatFiatPrice","getSurplusAmounts","useTradeFlowContext","OrderTradeFlowType","SwapTradeFlowType","TradeFlowType","tradeFlowCompletedTitle","isOrderTradeFlowType","TradeCompletedHeaderBaseProps","tradeFlowType","isOrderCancelled","TradeCompletedHeaderBase","t0","$","_c","children","title","t1","t2","TradeCompletedHeader","TradeCompletedHeaderSwap","swapTradeFlowType","result","toToken","surplus","surplusDisplay","surplusStr","symbol","address","data","tokenPriceObject","tokenPrice","price","amountInUSD","diffUnit","Number","formattedAmountInUSD","t3","t4","orderCreated","orderCancelled","TradeCompletedHeaderOrder","orderTradeFlowType","isLimit","isFillOTC","isTwap","subTitle"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.tsx"],"sourcesContent":["import { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { getSurplusAmounts } from \"./utils\";\nimport { useTradeFlowContext } from \"../tradeFlowContext\";\nimport type {\n OrderTradeFlowType,\n SwapTradeFlowType,\n TradeFlowType,\n} from \"@/hooks/swap/tradeFlow/common/types\";\nimport { tradeFlowCompletedTitle } from \"./constants\";\nimport { isOrderTradeFlowType } from \"@/hooks/swap/tradeFlow/common/utils\";\n\ntype TradeCompletedHeaderBaseProps = {\n tradeFlowType: TradeFlowType;\n isOrderCancelled?: boolean;\n};\n\nconst TradeCompletedHeaderBase = ({\n tradeFlowType,\n children,\n isOrderCancelled,\n}: React.PropsWithChildren<TradeCompletedHeaderBaseProps>) => {\n const title = isOrderCancelled\n ? \"Order Cancelled\"\n : tradeFlowCompletedTitle[tradeFlowType];\n return (\n <div className=\"flex flex-col gap-3 items-center\">\n <div className=\"font-medium text-lg text-contrast-5 dark:text-contrast-9\">\n {title}\n </div>\n {children}\n </div>\n );\n};\n\nexport const TradeCompletedHeader = ({\n tradeFlowType,\n isOrderCancelled,\n}: TradeCompletedHeaderBaseProps) => {\n if (isOrderTradeFlowType(tradeFlowType)) {\n return (\n <TradeCompletedHeaderOrder\n orderTradeFlowType={tradeFlowType}\n isOrderCancelled={isOrderCancelled}\n />\n );\n }\n\n return (\n <TradeCompletedHeaderSwap\n swapTradeFlowType={tradeFlowType}\n isOrderCancelled={isOrderCancelled}\n />\n );\n};\n\nconst TradeCompletedHeaderSwap = ({\n swapTradeFlowType,\n isOrderCancelled,\n}: {\n swapTradeFlowType: SwapTradeFlowType;\n isOrderCancelled?: boolean;\n}) => {\n const { result, toToken } = useTradeFlowContext();\n const surplus = getSurplusAmounts({ result, toToken });\n\n const surplusDisplay = surplus?.surplusStr\n ? `+${surplus.surplusStr} ${toToken.symbol ?? toToken.address}`\n : null;\n\n const { data: tokenPriceObject } = useTokenPrice(toToken);\n const tokenPrice = tokenPriceObject?.price;\n const amountInUSD =\n surplus?.diffUnit && tokenPrice\n ? Number(surplus.diffUnit) * tokenPrice\n : null;\n const formattedAmountInUSD = amountInUSD\n ? formatFiatPrice(amountInUSD)\n : null;\n\n return (\n <TradeCompletedHeaderBase\n tradeFlowType={swapTradeFlowType}\n isOrderCancelled={isOrderCancelled}\n >\n {surplusDisplay && !isOrderCancelled && (\n <div className=\"text-xs text-contrast-2\">\n Congrats! You received a surplus of {surplusDisplay}{\" \"}\n {formattedAmountInUSD && `(${formattedAmountInUSD})`}\n </div>\n )}\n </TradeCompletedHeaderBase>\n );\n};\n\nconst orderCreated = \"is now created\";\nconst orderCancelled = \"has been cancelled following your request\";\n\nconst TradeCompletedHeaderOrder = ({\n orderTradeFlowType,\n isOrderCancelled,\n}: {\n orderTradeFlowType: OrderTradeFlowType;\n isOrderCancelled?: boolean;\n}) => {\n const isLimit = orderTradeFlowType === \"limitOrder\";\n const isFillOTC = orderTradeFlowType === \"fillOtcOrder\";\n const isTwap = orderTradeFlowType === \"twapOrder\";\n\n let subTitle: string;\n if (isFillOTC) {\n subTitle = \"Your OTC order has been executed.\";\n } else if (isLimit) {\n //has been cancelled following your request\n //is now created\n subTitle = `Your limit order ${isOrderCancelled ? orderCancelled : orderCreated}.`;\n } else if (isTwap) {\n subTitle = `Your TWAP order ${isOrderCancelled ? orderCancelled : orderCreated}.`;\n } else {\n subTitle = `Your order ${isOrderCancelled ? orderCancelled : orderCreated}.`;\n }\n\n return (\n <TradeCompletedHeaderBase\n tradeFlowType={orderTradeFlowType}\n isOrderCancelled={isOrderCancelled}\n >\n <div className=\"flex flex-col gap-2 items-center text-xs dark:text-contrast-6\">\n {subTitle}\n </div>\n </TradeCompletedHeaderBase>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeCompletedDetails.js","names":["DetailWithValueList","useTradeCompletedDetails","tradeCompletedDetailsClasses","root","title","value","TradeCompletedDetails","$","_c","details","t0"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.tsx"],"sourcesContent":["import { DetailWithValueList } from \"../../Details/DetailWithValueList\";\nimport { useTradeCompletedDetails } from \"./useTradeCompleteDetails\";\n\nconst tradeCompletedDetailsClasses = {\n root: \"gap-3\",\n title: \"text-contrast-4 dark:text-contrast-6\",\n value: \"text-contrast-4 dark:text-contrast-7\",\n};\n\nexport const TradeCompletedDetails = () => {\n const details = useTradeCompletedDetails();\n return (\n <div className=\"flex flex-col rounded-sm border border-contrast-7 dark:border-contrast-3 p-4\">\n <DetailWithValueList\n details={details}\n classes={tradeCompletedDetailsClasses}\n />\n </div>\n );\n};\n"],"mappings":";;;;;AAGA,IAAME,IAA+B;CACnCC,MAAM;CACNC,OAAO;CACPC,OAAO;CACR,EAEYC,UAAwB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACnCC,IAAgBR,GAA0B,EAACS;
|
|
1
|
+
{"version":3,"file":"TradeCompletedDetails.js","names":["DetailWithValueList","useTradeCompletedDetails","tradeCompletedDetailsClasses","root","title","value","TradeCompletedDetails","$","_c","details","t0"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.tsx"],"sourcesContent":["import { DetailWithValueList } from \"../../Details/DetailWithValueList\";\nimport { useTradeCompletedDetails } from \"./useTradeCompleteDetails\";\n\nconst tradeCompletedDetailsClasses = {\n root: \"gap-3\",\n title: \"text-contrast-4 dark:text-contrast-6\",\n value: \"text-contrast-4 dark:text-contrast-7\",\n};\n\nexport const TradeCompletedDetails = () => {\n const details = useTradeCompletedDetails();\n return (\n <div className=\"flex flex-col rounded-sm border border-contrast-7 dark:border-contrast-3 p-4\">\n <DetailWithValueList\n details={details}\n classes={tradeCompletedDetailsClasses}\n />\n </div>\n );\n};\n"],"mappings":";;;;;AAGA,IAAME,IAA+B;CACnCC,MAAM;CACNC,OAAO;CACPC,OAAO;CACR,EAEYC,UAAwB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACnCC,IAAgBR,GAA0B,EAACS;CAOnC,OAPmCH,EAAA,OAAAE,IAOnCC,IAAAH,EAAA,MALNG,IAAA,kBAAA,OAAA;EAAe,WAAA;YACb,kBAAC,GAAD;GACWD;GACAP,SAAAA;GAEb,CAAA;EAAM,CAAA,EAAAK,EAAA,KAAAE,GAAAF,EAAA,KAAAG,IALNA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["TradeFlowType","TradeCompletedDetails","TradeCompletedHeader","useTradeFlowContext","TradeCompleteProps","tradeFlowType","TradeComplete","t0","$","_c","isOrderCancelled","t1","t2","t3"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/index.tsx"],"sourcesContent":["import type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\n\nimport { TradeCompletedDetails } from \"./TradeCompletedDetails\";\nimport { TradeCompletedHeader } from \"./TradeCompleteHeader\";\nimport { useTradeFlowContext } from \"../tradeFlowContext\";\n\ntype TradeCompleteProps = {\n tradeFlowType: TradeFlowType;\n};\n\nexport const TradeComplete = ({ tradeFlowType }: TradeCompleteProps) => {\n const { isOrderCancelled } = useTradeFlowContext();\n\n return (\n <div className=\"flex flex-col gap-4\">\n <TradeCompletedHeader\n tradeFlowType={tradeFlowType}\n isOrderCancelled={isOrderCancelled}\n />\n {!isOrderCancelled && <TradeCompletedDetails />}\n </div>\n );\n};\n"],"mappings":";;;;;;AAUA,IAAaM,KAAgBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAJ,qBAAAE,GAC5B,EAAAG,wBAA6BP,GAAqB,EAACQ;
|
|
1
|
+
{"version":3,"file":"index.js","names":["TradeFlowType","TradeCompletedDetails","TradeCompletedHeader","useTradeFlowContext","TradeCompleteProps","tradeFlowType","TradeComplete","t0","$","_c","isOrderCancelled","t1","t2","t3"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/index.tsx"],"sourcesContent":["import type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\n\nimport { TradeCompletedDetails } from \"./TradeCompletedDetails\";\nimport { TradeCompletedHeader } from \"./TradeCompleteHeader\";\nimport { useTradeFlowContext } from \"../tradeFlowContext\";\n\ntype TradeCompleteProps = {\n tradeFlowType: TradeFlowType;\n};\n\nexport const TradeComplete = ({ tradeFlowType }: TradeCompleteProps) => {\n const { isOrderCancelled } = useTradeFlowContext();\n\n return (\n <div className=\"flex flex-col gap-4\">\n <TradeCompletedHeader\n tradeFlowType={tradeFlowType}\n isOrderCancelled={isOrderCancelled}\n />\n {!isOrderCancelled && <TradeCompletedDetails />}\n </div>\n );\n};\n"],"mappings":";;;;;;AAUA,IAAaM,KAAgBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAJ,qBAAAE,GAC5B,EAAAG,wBAA6BP,GAAqB,EAACQ;CAAA,AAAAH,EAAA,OAAAE,KAAAF,EAAA,OAAAH,KAI/CM,IAAA,kBAAC,GAAD;EACiBN;EACGK;EAClB,CAAA,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAH,GAAAG,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CAAA,IAAAI;CAAA,AAAAJ,EAAA,OAAAE,IAC6CE,IAAAJ,EAAA,MAA9CI,IAAA,CAACF,KAAoB,kBAAC,GAAD,EAAyB,CAAA,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAAA,IAAAC;CAC3C,OAD2CL,EAAA,OAAAG,KAAAH,EAAA,OAAAI,KALjDC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEF,GAICC,EACG;KAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IANNK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTradeCompleteDetails.js","names":["useTokenTransfersFromReceipt","DetailWithValue","TokenBadge","useTradeFlowContext","getExpectedTransferAmounts","getResultAmounts","Address","useMemo","isTruthy","isOrderTradeFlowType","TimeTillExpiry","getTwapOrderDeadlineFromSlices","badgeClasses","root","useTradeCompletedDetails","$","_c","fromToken","toToken","result","t0","tradeFlowType","isOrderFlow","isMarketSwap","isTwap","t1","resultWeiAmounts","receipt","swap","callsReceipt","undefined","t2","t3","account","t4","receiverAddress","t5","tokensMap","t6","network","tokens","senderAddress","chainId","expectedTokenTransfers","data","tokenTransfers","fromAmountFinal","address","sentAmount","fromAmountWei","toAmountFinal","receivedAmount","toAmountWei","details","isBuy","amounts","key","title","value","img","symbol","fromAmountUnit","toAmountUnit","rateStr","filter","order","createdAt","twapOrder","sentOrder","t7","deadline","t8","numSlices","t9","t10","twapDetails","push"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.tsx"],"sourcesContent":["import { useTokenTransfersFromReceipt } from \"@/tokens/utils/transferAmountsFromReceipt\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport { TokenBadge } from \"../../TokenBadge/TokenBadge\";\nimport { useTradeFlowContext } from \"../tradeFlowContext\";\nimport { getExpectedTransferAmounts, getResultAmounts } from \"./utils\";\nimport type { Address } from \"viem\";\nimport { useMemo } from \"react\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { isOrderTradeFlowType } from \"@/hooks/swap/tradeFlow/common/utils\";\nimport { TimeTillExpiry } from \"../../LimitOrderItem/LimitOrderListItem\";\nimport { getTwapOrderDeadlineFromSlices } from \"@/hooks/swap/prices/delta/orders/utils\";\n\nconst badgeClasses = {\n root: \"text-xs text-contrast-1 dark:text-contrast-8 font-medium\",\n};\n\nexport function useTradeCompletedDetails(): DetailWithValue[] {\n const { fromToken, toToken, result } = useTradeFlowContext();\n const isOrderFlow =\n !!result?.tradeFlowType && isOrderTradeFlowType(result.tradeFlowType);\n\n const isMarketSwap = result?.tradeFlowType === \"marketSwap\";\n const isTwap = result?.tradeFlowType === \"twapOrder\";\n\n const resultWeiAmounts = useMemo(() => {\n return getExpectedTransferAmounts({\n result,\n });\n }, [result]);\n\n const receipt = isMarketSwap\n ? // for batch txs callsReceipt will be available, but not the usual tx receipt\n result.swap.receipt || result.swap.callsReceipt\n : undefined;\n\n const { data: tokenTransfers } = useTokenTransfersFromReceipt({\n receipt,\n tokens: [fromToken, toToken],\n senderAddress: result?.account,\n receiverAddress: result?.receiverAddress,\n chainId: fromToken.network,\n expectedTokenTransfers: resultWeiAmounts?.tokensMap,\n });\n\n const fromAmountFinal =\n tokenTransfers?.[fromToken.address as Address]?.sentAmount ??\n resultWeiAmounts?.fromAmountWei;\n const toAmountFinal =\n tokenTransfers?.[toToken.address as Address]?.receivedAmount ??\n resultWeiAmounts?.toAmountWei;\n\n const amounts = getResultAmounts({\n fromAmountWei: fromAmountFinal,\n toAmountWei: toAmountFinal,\n isBuy: resultWeiAmounts?.isBuy,\n fromToken,\n toToken,\n });\n\n const details: DetailWithValue[] = [\n {\n key: \"sold\",\n title: isOrderFlow ? \"Pay\" : \"You sold\",\n value: (\n <TokenBadge\n address={fromToken.address}\n chainId={fromToken.network}\n img={fromToken.img}\n symbol={fromToken.symbol}\n showNetworkIcon\n amount={amounts.fromAmountUnit}\n classes={badgeClasses}\n />\n ),\n },\n {\n key: \"received\",\n title: isOrderFlow ? \"Receive\" : \"You received\",\n value: (\n <TokenBadge\n address={toToken.address}\n chainId={toToken.network}\n img={toToken.img}\n symbol={toToken.symbol}\n showNetworkIcon\n amount={amounts.toAmountUnit}\n classes={badgeClasses}\n />\n ),\n },\n !isOrderFlow && {\n key: \"rate\",\n title: \"Best Rate\",\n value: amounts.rateStr,\n },\n ].filter(isTruthy);\n\n if (isTwap) {\n const { order, createdAt } = result.twapOrder.sentOrder;\n const deadline = getTwapOrderDeadlineFromSlices(order, createdAt);\n\n const twapDetails = [\n {\n key: \"orderSplits\",\n title: \"Order Splits\",\n value: order.numSlices,\n },\n {\n key: \"orderDuration\",\n title: \"Order Duration\",\n value: <TimeTillExpiry deadline={deadline} />,\n },\n ];\n\n details.push(...twapDetails);\n }\n\n return details;\n}\n"],"mappings":";;;;;;;;;;;;AAYA,IAAMY,IAAe,EACnBC,MAAM,4DACP;AAED,SAAOC,IAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACL,EAAAC,cAAAC,YAAAC,cAAuChB,GAAqB,EAACiB;
|
|
1
|
+
{"version":3,"file":"useTradeCompleteDetails.js","names":["useTokenTransfersFromReceipt","DetailWithValue","TokenBadge","useTradeFlowContext","getExpectedTransferAmounts","getResultAmounts","Address","useMemo","isTruthy","isOrderTradeFlowType","TimeTillExpiry","getTwapOrderDeadlineFromSlices","badgeClasses","root","useTradeCompletedDetails","$","_c","fromToken","toToken","result","t0","tradeFlowType","isOrderFlow","isMarketSwap","isTwap","t1","resultWeiAmounts","receipt","swap","callsReceipt","undefined","t2","t3","account","t4","receiverAddress","t5","tokensMap","t6","network","tokens","senderAddress","chainId","expectedTokenTransfers","data","tokenTransfers","fromAmountFinal","address","sentAmount","fromAmountWei","toAmountFinal","receivedAmount","toAmountWei","details","isBuy","amounts","key","title","value","img","symbol","fromAmountUnit","toAmountUnit","rateStr","filter","order","createdAt","twapOrder","sentOrder","t7","deadline","t8","numSlices","t9","t10","twapDetails","push"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.tsx"],"sourcesContent":["import { useTokenTransfersFromReceipt } from \"@/tokens/utils/transferAmountsFromReceipt\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport { TokenBadge } from \"../../TokenBadge/TokenBadge\";\nimport { useTradeFlowContext } from \"../tradeFlowContext\";\nimport { getExpectedTransferAmounts, getResultAmounts } from \"./utils\";\nimport type { Address } from \"viem\";\nimport { useMemo } from \"react\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { isOrderTradeFlowType } from \"@/hooks/swap/tradeFlow/common/utils\";\nimport { TimeTillExpiry } from \"../../LimitOrderItem/LimitOrderListItem\";\nimport { getTwapOrderDeadlineFromSlices } from \"@/hooks/swap/prices/delta/orders/utils\";\n\nconst badgeClasses = {\n root: \"text-xs text-contrast-1 dark:text-contrast-8 font-medium\",\n};\n\nexport function useTradeCompletedDetails(): DetailWithValue[] {\n const { fromToken, toToken, result } = useTradeFlowContext();\n const isOrderFlow =\n !!result?.tradeFlowType && isOrderTradeFlowType(result.tradeFlowType);\n\n const isMarketSwap = result?.tradeFlowType === \"marketSwap\";\n const isTwap = result?.tradeFlowType === \"twapOrder\";\n\n const resultWeiAmounts = useMemo(() => {\n return getExpectedTransferAmounts({\n result,\n });\n }, [result]);\n\n const receipt = isMarketSwap\n ? // for batch txs callsReceipt will be available, but not the usual tx receipt\n result.swap.receipt || result.swap.callsReceipt\n : undefined;\n\n const { data: tokenTransfers } = useTokenTransfersFromReceipt({\n receipt,\n tokens: [fromToken, toToken],\n senderAddress: result?.account,\n receiverAddress: result?.receiverAddress,\n chainId: fromToken.network,\n expectedTokenTransfers: resultWeiAmounts?.tokensMap,\n });\n\n const fromAmountFinal =\n tokenTransfers?.[fromToken.address as Address]?.sentAmount ??\n resultWeiAmounts?.fromAmountWei;\n const toAmountFinal =\n tokenTransfers?.[toToken.address as Address]?.receivedAmount ??\n resultWeiAmounts?.toAmountWei;\n\n const amounts = getResultAmounts({\n fromAmountWei: fromAmountFinal,\n toAmountWei: toAmountFinal,\n isBuy: resultWeiAmounts?.isBuy,\n fromToken,\n toToken,\n });\n\n const details: DetailWithValue[] = [\n {\n key: \"sold\",\n title: isOrderFlow ? \"Pay\" : \"You sold\",\n value: (\n <TokenBadge\n address={fromToken.address}\n chainId={fromToken.network}\n img={fromToken.img}\n symbol={fromToken.symbol}\n showNetworkIcon\n amount={amounts.fromAmountUnit}\n classes={badgeClasses}\n />\n ),\n },\n {\n key: \"received\",\n title: isOrderFlow ? \"Receive\" : \"You received\",\n value: (\n <TokenBadge\n address={toToken.address}\n chainId={toToken.network}\n img={toToken.img}\n symbol={toToken.symbol}\n showNetworkIcon\n amount={amounts.toAmountUnit}\n classes={badgeClasses}\n />\n ),\n },\n !isOrderFlow && {\n key: \"rate\",\n title: \"Best Rate\",\n value: amounts.rateStr,\n },\n ].filter(isTruthy);\n\n if (isTwap) {\n const { order, createdAt } = result.twapOrder.sentOrder;\n const deadline = getTwapOrderDeadlineFromSlices(order, createdAt);\n\n const twapDetails = [\n {\n key: \"orderSplits\",\n title: \"Order Splits\",\n value: order.numSlices,\n },\n {\n key: \"orderDuration\",\n title: \"Order Duration\",\n value: <TimeTillExpiry deadline={deadline} />,\n },\n ];\n\n details.push(...twapDetails);\n }\n\n return details;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["formatTokenBalanceClean","TradeFlowResult","calcRate","MinTradeFlowToken","Big","Address","TokenTransfers","getUnifiedDeltaOrderData","ResultAmounts","fromAmountWei","toAmountWei","fromAmountUnit","toAmountUnit","rateStr","rate","rateFormatted","RawAmountsAndSide","tokensMap","Record","isBuy","ResultAmountsInput","fromToken","toToken","getExpectedTransferAmounts","result","tradeFlowType","order","deltaOrder","lastOrderState","sentOrder","srcToken","destToken","srcAmount","destAmount","swapSide","token","sentAmount","BigInt","receivedAmount","limitOrder","makerAsset","takerAsset","otcOrder","makerAmount","takerAmount","fill","twapOrder","marketPrice","side","getResultAmounts","undefined","decimals","rates","symbol","address","toString","SurplusAmounts","expectedAmount","diffWei","diffUnit","surplusStr","SurplusAmountsInput","getSurplusAmounts","txs","transactions","length","actualReceived","reduce","acc","tx","Number"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/utils.ts"],"sourcesContent":["import { formatTokenBalanceClean } from \"@/lib/utils/formatTokenBalance\";\nimport type { TradeFlowResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { MinTradeFlowToken } from \"../TradeDetails\";\nimport type Big from \"big.js\";\nimport type { Address } from \"viem\";\nimport type { TokenTransfers } from \"@/tokens/utils/transferAmountsFromReceipt\";\nimport { getUnifiedDeltaOrderData } from \"@/hooks/swap/prices/delta/orders/utils\";\n\ntype ResultAmounts = {\n fromAmountWei: string;\n toAmountWei: string;\n fromAmountUnit: string;\n toAmountUnit: string;\n rateStr: string | null;\n rate?: Big;\n rateFormatted?: string;\n};\n\ntype RawAmountsAndSide = {\n fromAmountWei: string;\n toAmountWei: string;\n tokensMap: Record<Address, TokenTransfers>;\n isBuy: boolean;\n};\n\ntype ResultAmountsInput = {\n fromAmountWei?: string | bigint;\n toAmountWei?: string | bigint;\n isBuy?: boolean;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n};\n\nexport function getExpectedTransferAmounts({\n result,\n}: {\n result?: TradeFlowResult;\n}): RawAmountsAndSide | undefined {\n if (!result) {\n return;\n }\n\n if (result.tradeFlowType === \"deltaOrder\") {\n const order =\n result.deltaOrder.lastOrderState || result.deltaOrder.sentOrder;\n const {\n srcToken,\n destToken,\n srcAmount: fromAmountWei,\n destAmount: toAmountWei,\n swapSide,\n } = getUnifiedDeltaOrderData(order);\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy,\n };\n }\n\n if (result.tradeFlowType === \"limitOrder\") {\n const order = result.limitOrder.sentOrder;\n const {\n srcToken,\n destToken,\n srcAmount: fromAmountWei,\n destAmount: toAmountWei,\n } = getUnifiedDeltaOrderData(order);\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"otcOrder\") {\n const { makerAsset, takerAsset } = result.otcOrder.sentOrder;\n\n const fromAmountWei = result.otcOrder.sentOrder.makerAmount;\n const toAmountWei = result.otcOrder.sentOrder.takerAmount;\n\n const tokensMap = {\n [makerAsset]: {\n // token was sent\n token: makerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [takerAsset]: {\n // token was received\n token: takerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"fillOtcOrder\") {\n const { makerAsset, takerAsset } = result.fill.order;\n\n const fromAmountWei = result.fill.order.takerAmount;\n const toAmountWei = result.fill.order.makerAmount;\n\n const tokensMap = {\n [takerAsset]: {\n // token was sent\n token: takerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [makerAsset]: {\n // token was received\n token: makerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"twapOrder\") {\n const order = result.twapOrder.lastOrderState || result.twapOrder.sentOrder;\n const {\n srcToken,\n destToken,\n srcAmount: fromAmountWei,\n destAmount: toAmountWei,\n swapSide,\n } = getUnifiedDeltaOrderData(order);\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy,\n };\n }\n\n // result.tradeFlowType === \"marketSwap\" is the one left\n const { srcToken, destToken } = result.marketPrice;\n const fromAmountWei = result.marketPrice.srcAmount;\n const toAmountWei = result.marketPrice.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: result.marketPrice.side === \"BUY\",\n };\n}\n\nexport function getResultAmounts({\n fromAmountWei,\n toAmountWei,\n isBuy,\n fromToken,\n toToken,\n}: ResultAmountsInput): ResultAmounts {\n if (!fromAmountWei || !toAmountWei || isBuy === undefined) {\n return {\n fromAmountWei: \"0\",\n toAmountWei: \"0\",\n fromAmountUnit: \"0\",\n toAmountUnit: \"0\",\n rateStr: null,\n };\n }\n\n const fromAmountUnit = formatTokenBalanceClean(\n fromAmountWei,\n fromToken.decimals\n );\n const toAmountUnit = formatTokenBalanceClean(toAmountWei, toToken.decimals);\n\n const { srcToken, destToken, srcAmount, destAmount } = isBuy\n ? {\n srcToken: fromToken,\n destToken: toToken,\n srcAmount: fromAmountUnit,\n destAmount: toAmountUnit,\n }\n : {\n srcToken: toToken,\n destToken: fromToken,\n srcAmount: toAmountUnit,\n destAmount: fromAmountUnit,\n };\n\n const rates = calcRate(srcAmount, destAmount);\n const rateStr = rates\n ? `1 ${srcToken.symbol ?? srcToken.address} = ${rates.rateFormatted} ${destToken.symbol ?? destToken.address}`\n : null;\n\n return {\n fromAmountWei: fromAmountWei.toString(),\n toAmountWei: toAmountWei.toString(),\n fromAmountUnit,\n toAmountUnit,\n ...rates,\n rateStr,\n };\n}\n\ntype SurplusAmounts = {\n expectedAmount: bigint;\n receivedAmount: bigint;\n diffWei: bigint;\n diffUnit: string;\n surplusStr: string | null;\n};\n\ntype SurplusAmountsInput = {\n result?: TradeFlowResult;\n toToken: MinTradeFlowToken;\n};\n\nexport function getSurplusAmounts({\n result,\n toToken,\n}: SurplusAmountsInput): SurplusAmounts | null {\n if (!result) {\n return null;\n }\n\n if (result.tradeFlowType !== \"deltaOrder\") {\n // @TODO add surplus calc from SwapTx Receipt\n return null;\n }\n\n const txs = result.deltaOrder.lastOrderState?.transactions;\n if (!txs || txs.length === 0) {\n return null;\n }\n\n // @TODO check that expectedDestAmount is the amount shown at Order creation, not destAmount (=minAmount)\n const expectedAmount = BigInt(\n result.deltaOrder.lastOrderState?.order.expectedAmount ||\n result.deltaOrder.sentOrder.order.expectedAmount\n );\n\n const actualReceived = txs.reduce((acc, tx) => {\n return acc + BigInt(tx.receivedAmount);\n }, 0n);\n\n const diffWei = actualReceived - expectedAmount;\n\n const diffUnit = formatTokenBalanceClean(diffWei, toToken.decimals, 2);\n // don't show 0.00%\n const surplusStr = Number(diffUnit) > 0 ? diffUnit : null;\n\n return {\n expectedAmount,\n receivedAmount: actualReceived,\n diffWei,\n diffUnit,\n surplusStr,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","names":["formatTokenBalanceClean","TradeFlowResult","calcRate","MinTradeFlowToken","Big","Address","TokenTransfers","getUnifiedDeltaOrderData","ResultAmounts","fromAmountWei","toAmountWei","fromAmountUnit","toAmountUnit","rateStr","rate","rateFormatted","RawAmountsAndSide","tokensMap","Record","isBuy","ResultAmountsInput","fromToken","toToken","getExpectedTransferAmounts","result","tradeFlowType","order","deltaOrder","lastOrderState","sentOrder","srcToken","destToken","srcAmount","destAmount","swapSide","token","sentAmount","BigInt","receivedAmount","limitOrder","makerAsset","takerAsset","otcOrder","makerAmount","takerAmount","fill","twapOrder","marketPrice","side","getResultAmounts","undefined","decimals","rates","symbol","address","toString","SurplusAmounts","expectedAmount","diffWei","diffUnit","surplusStr","SurplusAmountsInput","getSurplusAmounts","txs","transactions","length","actualReceived","reduce","acc","tx","Number"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/utils.ts"],"sourcesContent":["import { formatTokenBalanceClean } from \"@/lib/utils/formatTokenBalance\";\nimport type { TradeFlowResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { MinTradeFlowToken } from \"../TradeDetails\";\nimport type Big from \"big.js\";\nimport type { Address } from \"viem\";\nimport type { TokenTransfers } from \"@/tokens/utils/transferAmountsFromReceipt\";\nimport { getUnifiedDeltaOrderData } from \"@/hooks/swap/prices/delta/orders/utils\";\n\ntype ResultAmounts = {\n fromAmountWei: string;\n toAmountWei: string;\n fromAmountUnit: string;\n toAmountUnit: string;\n rateStr: string | null;\n rate?: Big;\n rateFormatted?: string;\n};\n\ntype RawAmountsAndSide = {\n fromAmountWei: string;\n toAmountWei: string;\n tokensMap: Record<Address, TokenTransfers>;\n isBuy: boolean;\n};\n\ntype ResultAmountsInput = {\n fromAmountWei?: string | bigint;\n toAmountWei?: string | bigint;\n isBuy?: boolean;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n};\n\nexport function getExpectedTransferAmounts({\n result,\n}: {\n result?: TradeFlowResult;\n}): RawAmountsAndSide | undefined {\n if (!result) {\n return;\n }\n\n if (result.tradeFlowType === \"deltaOrder\") {\n const order =\n result.deltaOrder.lastOrderState || result.deltaOrder.sentOrder;\n const {\n srcToken,\n destToken,\n srcAmount: fromAmountWei,\n destAmount: toAmountWei,\n swapSide,\n } = getUnifiedDeltaOrderData(order);\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy,\n };\n }\n\n if (result.tradeFlowType === \"limitOrder\") {\n const order = result.limitOrder.sentOrder;\n const {\n srcToken,\n destToken,\n srcAmount: fromAmountWei,\n destAmount: toAmountWei,\n } = getUnifiedDeltaOrderData(order);\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"otcOrder\") {\n const { makerAsset, takerAsset } = result.otcOrder.sentOrder;\n\n const fromAmountWei = result.otcOrder.sentOrder.makerAmount;\n const toAmountWei = result.otcOrder.sentOrder.takerAmount;\n\n const tokensMap = {\n [makerAsset]: {\n // token was sent\n token: makerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [takerAsset]: {\n // token was received\n token: takerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"fillOtcOrder\") {\n const { makerAsset, takerAsset } = result.fill.order;\n\n const fromAmountWei = result.fill.order.takerAmount;\n const toAmountWei = result.fill.order.makerAmount;\n\n const tokensMap = {\n [takerAsset]: {\n // token was sent\n token: takerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [makerAsset]: {\n // token was received\n token: makerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"twapOrder\") {\n const order = result.twapOrder.lastOrderState || result.twapOrder.sentOrder;\n const {\n srcToken,\n destToken,\n srcAmount: fromAmountWei,\n destAmount: toAmountWei,\n swapSide,\n } = getUnifiedDeltaOrderData(order);\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy,\n };\n }\n\n // result.tradeFlowType === \"marketSwap\" is the one left\n const { srcToken, destToken } = result.marketPrice;\n const fromAmountWei = result.marketPrice.srcAmount;\n const toAmountWei = result.marketPrice.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: result.marketPrice.side === \"BUY\",\n };\n}\n\nexport function getResultAmounts({\n fromAmountWei,\n toAmountWei,\n isBuy,\n fromToken,\n toToken,\n}: ResultAmountsInput): ResultAmounts {\n if (!fromAmountWei || !toAmountWei || isBuy === undefined) {\n return {\n fromAmountWei: \"0\",\n toAmountWei: \"0\",\n fromAmountUnit: \"0\",\n toAmountUnit: \"0\",\n rateStr: null,\n };\n }\n\n const fromAmountUnit = formatTokenBalanceClean(\n fromAmountWei,\n fromToken.decimals\n );\n const toAmountUnit = formatTokenBalanceClean(toAmountWei, toToken.decimals);\n\n const { srcToken, destToken, srcAmount, destAmount } = isBuy\n ? {\n srcToken: fromToken,\n destToken: toToken,\n srcAmount: fromAmountUnit,\n destAmount: toAmountUnit,\n }\n : {\n srcToken: toToken,\n destToken: fromToken,\n srcAmount: toAmountUnit,\n destAmount: fromAmountUnit,\n };\n\n const rates = calcRate(srcAmount, destAmount);\n const rateStr = rates\n ? `1 ${srcToken.symbol ?? srcToken.address} = ${rates.rateFormatted} ${destToken.symbol ?? destToken.address}`\n : null;\n\n return {\n fromAmountWei: fromAmountWei.toString(),\n toAmountWei: toAmountWei.toString(),\n fromAmountUnit,\n toAmountUnit,\n ...rates,\n rateStr,\n };\n}\n\ntype SurplusAmounts = {\n expectedAmount: bigint;\n receivedAmount: bigint;\n diffWei: bigint;\n diffUnit: string;\n surplusStr: string | null;\n};\n\ntype SurplusAmountsInput = {\n result?: TradeFlowResult;\n toToken: MinTradeFlowToken;\n};\n\nexport function getSurplusAmounts({\n result,\n toToken,\n}: SurplusAmountsInput): SurplusAmounts | null {\n if (!result) {\n return null;\n }\n\n if (result.tradeFlowType !== \"deltaOrder\") {\n // @TODO add surplus calc from SwapTx Receipt\n return null;\n }\n\n const txs = result.deltaOrder.lastOrderState?.transactions;\n if (!txs || txs.length === 0) {\n return null;\n }\n\n // @TODO check that expectedDestAmount is the amount shown at Order creation, not destAmount (=minAmount)\n const expectedAmount = BigInt(\n result.deltaOrder.lastOrderState?.order.expectedAmount ||\n result.deltaOrder.sentOrder.order.expectedAmount\n );\n\n const actualReceived = txs.reduce((acc, tx) => {\n return acc + BigInt(tx.receivedAmount);\n }, 0n);\n\n const diffWei = actualReceived - expectedAmount;\n\n const diffUnit = formatTokenBalanceClean(diffWei, toToken.decimals, 2);\n // don't show 0.00%\n const surplusStr = Number(diffUnit) > 0 ? diffUnit : null;\n\n return {\n expectedAmount,\n receivedAmount: actualReceived,\n diffWei,\n diffUnit,\n surplusStr,\n };\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeDetails.js","names":["TokenBadge","formatTokenAmount","Token","useTradeFlowContext","TradeDetailsDisplay","SwapSideUnion","TradeFlowType","isSwapTradeFlowType","WarningWithTitle","WarningProps","PayReceiveInfoProps","useTokenPrice","PayReceiveInfo","InfoIcon","SwapRate","parseUnits","TokenBadgeProps","MinTradeFlowToken","Pick","TradeDetailsProps","fromToken","toToken","fromAmount","toAmount","tradeFlowType","swapSide","badgeClasses","root","TradeAnimatedProgressDetailsBase","t0","$","_c","t1","undefined","t2","isSwapFlow","isSell","fromTokenLabel","toTokenLabel","T0","t10","t11","t12","t13","t14","t15","t3","t4","t5","t6","t7","t8","t9","fromTokenObj","token","label","amount","toTokenObj","firstToken","secondToken","Symbol","for","address","network","img","symbol","t16","t17","t18","t19","tokenBadgeClasses","logo","InfoPropsExtraInput","srcToken","destToken","srcAmountUnit","destAmountUnit","constructPayReceiveInfoProps","extra","srcTokenPrice","destTokenPrice","formattedSrcAmount","formattedDestAmount","srcUsdAmount","parseFloat","destUsdAmount","isCrossChain","topTokenBadgeProps","chainId","amountPosition","const","classes","showNetworkIcon","bottomTokenBadgeProps","srcAmountWei","decimals","destAmountWei","topToken","tokenBadgeProps","usdAmount","showNetwork","section","bottomToken","extraLabel","toString","line","warningClasses","PriceChangedWarning","TradeReviewDetailsBase","data","price","payReceiveInfoProps","TradeDetails","derivedStep"],"sources":["../../../../src/components/widget/TradeOverview/TradeDetails.tsx"],"sourcesContent":["import { TokenBadge } from \"@/components/widget/TokenBadge/TokenBadge\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useTradeFlowContext } from \"./tradeFlowContext\";\nimport { TradeDetailsDisplay } from \"./TradeDetailsDisplay\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { isSwapTradeFlowType } from \"@/hooks/swap/tradeFlow/common/utils\";\nimport { WarningWithTitle } from \"../Warning/Warning\";\nimport type { WarningProps } from \"../Warning/types\";\nimport type { PayReceiveInfoProps } from \"../PayReceiveInfo/types\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport { PayReceiveInfo } from \"../PayReceiveInfo/PayReceiveInfo\";\nimport { InfoIcon } from \"lucide-react\";\nimport { SwapRate } from \"../SwapRate/SwapRate\";\nimport { parseUnits } from \"viem\";\nimport type { TokenBadgeProps } from \"../TokenBadge/types\";\n\nexport type MinTradeFlowToken = Pick<\n Token,\n \"address\" | \"network\" | \"img\" | \"symbol\" | \"decimals\"\n>;\n\n// --- Details ---\ntype TradeDetailsProps = {\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n fromAmount: string;\n toAmount: string;\n tradeFlowType: TradeFlowType;\n swapSide?: SwapSideUnion;\n};\n\nconst badgeClasses = {\n root: \"text-xs text-contrast-1 dark:text-contrast-8 font-medium\",\n};\n\nconst TradeAnimatedProgressDetailsBase = ({\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n tradeFlowType,\n swapSide = \"SELL\",\n}: TradeDetailsProps) => {\n const isSwapFlow = isSwapTradeFlowType(tradeFlowType);\n const isSell = swapSide === \"SELL\";\n\n let fromTokenLabel: string;\n let toTokenLabel: string;\n if (isSwapFlow) {\n // Swap Flow has special labels for BUY case\n fromTokenLabel = isSell ? \"Swap\" : \"For (at most)\";\n toTokenLabel = isSell ? \"For (at least)\" : \"Buy\";\n } else {\n fromTokenLabel = \"Pay\";\n toTokenLabel = \"Receive\";\n }\n\n const fromTokenObj = {\n token: fromToken,\n label: fromTokenLabel,\n amount: fromAmount,\n };\n const toTokenObj = {\n token: toToken,\n label: toTokenLabel,\n amount: toAmount,\n };\n\n const [firstToken, secondToken] =\n isSell || !isSwapFlow\n ? [fromTokenObj, toTokenObj]\n : // Swap Flow has reversed token order for BUY case\n [toTokenObj, fromTokenObj];\n\n return (\n <div className=\"flex flex-col bg-contrast-8 dark:bg-contrast-3 rounded-sm shadow-card-1 text-contrast-5 dark:text-contrast-5\">\n <TradeDetailsDisplay />\n <div className=\"flex items-center justify-between gap-2 py-[8px] px-[16px]\">\n <div className=\"flex items-center gap-1\">\n <span className=\"text-xs\">{firstToken.label}</span>\n <TokenBadge\n address={firstToken.token.address}\n chainId={firstToken.token.network}\n img={firstToken.token.img}\n symbol={firstToken.token.symbol}\n showNetworkIcon\n explorerLink\n amount={formatTokenAmount(firstToken.amount, 5)}\n classes={badgeClasses}\n />\n </div>\n <div className=\"flex items-center gap-1\">\n <span className=\"text-xs\">{secondToken.label}</span>\n <TokenBadge\n address={secondToken.token.address}\n chainId={secondToken.token.network}\n img={secondToken.token.img}\n symbol={secondToken.token.symbol}\n showNetworkIcon\n explorerLink\n amount={formatTokenAmount(secondToken.amount, 5)}\n classes={badgeClasses}\n />\n </div>\n </div>\n </div>\n );\n};\n\nconst tokenBadgeClasses = {\n amount: \"dark:text-contrast-9\",\n symbol: \"dark:text-contrast-9\",\n logo: \"size-[18px]\",\n};\n\ntype InfoPropsExtraInput = {\n srcToken: MinTradeFlowToken;\n destToken: MinTradeFlowToken;\n srcAmountUnit: string;\n destAmountUnit: string;\n};\n\nfunction constructPayReceiveInfoProps({\n extra,\n srcTokenPrice,\n destTokenPrice,\n}: {\n extra: InfoPropsExtraInput;\n srcTokenPrice?: number;\n destTokenPrice?: number;\n}): PayReceiveInfoProps {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = extra;\n\n const formattedSrcAmount = formatTokenAmount(srcAmountUnit);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const srcUsdAmount =\n srcTokenPrice !== undefined\n ? parseFloat(srcAmountUnit) * srcTokenPrice\n : undefined;\n const destUsdAmount =\n destTokenPrice !== undefined\n ? parseFloat(destAmountUnit) * destTokenPrice\n : undefined;\n\n const isCrossChain = srcToken.network !== destToken.network;\n\n const topTokenBadgeProps: TokenBadgeProps = {\n address: srcToken.address,\n symbol: srcToken.symbol,\n chainId: srcToken.network,\n img: srcToken.img,\n amount: formattedSrcAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: isCrossChain,\n };\n\n const bottomTokenBadgeProps: TokenBadgeProps = {\n address: destToken.address,\n symbol: destToken.symbol,\n chainId: destToken.network,\n img: destToken.img,\n amount: formattedDestAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: isCrossChain,\n };\n\n const srcAmountWei = parseUnits(srcAmountUnit, srcToken.decimals);\n const destAmountWei = parseUnits(destAmountUnit, destToken.decimals);\n\n return {\n topToken: {\n tokenBadgeProps: topTokenBadgeProps,\n label: \"Pay\",\n usdAmount: srcUsdAmount,\n showNetwork: false,\n classes: {\n section: \"p-4\",\n },\n },\n bottomToken: {\n tokenBadgeProps: bottomTokenBadgeProps,\n label: \"Receive\",\n usdAmount: destUsdAmount,\n showNetwork: false,\n extraLabel: (\n <div className=\"flex items-center gap-1.5 text-xs font-normal text-secondary-orange-peel-1\">\n <InfoIcon size={16} />\n <SwapRate\n srcAmountWei={srcAmountWei.toString()}\n destAmountWei={destAmountWei.toString()}\n srcToken={srcToken}\n destToken={destToken}\n />\n </div>\n ),\n classes: {\n section: \"p-4\",\n },\n },\n classes: {\n root: \"bg-contrast-9 dark:bg-contrast-3\",\n line: \"bg-contrast-7 dark:bg-contrast-2\",\n },\n };\n}\n\nconst warningClasses: WarningProps[\"classes\"] = {\n root: \"bg-[rgba(255,153,0,0.05)]\",\n};\n\nconst PriceChangedWarning = () => {\n return (\n <WarningWithTitle\n title=\"Price changed\"\n message={\n <div>\n The price changed since your last attempt. Token amounts may differ.\n Please review before submitting again.\n </div>\n }\n classes={warningClasses}\n />\n );\n};\n\nconst TradeReviewDetailsBase = () => {\n const { fromToken, toToken, fromAmount, toAmount } = useTradeFlowContext();\n const { data: srcTokenPrice } = useTokenPrice(fromToken);\n const { data: destTokenPrice } = useTokenPrice(toToken);\n const payReceiveInfoProps = constructPayReceiveInfoProps({\n extra: {\n srcToken: fromToken,\n destToken: toToken,\n srcAmountUnit: fromAmount,\n destAmountUnit: toAmount,\n },\n srcTokenPrice: srcTokenPrice?.price,\n destTokenPrice: destTokenPrice?.price,\n });\n\n return (\n <div className=\"flex flex-col gap-4 rounded-sm shadow-card-1 text-contrast-5 dark:text-contrast-5\">\n <PayReceiveInfo {...payReceiveInfoProps} />\n <PriceChangedWarning />\n </div>\n );\n};\n\nexport const TradeDetails = () => {\n const {\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n swapSide,\n tradeFlowType,\n derivedStep,\n } = useTradeFlowContext();\n\n if (derivedStep === \"prepare-swap\") {\n return <TradeReviewDetailsBase />;\n }\n\n return (\n <TradeAnimatedProgressDetailsBase\n fromToken={fromToken}\n toToken={toToken}\n fromAmount={fromAmount}\n toAmount={toAmount}\n swapSide={swapSide}\n tradeFlowType={tradeFlowType}\n />\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TradeDetails.js","names":["TokenBadge","formatTokenAmount","Token","useTradeFlowContext","TradeDetailsDisplay","SwapSideUnion","TradeFlowType","isSwapTradeFlowType","WarningWithTitle","WarningProps","PayReceiveInfoProps","useTokenPrice","PayReceiveInfo","InfoIcon","SwapRate","parseUnits","TokenBadgeProps","MinTradeFlowToken","Pick","TradeDetailsProps","fromToken","toToken","fromAmount","toAmount","tradeFlowType","swapSide","badgeClasses","root","TradeAnimatedProgressDetailsBase","t0","$","_c","t1","undefined","t2","isSwapFlow","isSell","fromTokenLabel","toTokenLabel","T0","t10","t11","t12","t13","t14","t15","t3","t4","t5","t6","t7","t8","t9","fromTokenObj","token","label","amount","toTokenObj","firstToken","secondToken","Symbol","for","address","network","img","symbol","t16","t17","t18","t19","tokenBadgeClasses","logo","InfoPropsExtraInput","srcToken","destToken","srcAmountUnit","destAmountUnit","constructPayReceiveInfoProps","extra","srcTokenPrice","destTokenPrice","formattedSrcAmount","formattedDestAmount","srcUsdAmount","parseFloat","destUsdAmount","isCrossChain","topTokenBadgeProps","chainId","amountPosition","const","classes","showNetworkIcon","bottomTokenBadgeProps","srcAmountWei","decimals","destAmountWei","topToken","tokenBadgeProps","usdAmount","showNetwork","section","bottomToken","extraLabel","toString","line","warningClasses","PriceChangedWarning","TradeReviewDetailsBase","data","price","payReceiveInfoProps","TradeDetails","derivedStep"],"sources":["../../../../src/components/widget/TradeOverview/TradeDetails.tsx"],"sourcesContent":["import { TokenBadge } from \"@/components/widget/TokenBadge/TokenBadge\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useTradeFlowContext } from \"./tradeFlowContext\";\nimport { TradeDetailsDisplay } from \"./TradeDetailsDisplay\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { isSwapTradeFlowType } from \"@/hooks/swap/tradeFlow/common/utils\";\nimport { WarningWithTitle } from \"../Warning/Warning\";\nimport type { WarningProps } from \"../Warning/types\";\nimport type { PayReceiveInfoProps } from \"../PayReceiveInfo/types\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport { PayReceiveInfo } from \"../PayReceiveInfo/PayReceiveInfo\";\nimport { InfoIcon } from \"lucide-react\";\nimport { SwapRate } from \"../SwapRate/SwapRate\";\nimport { parseUnits } from \"viem\";\nimport type { TokenBadgeProps } from \"../TokenBadge/types\";\n\nexport type MinTradeFlowToken = Pick<\n Token,\n \"address\" | \"network\" | \"img\" | \"symbol\" | \"decimals\"\n>;\n\n// --- Details ---\ntype TradeDetailsProps = {\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n fromAmount: string;\n toAmount: string;\n tradeFlowType: TradeFlowType;\n swapSide?: SwapSideUnion;\n};\n\nconst badgeClasses = {\n root: \"text-xs text-contrast-1 dark:text-contrast-8 font-medium\",\n};\n\nconst TradeAnimatedProgressDetailsBase = ({\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n tradeFlowType,\n swapSide = \"SELL\",\n}: TradeDetailsProps) => {\n const isSwapFlow = isSwapTradeFlowType(tradeFlowType);\n const isSell = swapSide === \"SELL\";\n\n let fromTokenLabel: string;\n let toTokenLabel: string;\n if (isSwapFlow) {\n // Swap Flow has special labels for BUY case\n fromTokenLabel = isSell ? \"Swap\" : \"For (at most)\";\n toTokenLabel = isSell ? \"For (at least)\" : \"Buy\";\n } else {\n fromTokenLabel = \"Pay\";\n toTokenLabel = \"Receive\";\n }\n\n const fromTokenObj = {\n token: fromToken,\n label: fromTokenLabel,\n amount: fromAmount,\n };\n const toTokenObj = {\n token: toToken,\n label: toTokenLabel,\n amount: toAmount,\n };\n\n const [firstToken, secondToken] =\n isSell || !isSwapFlow\n ? [fromTokenObj, toTokenObj]\n : // Swap Flow has reversed token order for BUY case\n [toTokenObj, fromTokenObj];\n\n return (\n <div className=\"flex flex-col bg-contrast-8 dark:bg-contrast-3 rounded-sm shadow-card-1 text-contrast-5 dark:text-contrast-5\">\n <TradeDetailsDisplay />\n <div className=\"flex items-center justify-between gap-2 py-[8px] px-[16px]\">\n <div className=\"flex items-center gap-1\">\n <span className=\"text-xs\">{firstToken.label}</span>\n <TokenBadge\n address={firstToken.token.address}\n chainId={firstToken.token.network}\n img={firstToken.token.img}\n symbol={firstToken.token.symbol}\n showNetworkIcon\n explorerLink\n amount={formatTokenAmount(firstToken.amount, 5)}\n classes={badgeClasses}\n />\n </div>\n <div className=\"flex items-center gap-1\">\n <span className=\"text-xs\">{secondToken.label}</span>\n <TokenBadge\n address={secondToken.token.address}\n chainId={secondToken.token.network}\n img={secondToken.token.img}\n symbol={secondToken.token.symbol}\n showNetworkIcon\n explorerLink\n amount={formatTokenAmount(secondToken.amount, 5)}\n classes={badgeClasses}\n />\n </div>\n </div>\n </div>\n );\n};\n\nconst tokenBadgeClasses = {\n amount: \"dark:text-contrast-9\",\n symbol: \"dark:text-contrast-9\",\n logo: \"size-[18px]\",\n};\n\ntype InfoPropsExtraInput = {\n srcToken: MinTradeFlowToken;\n destToken: MinTradeFlowToken;\n srcAmountUnit: string;\n destAmountUnit: string;\n};\n\nfunction constructPayReceiveInfoProps({\n extra,\n srcTokenPrice,\n destTokenPrice,\n}: {\n extra: InfoPropsExtraInput;\n srcTokenPrice?: number;\n destTokenPrice?: number;\n}): PayReceiveInfoProps {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = extra;\n\n const formattedSrcAmount = formatTokenAmount(srcAmountUnit);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const srcUsdAmount =\n srcTokenPrice !== undefined\n ? parseFloat(srcAmountUnit) * srcTokenPrice\n : undefined;\n const destUsdAmount =\n destTokenPrice !== undefined\n ? parseFloat(destAmountUnit) * destTokenPrice\n : undefined;\n\n const isCrossChain = srcToken.network !== destToken.network;\n\n const topTokenBadgeProps: TokenBadgeProps = {\n address: srcToken.address,\n symbol: srcToken.symbol,\n chainId: srcToken.network,\n img: srcToken.img,\n amount: formattedSrcAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: isCrossChain,\n };\n\n const bottomTokenBadgeProps: TokenBadgeProps = {\n address: destToken.address,\n symbol: destToken.symbol,\n chainId: destToken.network,\n img: destToken.img,\n amount: formattedDestAmount,\n amountPosition: \"right\" as const,\n classes: tokenBadgeClasses,\n showNetworkIcon: isCrossChain,\n };\n\n const srcAmountWei = parseUnits(srcAmountUnit, srcToken.decimals);\n const destAmountWei = parseUnits(destAmountUnit, destToken.decimals);\n\n return {\n topToken: {\n tokenBadgeProps: topTokenBadgeProps,\n label: \"Pay\",\n usdAmount: srcUsdAmount,\n showNetwork: false,\n classes: {\n section: \"p-4\",\n },\n },\n bottomToken: {\n tokenBadgeProps: bottomTokenBadgeProps,\n label: \"Receive\",\n usdAmount: destUsdAmount,\n showNetwork: false,\n extraLabel: (\n <div className=\"flex items-center gap-1.5 text-xs font-normal text-secondary-orange-peel-1\">\n <InfoIcon size={16} />\n <SwapRate\n srcAmountWei={srcAmountWei.toString()}\n destAmountWei={destAmountWei.toString()}\n srcToken={srcToken}\n destToken={destToken}\n />\n </div>\n ),\n classes: {\n section: \"p-4\",\n },\n },\n classes: {\n root: \"bg-contrast-9 dark:bg-contrast-3\",\n line: \"bg-contrast-7 dark:bg-contrast-2\",\n },\n };\n}\n\nconst warningClasses: WarningProps[\"classes\"] = {\n root: \"bg-[rgba(255,153,0,0.05)]\",\n};\n\nconst PriceChangedWarning = () => {\n return (\n <WarningWithTitle\n title=\"Price changed\"\n message={\n <div>\n The price changed since your last attempt. Token amounts may differ.\n Please review before submitting again.\n </div>\n }\n classes={warningClasses}\n />\n );\n};\n\nconst TradeReviewDetailsBase = () => {\n const { fromToken, toToken, fromAmount, toAmount } = useTradeFlowContext();\n const { data: srcTokenPrice } = useTokenPrice(fromToken);\n const { data: destTokenPrice } = useTokenPrice(toToken);\n const payReceiveInfoProps = constructPayReceiveInfoProps({\n extra: {\n srcToken: fromToken,\n destToken: toToken,\n srcAmountUnit: fromAmount,\n destAmountUnit: toAmount,\n },\n srcTokenPrice: srcTokenPrice?.price,\n destTokenPrice: destTokenPrice?.price,\n });\n\n return (\n <div className=\"flex flex-col gap-4 rounded-sm shadow-card-1 text-contrast-5 dark:text-contrast-5\">\n <PayReceiveInfo {...payReceiveInfoProps} />\n <PriceChangedWarning />\n </div>\n );\n};\n\nexport const TradeDetails = () => {\n const {\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n swapSide,\n tradeFlowType,\n derivedStep,\n } = useTradeFlowContext();\n\n if (derivedStep === \"prepare-swap\") {\n return <TradeReviewDetailsBase />;\n }\n\n return (\n <TradeAnimatedProgressDetailsBase\n fromToken={fromToken}\n toToken={toToken}\n fromAmount={fromAmount}\n toAmount={toAmount}\n swapSide={swapSide}\n tradeFlowType={tradeFlowType}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;;;AAiCA,IAAM0B,IAAe,EACnBC,MAAM,4DACP,EAEKC,KAAmCC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAX,cAAAC,YAAAC,eAAAC,aAAAC,kBAAAC,UAAAO,MAAAH,GAMxCJ,IAAAO,MAAAC,KAAAA,IAAA,SAAAD,GAAiBE;CAAA,AAAAJ,EAAA,OAAAN,IAEoCU,IAAAJ,EAAA,MAAlCI,IAAA3B,EAAoBiB,EAAc,EAAAM,EAAA,KAAAN,GAAAM,EAAA,KAAAI;CAArD,IAAAC,IAAmBD,GACnBE,IAAeX,MAAa,QAExBY,GACAC;CACJ,AAAIH,KAEFE,IAAiBD,IAAA,SAAA,iBACjBE,IAAeF,IAAA,mBAAA,UAEfC,IAAiBA,OACjBC,IAAeA;CAChB,IAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC;CAAA,IAAAtB,EAAA,OAAAR,KAAAQ,EAAA,OAAAV,KAAAU,EAAA,OAAAO,KAAAP,EAAA,OAAAM,KAAAN,EAAA,OAAAK,KAAAL,EAAA,OAAAP,KAAAO,EAAA,OAAAT,KAAAS,EAAA,OAAAQ,GAAA;EAED,IAAAe,IAAqB;GAAAC,OACZlC;GAASmC,OACTlB;GAAcmB,QACblC;GACT,EACDmC,IAAmB;GAAAH,OACVjC;GAAOkC,OACPjB;GAAYkB,QACXjC;GACT,EAED,CAAAmC,GAAAC,KACEvB,KAAA,CAAWD,IAAX,CACKkB,GAAcI,EAEW,GAH9B,CAGKA,GAAYJ,EAAa;EA4B0BvB,AAzBzCc,IAAA,gHAA8Gd,EAAA,QAAA8B,OAAAC,IAAA,4BAAA,IAC3HhB,IAAA,kBAAC,GAAD,EAAuB,CAAA,EAAAf,EAAA,MAAAe,KAAAA,IAAAf,EAAA,KACRY,IAAA,8DACbC,IAAA,kBAAA,OAAA;GAAe,WAAA;aAAf,CACE,kBAAA,QAAA;IAAgB,WAAA;cAAWe,EAAUH;IACrC,CAAA,EAAA,kBAAC,GAAD;IACW,SAAAG,EAAUJ,MAAMQ;IAChB,SAAAJ,EAAUJ,MAAMS;IACpB,KAAAL,EAAUJ,MAAMU;IACb,QAAAN,EAAUJ,MAAMW;IACxB,iBAAA;IACA,cAAA;IACQ,QAAAhE,EAAkByD,EAAUF,QAAS,EAAC;IACrC9B,SAAAA;IAEb,CAAA,CAAM;MACSc,IAAA,2BACbC,IAAA,kBAAA,QAAA;GAAgB,WAAA;aAAWkB,EAAWJ;GAAc,CAAA,EACnDhB,IAAAvC,GACU8C,IAAAa,EAAWL,MAAMQ,SACjBf,IAAAY,EAAWL,MAAMS,SACrBf,IAAAW,EAAWL,MAAMU,KACdf,IAAAU,EAAWL,MAAMW,QACzBf,IAAA,IACAC,IAAA,IACQC,IAAAnD,EAAkB0D,EAAWH,QAAS,EAAE,EAAA1B,EAAA,KAAAR,GAAAQ,EAAA,KAAAV,GAAAU,EAAA,KAAAO,GAAAP,EAAA,KAAAM,GAAAN,EAAA,KAAAK,GAAAL,EAAA,KAAAP,GAAAO,EAAA,KAAAT,GAAAS,EAAA,KAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAAU,GAAAV,EAAA,MAAAW,GAAAX,EAAA,MAAAY,GAAAZ,EAAA,MAAAa,GAAAb,EAAA,MAAAc,GAAAd,EAAA,MAAAe,GAAAf,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAkB,GAAAlB,EAAA,MAAAmB,GAAAnB,EAAA,MAAAoB,GAAApB,EAAA,MAAAqB,GAAArB,EAAA,MAAAsB;QAAAA,AAAAb,IAAAT,EAAA,KAAAU,IAAAV,EAAA,KAAAW,IAAAX,EAAA,KAAAY,IAAAZ,EAAA,KAAAa,IAAAb,EAAA,KAAAc,IAAAd,EAAA,KAAAe,IAAAf,EAAA,KAAAgB,IAAAhB,EAAA,KAAAiB,IAAAjB,EAAA,KAAAkB,IAAAlB,EAAA,KAAAmB,IAAAnB,EAAA,KAAAoB,IAAApB,EAAA,KAAAqB,IAAArB,EAAA,KAAAsB,IAAAtB,EAAA;CAAA,IAAAoC;CAAA,AAAApC,EAAA,QAAAS,KAAAT,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAAAjB,EAAA,QAAAkB,KAAAlB,EAAA,QAAAmB,KAAAnB,EAAA,QAAAoB,KAAApB,EAAA,QAAAqB,KAAArB,EAAA,QAAAsB,KAPlDc,IAAA,kBAAC,GAAD;EACW,SAAApB;EACA,SAAAC;EACJ,KAAAC;EACG,QAAAC;EACR,iBAAAC;EACA,cAAAC;EACQ,QAAAC;EACC1B,SAAAA;EACT,CAAA,EAAAI,EAAA,MAAAS,GAAAT,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAkB,GAAAlB,EAAA,MAAAmB,GAAAnB,EAAA,MAAAoB,GAAApB,EAAA,MAAAqB,GAAArB,EAAA,MAAAsB,GAAAtB,EAAA,MAAAoC,KAAAA,IAAApC,EAAA;CAAA,IAAAqC;CAAA,AAAArC,EAAA,QAAAU,KAAAV,EAAA,QAAAW,KAAAX,EAAA,QAAAoC,KAXJC,IAAA,kBAAA,OAAA;EAAe,WAAA3B;YAAf,CACEC,GACAyB,EAUI;KAAApC,EAAA,MAAAU,GAAAV,EAAA,MAAAW,GAAAX,EAAA,MAAAoC,GAAApC,EAAA,MAAAqC,KAAAA,IAAArC,EAAA;CAAA,IAAAsC;CAAA,AAAAtC,EAAA,QAAAY,KAAAZ,EAAA,QAAAa,KAAAb,EAAA,QAAAqC,KA1BRC,IAAA,kBAAA,OAAA;EAAe,WAAA1B;YAAf,CACEC,GAaAwB,EAaI;KAAArC,EAAA,MAAAY,GAAAZ,EAAA,MAAAa,GAAAb,EAAA,MAAAqC,GAAArC,EAAA,MAAAsC,KAAAA,IAAAtC,EAAA;CAAA,IAAAuC;CACF,OADEvC,EAAA,QAAAc,KAAAd,EAAA,QAAAe,KAAAf,EAAA,QAAAsC,KA7BRC,IAAA,kBAAA,OAAA;EAAe,WAAAzB;YAAf,CACEC,GACAuB,EA4BI;KAAAtC,EAAA,MAAAc,GAAAd,EAAA,MAAAe,GAAAf,EAAA,MAAAsC,GAAAtC,EAAA,MAAAuC,KAAAA,IAAAvC,EAAA,KA9BNuC;GAkCEC,IAAoB;CACxBd,QAAQ;CACRS,QAAQ;CACRM,MAAM;CACP;AASD,SAASM,EAA6B,EACpCC,UACAC,kBACAC,qBAKsB;CACtB,IAAM,EAAEP,aAAUC,cAAWC,kBAAeC,sBAAmBE,GAEzDG,IAAqBhF,EAAkB0E,EAAc,EACrDO,IAAsBjF,EAAkB2E,EAAe,EAEvDO,IACJJ,MAAkB9C,KAAAA,IAEdA,KAAAA,IADAmD,WAAWT,EAAc,GAAGI,GAE5BM,IACJL,MAAmB/C,KAAAA,IAEfA,KAAAA,IADAmD,WAAWR,EAAe,GAAGI,GAG7BM,IAAeb,EAASV,YAAYW,EAAUX,SAE9CwB,IAAsC;EAC1CzB,SAASW,EAASX;EAClBG,QAAQQ,EAASR;EACjBuB,SAASf,EAASV;EAClBC,KAAKS,EAAST;EACdR,QAAQyB;EACRQ,gBAAgB;EAChBE,SAASrB;EACTsB,iBAAiBN;EAClB,EAEKO,IAAyC;EAC7C/B,SAASY,EAAUZ;EACnBG,QAAQS,EAAUT;EAClBuB,SAASd,EAAUX;EACnBC,KAAKU,EAAUV;EACfR,QAAQ0B;EACRO,gBAAgB;EAChBE,SAASrB;EACTsB,iBAAiBN;EAClB,EAEKQ,IAAe/E,EAAW4D,GAAeF,EAASsB,SAAS,EAC3DC,IAAgBjF,EAAW6D,GAAgBF,EAAUqB,SAAS;CAEpE,OAAO;EACLE,UAAU;GACRC,iBAAiBX;GACjBhC,OAAO;GACP4C,WAAWhB;GACXiB,aAAa;GACbT,SAAS,EACPU,SAAS,OACX;GACD;EACDC,aAAa;GACXJ,iBAAiBL;GACjBtC,OAAO;GACP4C,WAAWd;GACXe,aAAa;GACbG,YACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,GAAD,EAAU,MAAM,IAAG,CAAA,EACnB,kBAAC,GAAD;KACE,cAAcT,EAAaU,UAAU;KACrC,eAAeR,EAAcQ,UAAU;KAC7B/B;KACCC;KAAU,CAAA,CAG1B;;GACDiB,SAAS,EACPU,SAAS,OACX;GACD;EACDV,SAAS;GACPhE,MAAM;GACN8E,MAAM;GACR;EACD;;AAGH,IAAMC,IAA0C,EAC9C/E,MAAM,6BACP,EAEKgF,UAAsB;CAAA,IAAA7E,IAAAC,EAAA,EAAA,EAAAF;CAWtB,OAXsBC,EAAA,OAAA8B,OAAAC,IAAA,4BAAA,IAExBhC,IAAA,kBAAC,GAAD;EACQ,OAAA;EAEJ,SAAA,kBAAA,OAAA,EAAA,UAAK,+GAGA,CAAA;EAEE6E,SAAAA;EACT,CAAA,EAAA5E,EAAA,KAAAD,KAAAA,IAAAC,EAAA,IATFD;GAaE+E,UAAyB;CAAA,IAAA9E,IAAAC,EAAA,GAAA,EAC7B,EAAAX,cAAAC,YAAAC,eAAAC,gBAAqDpB,GAAqB,EAC1E,EAAA0G,MAAA9B,MAAgCpE,EAAcS,EAAU,EACxD,EAAAyF,MAAA7B,MAAiCrE,EAAcU,EAAQ,EAACQ;CAAA,AAAAC,EAAA,OAAAkD,GAAA8B,SAAAhF,EAAA,OAAAR,KAAAQ,EAAA,OAAAV,KAAAU,EAAA,OAAAiD,GAAA+B,SAAAhF,EAAA,OAAAP,KAAAO,EAAA,OAAAT,KAC5BQ,IAAAgD,EAA6B;EAAAC,OAChD;GAAAL,UACKrD;GAASsD,WACRrD;GAAOsD,eACHrD;GAAUsD,gBACTrD;GACjB;EAAAwD,eACcA,GAAa+B;EAAO9B,gBACnBA,GAAc8B;EAC/B,CAAC,EAAAhF,EAAA,KAAAkD,GAAA8B,OAAAhF,EAAA,KAAAR,GAAAQ,EAAA,KAAAV,GAAAU,EAAA,KAAAiD,GAAA+B,OAAAhF,EAAA,KAAAP,GAAAO,EAAA,KAAAT,GAAAS,EAAA,KAAAD,KAAAA,IAAAC,EAAA;CATF,IAAAiF,IAA4BlF,GASzBG;CAAA,AAAAF,EAAA,OAAAiF,IAI4C/E,IAAAF,EAAA,MAA3CE,IAAA,kBAAC,GAAD,EAAe,GAAK+E,GAAuB,CAAA,EAAAjF,EAAA,KAAAiF,GAAAjF,EAAA,KAAAE;CAAA,IAAAE;CAAA,AAAAJ,EAAA,OAAA8B,OAAAC,IAAA,4BAAA,IAC3C3B,IAAA,kBAAC,GAAD,EAAuB,CAAA,EAAAJ,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAAA,IAAAgB;CACnB,OADmBhB,EAAA,QAAAE,IACnBc,IAAAhB,EAAA,OAHNgB,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEd,GACAE,EACI;KAAAJ,EAAA,MAAAE,GAAAF,EAAA,MAAAgB,IAHNA;GAOSkE,UAAe;CAAA,IAAAlF,IAAAC,EAAA,EAAA,EAC1B,EAAAX,cAAAC,YAAAC,eAAAC,aAAAE,aAAAD,kBAAAyF,mBAQI9G,GAAqB;CAEzB,IAAI8G,MAAgB,gBAAc;EAAA,IAAApF;EACC,OADDC,EAAA,OAAA8B,OAAAC,IAAA,4BAAA,IACzBhC,IAAA,kBAAC,GAAD,EAA0B,CAAA,EAAAC,EAAA,KAAAD,KAAAA,IAAAC,EAAA,IAA1BD;;CACR,IAAAA;CAUG,OAVHC,EAAA,OAAAR,KAAAQ,EAAA,OAAAV,KAAAU,EAAA,OAAAL,KAAAK,EAAA,OAAAP,KAAAO,EAAA,OAAAT,KAAAS,EAAA,OAAAN,KAGCK,IAAA,kBAAC,GAAD;EACaT;EACFC;EACGC;EACFC;EACAE;EACKD;EACf,CAAA,EAAAM,EAAA,KAAAR,GAAAQ,EAAA,KAAAV,GAAAU,EAAA,KAAAL,GAAAK,EAAA,KAAAP,GAAAO,EAAA,KAAAT,GAAAS,EAAA,KAAAN,GAAAM,EAAA,KAAAD,KAAAA,IAAAC,EAAA,IAPFD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeDetailsDisplay.js","names":["useTradeFlowContext","TradeFlowDerivedStep","ApprovingLottie_1","InProgressLottie_2","ExecutingLottie_3","CompleteLottie_4","ErrorLottie_5","DotLottieReact","AnimatePresence","motion","lottieProps","step2lottie","Partial","Record","signature","auction","complete","error","TradeDetailsDisplay","$","_c","derivedStep","lottiePath","t0","t1"],"sources":["../../../../src/components/widget/TradeOverview/TradeDetailsDisplay.tsx"],"sourcesContent":["import {\n useTradeFlowContext,\n type TradeFlowDerivedStep,\n} from \"./tradeFlowContext\";\n\n// have to import by ?url because vite can't process .lottie file without a plugin,\n// and <DotLottieReact/> expects a url.\n// .json from inside the .lottie file is larger in size (.lottie is just an archive)\nimport ApprovingLottie_1 from \"./assets/1_approving.lottie?url\";\nimport InProgressLottie_2 from \"./assets/2_in_progress.lottie?url\";\nimport ExecutingLottie_3 from \"./assets/3_executing_step.lottie?url\";\nimport CompleteLottie_4 from \"./assets/4_complete_step.lottie?url\";\nimport ErrorLottie_5 from \"./assets/5_error_step.lottie?url\";\n\nimport { DotLottieReact } from \"@lottiefiles/dotlottie-react\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { lottieProps } from \"./motionProps\";\n\nconst step2lottie: Partial<Record<TradeFlowDerivedStep, string>> = {\n signature: ApprovingLottie_1,\n auction: InProgressLottie_2,\n \"order-submission\": ExecutingLottie_3, // Limit/OTC Order submission\n \"swap-tx-execution\": ExecutingLottie_3,\n \"order-execution\": ExecutingLottie_3, // Limit/OTC Order execution\n complete: CompleteLottie_4,\n error: ErrorLottie_5,\n};\n\nexport const TradeDetailsDisplay = () => {\n const { derivedStep } = useTradeFlowContext();\n const lottiePath = derivedStep ? step2lottie[derivedStep] : null;\n\n return (\n <div className=\"h-[168px] rounded-sm bg-contrast-7 dark:bg-contrast-1 border border-t-0 border-transparent shadow-card-1 overflow-hidden\">\n <AnimatePresence mode=\"popLayout\">\n {lottiePath && (\n <motion.div {...lottieProps} key={derivedStep}>\n <DotLottieReact\n src={lottiePath}\n loop\n autoplay\n className=\"h-full w-full rounded-sm overflow-hidden\"\n />\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAkBA,IAAMW,IAA6D;CACjEG,WAAWZ;CACXa,SAASZ;CACT,oBAAoBC;CACpB,qBAAqBA;CACrB,mBAAmBA;CACnBY,UAAUX;CACVY,OAAOX;CACR,EAEYY,UAAsB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACjC,EAAAC,mBAAwBrB,GAAqB,EAC7CsB,IAAmBD,IAAcV,EAAYU,KAA1B,MAA8CE;
|
|
1
|
+
{"version":3,"file":"TradeDetailsDisplay.js","names":["useTradeFlowContext","TradeFlowDerivedStep","ApprovingLottie_1","InProgressLottie_2","ExecutingLottie_3","CompleteLottie_4","ErrorLottie_5","DotLottieReact","AnimatePresence","motion","lottieProps","step2lottie","Partial","Record","signature","auction","complete","error","TradeDetailsDisplay","$","_c","derivedStep","lottiePath","t0","t1"],"sources":["../../../../src/components/widget/TradeOverview/TradeDetailsDisplay.tsx"],"sourcesContent":["import {\n useTradeFlowContext,\n type TradeFlowDerivedStep,\n} from \"./tradeFlowContext\";\n\n// have to import by ?url because vite can't process .lottie file without a plugin,\n// and <DotLottieReact/> expects a url.\n// .json from inside the .lottie file is larger in size (.lottie is just an archive)\nimport ApprovingLottie_1 from \"./assets/1_approving.lottie?url\";\nimport InProgressLottie_2 from \"./assets/2_in_progress.lottie?url\";\nimport ExecutingLottie_3 from \"./assets/3_executing_step.lottie?url\";\nimport CompleteLottie_4 from \"./assets/4_complete_step.lottie?url\";\nimport ErrorLottie_5 from \"./assets/5_error_step.lottie?url\";\n\nimport { DotLottieReact } from \"@lottiefiles/dotlottie-react\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { lottieProps } from \"./motionProps\";\n\nconst step2lottie: Partial<Record<TradeFlowDerivedStep, string>> = {\n signature: ApprovingLottie_1,\n auction: InProgressLottie_2,\n \"order-submission\": ExecutingLottie_3, // Limit/OTC Order submission\n \"swap-tx-execution\": ExecutingLottie_3,\n \"order-execution\": ExecutingLottie_3, // Limit/OTC Order execution\n complete: CompleteLottie_4,\n error: ErrorLottie_5,\n};\n\nexport const TradeDetailsDisplay = () => {\n const { derivedStep } = useTradeFlowContext();\n const lottiePath = derivedStep ? step2lottie[derivedStep] : null;\n\n return (\n <div className=\"h-[168px] rounded-sm bg-contrast-7 dark:bg-contrast-1 border border-t-0 border-transparent shadow-card-1 overflow-hidden\">\n <AnimatePresence mode=\"popLayout\">\n {lottiePath && (\n <motion.div {...lottieProps} key={derivedStep}>\n <DotLottieReact\n src={lottiePath}\n loop\n autoplay\n className=\"h-full w-full rounded-sm overflow-hidden\"\n />\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAkBA,IAAMW,IAA6D;CACjEG,WAAWZ;CACXa,SAASZ;CACT,oBAAoBC;CACpB,qBAAqBA;CACrB,mBAAmBA;CACnBY,UAAUX;CACVY,OAAOX;CACR,EAEYY,UAAsB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACjC,EAAAC,mBAAwBrB,GAAqB,EAC7CsB,IAAmBD,IAAcV,EAAYU,KAA1B,MAA8CE;CAAA,AAAAJ,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAK1DC,IAAAD,KACC,kBAAA,EAAA,KAAA;EAAA,GAAgBZ;EAAkBW,KAAAA;EAQnC,EAPG,kBAAC,GAAD;EACOC,KAAAA;EACL,MAAA;EACA,UAAA;EACU,WAAA;EAEd,CAAA,CACD,EAAAH,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAAA,IAAAK;CAEC,OAFDL,EAAA,OAAAI,IAECC,IAAAL,EAAA,MAbNK,IAAA,kBAAA,OAAA;EAAe,WAAA;YACb,kBAAC,GAAD;GAAsB,MAAA;aACnBD;GAWL,CAAA;EAAM,CAAA,EAAAJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,IAbNA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeErrorDetails.js","names":["ErrorText","t0","$","_c","children","t1","TradeErrorBody","errorPartial","t2","Symbol","for","t3","TradeErrorDetails","errorTitle","errorMessage"],"sources":["../../../../../src/components/widget/TradeOverview/TradeError/TradeErrorDetails.tsx"],"sourcesContent":["const ErrorText = ({ children }: { children: React.ReactNode }) => {\n return (\n <div className=\"text-center text-xs dark:text-contrast-6 mb-3 overflow-hidden line-clamp-2\">\n {children}\n </div>\n );\n};\n\nconst TradeErrorBody = ({ errorPartial }: { errorPartial: string | null }) => {\n return (\n <>\n {errorPartial && (\n <ErrorText>\n Your swap order has failed due to{\" \"}\n <span className=\"text-secondary-radical-red-1\">{errorPartial}</span>.\n </ErrorText>\n )}\n <div className=\"text-center text-xs dark:text-contrast-6\">\n Please resubmit your trade to try again or dismiss this window to go\n back to the trading interface.\n </div>\n </>\n );\n};\n\nexport const TradeErrorDetails = ({\n errorTitle,\n errorMessage,\n errorPartial,\n}: {\n errorTitle: string;\n errorMessage: string | null;\n errorPartial: string | null;\n}) => {\n return (\n <div className=\"flex flex-col px-4 pt-0 pb-12\">\n <div className=\"text-center text-lg font-semibold dark:text-contrast-9 pb-3\">\n {errorTitle}\n </div>\n {errorMessage ? (\n <ErrorText>{errorMessage}</ErrorText>\n ) : (\n <TradeErrorBody errorPartial={errorPartial} />\n )}\n </div>\n );\n};\n"],"mappings":";;;AAAA,IAAMA,KAAYC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAC,gBAAAH,GAA2CI;
|
|
1
|
+
{"version":3,"file":"TradeErrorDetails.js","names":["ErrorText","t0","$","_c","children","t1","TradeErrorBody","errorPartial","t2","Symbol","for","t3","TradeErrorDetails","errorTitle","errorMessage"],"sources":["../../../../../src/components/widget/TradeOverview/TradeError/TradeErrorDetails.tsx"],"sourcesContent":["const ErrorText = ({ children }: { children: React.ReactNode }) => {\n return (\n <div className=\"text-center text-xs dark:text-contrast-6 mb-3 overflow-hidden line-clamp-2\">\n {children}\n </div>\n );\n};\n\nconst TradeErrorBody = ({ errorPartial }: { errorPartial: string | null }) => {\n return (\n <>\n {errorPartial && (\n <ErrorText>\n Your swap order has failed due to{\" \"}\n <span className=\"text-secondary-radical-red-1\">{errorPartial}</span>.\n </ErrorText>\n )}\n <div className=\"text-center text-xs dark:text-contrast-6\">\n Please resubmit your trade to try again or dismiss this window to go\n back to the trading interface.\n </div>\n </>\n );\n};\n\nexport const TradeErrorDetails = ({\n errorTitle,\n errorMessage,\n errorPartial,\n}: {\n errorTitle: string;\n errorMessage: string | null;\n errorPartial: string | null;\n}) => {\n return (\n <div className=\"flex flex-col px-4 pt-0 pb-12\">\n <div className=\"text-center text-lg font-semibold dark:text-contrast-9 pb-3\">\n {errorTitle}\n </div>\n {errorMessage ? (\n <ErrorText>{errorMessage}</ErrorText>\n ) : (\n <TradeErrorBody errorPartial={errorPartial} />\n )}\n </div>\n );\n};\n"],"mappings":";;;AAAA,IAAMA,KAAYC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAC,gBAAAH,GAA2CI;CAIpD,OAJoDH,EAAA,OAAAE,IAIpDC,IAAAH,EAAA,MAFNG,IAAA,kBAAA,OAAA;EAAe,WAAA;EACZD;EACG,CAAA,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAG,IAFNA;GAMEC,KAAiBL,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAI,oBAAAN,GAAiDI;CAAA,AAAAH,EAAA,OAAAK,IAQlEF,IAAAH,EAAA,MALAG,IAAAE,KACC,kBAAC,GAAD,EAAA,UAAA;EAAW;EACyB;EAClC,kBAAA,QAAA;GAAgB,WAAA;aAAgCA;GAAoB,CAAA;;EAEvE,EAAA,CAAA,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAG;CAAA,IAAAG;CAAA,AAAAN,EAAA,OAAAO,OAAAC,IAAA,4BAAA,IACDF,IAAA,kBAAA,OAAA;EAAe,WAAA;YAA2C;EAGpD,CAAA,EAAAN,EAAA,KAAAM,KAAAA,IAAAN,EAAA;CAAA,IAAAS;CACL,OADKT,EAAA,OAAAG,IACLM,IAAAT,EAAA,MAXHS,IAAA,kBAAA,GAAA,EAAA,UAAA,CACGN,GAMDG,EAIC,EAAA,CAAA,EAAAN,EAAA,KAAAG,GAAAH,EAAA,KAAAS,IAXHA;GAeSC,KAAoBX,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAU,eAAAC,iBAAAP,oBAAAN,GAQjCI;CAAA,AAAAH,EAAA,OAAAW,IAKWR,IAAAH,EAAA,MAFNG,IAAA,kBAAA,OAAA;EAAe,WAAA;YACZQ;EACG,CAAA,EAAAX,EAAA,KAAAW,GAAAX,EAAA,KAAAG;CAAA,IAAAG;CAAA,AAAAN,EAAA,OAAAY,KAAAZ,EAAA,OAAAK,KACLC,IAAAM,IACC,kBAAC,GAAD,EAAA,UAAYA,GAGb,CAAA,GADC,kBAAC,GAAD,EAA8BP,iBAC/B,CAAA,EAAAL,EAAA,KAAAY,GAAAZ,EAAA,KAAAK,GAAAL,EAAA,KAAAM,KAAAA,IAAAN,EAAA;CAAA,IAAAS;CACG,OADHT,EAAA,OAAAG,KAAAH,EAAA,OAAAM,KARHG,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEN,GAGCG,EAKG;KAAAN,EAAA,KAAAG,GAAAH,EAAA,KAAAM,GAAAN,EAAA,KAAAS,KAAAA,IAAAT,EAAA,IATNS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeErrorFooter.js","names":["Button","TradeErrorFooter","t0","$","_c","onDismiss","onResubmit","t1","t2","t3"],"sources":["../../../../../src/components/widget/TradeOverview/TradeError/TradeErrorFooter.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\n\nexport const TradeErrorFooter = ({\n onDismiss,\n onResubmit,\n}: {\n onDismiss?: () => void;\n onResubmit?: () => void;\n}) => {\n return (\n <div className=\"flex flex-col justify-center w-full gap-4\">\n <Button\n variant=\"default\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n onClick={onResubmit}\n >\n Resubmit this Trade\n </Button>\n\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n onClick={onDismiss}\n >\n Dismiss\n </Button>\n </div>\n );\n};\n"],"mappings":";;;;AAEA,IAAaC,KAAmBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAC,cAAAC,kBAAAJ,GAMhCK;
|
|
1
|
+
{"version":3,"file":"TradeErrorFooter.js","names":["Button","TradeErrorFooter","t0","$","_c","onDismiss","onResubmit","t1","t2","t3"],"sources":["../../../../../src/components/widget/TradeOverview/TradeError/TradeErrorFooter.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\n\nexport const TradeErrorFooter = ({\n onDismiss,\n onResubmit,\n}: {\n onDismiss?: () => void;\n onResubmit?: () => void;\n}) => {\n return (\n <div className=\"flex flex-col justify-center w-full gap-4\">\n <Button\n variant=\"default\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n onClick={onResubmit}\n >\n Resubmit this Trade\n </Button>\n\n <Button\n variant=\"secondary\"\n size=\"xl\"\n radius=\"sm\"\n className=\"w-full text-sm\"\n onClick={onDismiss}\n >\n Dismiss\n </Button>\n </div>\n );\n};\n"],"mappings":";;;;AAEA,IAAaC,KAAmBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAC,cAAAC,kBAAAJ,GAMhCK;CAAA,AAAAJ,EAAA,OAAAG,IAWcC,IAAAJ,EAAA,MARTI,IAAA,kBAAC,GAAD;EACU,SAAA;EACH,MAAA;EACE,QAAA;EACG,WAAA;EACDD,SAAAA;YACV;EAEQ,CAAA,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAI;CAAA,IAAAC;CAAA,AAAAL,EAAA,OAAAE,IAUAG,IAAAL,EAAA,MARTK,IAAA,kBAAC,GAAD;EACU,SAAA;EACH,MAAA;EACE,QAAA;EACG,WAAA;EACDH,SAAAA;YACV;EAEQ,CAAA,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAK;CAAA,IAAAC;CACL,OADKN,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KAnBXC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEF,GAUAC,EASI;KAAAL,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAM,KAAAA,IAAAN,EAAA,IApBNM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["TradeFlowType","TradeFlowStep","TradeErrorDetails","getErrorMessageToDisplay","getErrorScreenTitle","TradeError","t0","$","_c","error","erroredStep","tradeFlowType","t1","errorMessage","errorPartial","t2","errorTitle","t3"],"sources":["../../../../../src/components/widget/TradeOverview/TradeError/index.tsx"],"sourcesContent":["import type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport type { TradeFlowStep } from \"../tradeFlowContext\";\nimport { TradeErrorDetails } from \"./TradeErrorDetails\";\nimport { getErrorMessageToDisplay, getErrorScreenTitle } from \"./utils\";\n\nexport const TradeError = ({\n error,\n erroredStep,\n tradeFlowType,\n}: {\n error?: Error | null;\n erroredStep?: TradeFlowStep;\n tradeFlowType: TradeFlowType;\n}) => {\n const { errorMessage, errorPartial } = getErrorMessageToDisplay(\n error,\n erroredStep\n );\n const errorTitle = getErrorScreenTitle(error, tradeFlowType);\n return (\n <TradeErrorDetails\n errorTitle={errorTitle}\n errorMessage={errorMessage}\n errorPartial={errorPartial}\n />\n );\n};\n"],"mappings":";;;;;AAKA,IAAaK,KAAaC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,UAAAC,gBAAAC,qBAAAL,GAQ1BM;
|
|
1
|
+
{"version":3,"file":"index.js","names":["TradeFlowType","TradeFlowStep","TradeErrorDetails","getErrorMessageToDisplay","getErrorScreenTitle","TradeError","t0","$","_c","error","erroredStep","tradeFlowType","t1","errorMessage","errorPartial","t2","errorTitle","t3"],"sources":["../../../../../src/components/widget/TradeOverview/TradeError/index.tsx"],"sourcesContent":["import type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport type { TradeFlowStep } from \"../tradeFlowContext\";\nimport { TradeErrorDetails } from \"./TradeErrorDetails\";\nimport { getErrorMessageToDisplay, getErrorScreenTitle } from \"./utils\";\n\nexport const TradeError = ({\n error,\n erroredStep,\n tradeFlowType,\n}: {\n error?: Error | null;\n erroredStep?: TradeFlowStep;\n tradeFlowType: TradeFlowType;\n}) => {\n const { errorMessage, errorPartial } = getErrorMessageToDisplay(\n error,\n erroredStep\n );\n const errorTitle = getErrorScreenTitle(error, tradeFlowType);\n return (\n <TradeErrorDetails\n errorTitle={errorTitle}\n errorMessage={errorMessage}\n errorPartial={errorPartial}\n />\n );\n};\n"],"mappings":";;;;;AAKA,IAAaK,KAAaC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,UAAAC,gBAAAC,qBAAAL,GAQ1BM;CAAA,AAAAL,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KACwCE,IAAAT,EACrCM,GACAC,EACD,EAAAH,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAK,KAAAA,IAAAL,EAAA;CAHD,IAAA,EAAAM,iBAAAC,oBAAuCF,GAGrCG;CAAA,AAAAR,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KACiBI,IAAAX,EAAoBK,GAAOE,EAAc,EAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAI,GAAAJ,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAA5D,IAAAS,IAAmBD,GAA0CE;CAMzD,OANyDV,EAAA,OAAAM,KAAAN,EAAA,OAAAO,KAAAP,EAAA,OAAAS,KAE3DC,IAAA,kBAAC,GAAD;EACcD;EACEH;EACAC;EACd,CAAA,EAAAP,EAAA,KAAAM,GAAAN,EAAA,KAAAO,GAAAP,EAAA,KAAAS,GAAAT,EAAA,KAAAU,KAAAA,IAAAV,EAAA,IAJFU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["isRejectRequestProviderError","TradeFlowStep","TradeFlowType","isOrderTradeFlowType","DeltaOrderFailedError","isDeltaOrderFailedError","isCanceledDeltaAuction","isTransactionCancelledError","isDeltaOrderCancelled","error","order","getErrorPartialMessage","erroredStep","getErrorMessage","getErrorMessageToDisplay","errorPartial","errorMessage","getErrorScreenTitle","tradeFlowType","isOrderFlow","action"],"sources":["../../../../../src/components/widget/TradeOverview/TradeError/utils.ts"],"sourcesContent":["import { isRejectRequestProviderError } from \"@/lib/utils/providerErrors\";\nimport type { TradeFlowStep } from \"../tradeFlowContext\";\nimport type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { isOrderTradeFlowType } from \"@/hooks/swap/tradeFlow/common/utils\";\nimport {\n DeltaOrderFailedError,\n isDeltaOrderFailedError,\n} from \"@/hooks/swap/prices/delta/queries/errors\";\nimport { isCanceledDeltaAuction } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { isTransactionCancelledError } from \"@/hooks/swap/tradeFlow/common/errors\";\n\nfunction isDeltaOrderCancelled(error: unknown): error is DeltaOrderFailedError {\n return isDeltaOrderFailedError(error) && isCanceledDeltaAuction(error.order);\n}\n\nfunction getErrorPartialMessage(\n error: unknown,\n erroredStep?: TradeFlowStep\n): string | null {\n if (isRejectRequestProviderError(error)) {\n return null;\n }\n if (isDeltaOrderCancelled(error)) {\n return null; // no TradeFlowStep for cancellation, must handle separately from erroredStep\n }\n switch (erroredStep) {\n case \"signature\":\n return \"an order signatures issue\";\n case \"swap-tx-execution\":\n return \"a swap execution issue\";\n case \"auction\":\n return \"an auction issue\";\n case \"order-execution\":\n return \"an order execution issue\";\n case \"order-submission\":\n return \"an order submission issue\";\n default:\n // @TODO parse and display API errors\n return \"an unknown error\";\n }\n}\n\nfunction getErrorMessage(error: unknown): string | null {\n if (isTransactionCancelledError(error)) {\n return \"Your order has been cancelled following your request\";\n }\n return null;\n}\n\nexport function getErrorMessageToDisplay(\n error: unknown,\n erroredStep?: TradeFlowStep\n): {\n errorPartial: string | null;\n errorMessage: string | null;\n} {\n const errorPartial = getErrorPartialMessage(error, erroredStep);\n const errorMessage = getErrorMessage(error);\n return {\n errorPartial,\n errorMessage,\n };\n}\n\nexport function getErrorScreenTitle(\n error: unknown,\n tradeFlowType: TradeFlowType\n): string {\n const isOrderFlow = isOrderTradeFlowType(tradeFlowType);\n\n const action = isOrderFlow ? \"Order\" : \"Swap\";\n\n if (isDeltaOrderCancelled(error)) {\n return `${action} Cancelled`;\n }\n if (isRejectRequestProviderError(error)) {\n return `${action} Rejected`;\n }\n if (isTransactionCancelledError(error)) {\n return `${action} Cancelled`;\n }\n return `${action} Failed`;\n}\n"],"mappings":";;;;;;AAWA,SAASQ,EAAsBC,GAAgD;
|
|
1
|
+
{"version":3,"file":"utils.js","names":["isRejectRequestProviderError","TradeFlowStep","TradeFlowType","isOrderTradeFlowType","DeltaOrderFailedError","isDeltaOrderFailedError","isCanceledDeltaAuction","isTransactionCancelledError","isDeltaOrderCancelled","error","order","getErrorPartialMessage","erroredStep","getErrorMessage","getErrorMessageToDisplay","errorPartial","errorMessage","getErrorScreenTitle","tradeFlowType","isOrderFlow","action"],"sources":["../../../../../src/components/widget/TradeOverview/TradeError/utils.ts"],"sourcesContent":["import { isRejectRequestProviderError } from \"@/lib/utils/providerErrors\";\nimport type { TradeFlowStep } from \"../tradeFlowContext\";\nimport type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { isOrderTradeFlowType } from \"@/hooks/swap/tradeFlow/common/utils\";\nimport {\n DeltaOrderFailedError,\n isDeltaOrderFailedError,\n} from \"@/hooks/swap/prices/delta/queries/errors\";\nimport { isCanceledDeltaAuction } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { isTransactionCancelledError } from \"@/hooks/swap/tradeFlow/common/errors\";\n\nfunction isDeltaOrderCancelled(error: unknown): error is DeltaOrderFailedError {\n return isDeltaOrderFailedError(error) && isCanceledDeltaAuction(error.order);\n}\n\nfunction getErrorPartialMessage(\n error: unknown,\n erroredStep?: TradeFlowStep\n): string | null {\n if (isRejectRequestProviderError(error)) {\n return null;\n }\n if (isDeltaOrderCancelled(error)) {\n return null; // no TradeFlowStep for cancellation, must handle separately from erroredStep\n }\n switch (erroredStep) {\n case \"signature\":\n return \"an order signatures issue\";\n case \"swap-tx-execution\":\n return \"a swap execution issue\";\n case \"auction\":\n return \"an auction issue\";\n case \"order-execution\":\n return \"an order execution issue\";\n case \"order-submission\":\n return \"an order submission issue\";\n default:\n // @TODO parse and display API errors\n return \"an unknown error\";\n }\n}\n\nfunction getErrorMessage(error: unknown): string | null {\n if (isTransactionCancelledError(error)) {\n return \"Your order has been cancelled following your request\";\n }\n return null;\n}\n\nexport function getErrorMessageToDisplay(\n error: unknown,\n erroredStep?: TradeFlowStep\n): {\n errorPartial: string | null;\n errorMessage: string | null;\n} {\n const errorPartial = getErrorPartialMessage(error, erroredStep);\n const errorMessage = getErrorMessage(error);\n return {\n errorPartial,\n errorMessage,\n };\n}\n\nexport function getErrorScreenTitle(\n error: unknown,\n tradeFlowType: TradeFlowType\n): string {\n const isOrderFlow = isOrderTradeFlowType(tradeFlowType);\n\n const action = isOrderFlow ? \"Order\" : \"Swap\";\n\n if (isDeltaOrderCancelled(error)) {\n return `${action} Cancelled`;\n }\n if (isRejectRequestProviderError(error)) {\n return `${action} Rejected`;\n }\n if (isTransactionCancelledError(error)) {\n return `${action} Cancelled`;\n }\n return `${action} Failed`;\n}\n"],"mappings":";;;;;;AAWA,SAASQ,EAAsBC,GAAgD;CAC7E,OAAOJ,EAAwBI,EAAM,IAAIH,EAAuBG,EAAMC,MAAM;;AAG9E,SAASC,EACPF,GACAG,GACe;CAIf,IAHIZ,EAA6BS,EAAM,IAGnCD,EAAsBC,EAAM,EAC9B,OAAO;CAET,QAAQG,GAAR;EACE,KAAK,aACH,OAAO;EACT,KAAK,qBACH,OAAO;EACT,KAAK,WACH,OAAO;EACT,KAAK,mBACH,OAAO;EACT,KAAK,oBACH,OAAO;EACT,SAEE,OAAO;;;AAIb,SAASC,EAAgBJ,GAA+B;CAItD,OAHIF,EAA4BE,EAAM,GAC7B,yDAEF;;AAGT,SAAgBK,EACdL,GACAG,GAIA;CAGA,OAAO;EACLG,cAHmBJ,EAAuBF,GAAOG,EAGjDG;EACAC,cAHmBH,EAAgBJ,EAGnCO;EACD;;AAGH,SAAgBC,EACdR,GACAS,GACQ;CAGR,IAAME,IAFcjB,EAAqBe,EAE1BC,GAAc,UAAU;CAWvC,OATIX,EAAsBC,EAAM,GACvB,GAAGW,EAAM,cAEdpB,EAA6BS,EAAM,GAC9B,GAAGW,EAAM,aAEdb,EAA4BE,EAAM,GAC7B,GAAGW,EAAM,cAEX,GAAGA,EAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeOverview.js","names":["Card","CardHeader","CardContent","CardFooter","TradeOverviewHeader","TradeDetails","MinTradeFlowToken","Stepper","ApproveAndSubmitFooter","TradeOverviewFooter","FlowStep","ActiveStep","TradeFlowContext","useTradeFlowContext","TradeFlowContextProps","TradeComplete","TradeCompletedFooter","TradeErrorFooter","TradeError","CancelOrderStepKey","isNonFlowStep","cn","WIDGET_MIN_HEIGHT_CLASSNAME","SwapSideUnion","motion","JSX","completedFlowProps","flowProps","footerProps","headerProps","tradeDetailsProps","TradeFlowType","MinTradeOverviewProps","fromToken","toToken","fromAmount","toAmount","swapSide","PreWrapTradeOverviewProps","preWrapETH","TradeOverviewProps","tradeFlowType","FlowType","steps","Key","activeStep","orderCancellationStep","onHelp","onDismiss","onCancelFlow","onResubmit","onRestartFlow","onCancelOrder","isFlowCancellable","explorerLink","error","Error","erroredStep","result","Result","Content","$","_c","derivedStep","step","content","t0","Symbol","for","contentMotionProps","t1","t2","t3","t4","t5","Footer","TradeOverviewBase","t6","TradeOverviewProviderProps","children","React","ReactNode","TradeOverviewProvider","contextValue","TradeOverview"],"sources":["../../../../src/components/widget/TradeOverview/TradeOverview.tsx"],"sourcesContent":["import {\n Card,\n CardHeader,\n CardContent,\n CardFooter,\n} from \"@/components/ui/card\";\nimport { TradeOverviewHeader } from \"./TradeOverviewHeader\";\nimport { TradeDetails, type MinTradeFlowToken } from \"./TradeDetails\";\nimport { Stepper } from \"./Stepper\";\nimport {\n ApproveAndSubmitFooter,\n TradeOverviewFooter,\n} from \"./TradeOverviewFooter\";\nimport type { FlowStep, ActiveStep } from \"./Step/types\";\nimport {\n TradeFlowContext,\n useTradeFlowContext,\n type TradeFlowContextProps,\n} from \"./tradeFlowContext\";\nimport { TradeComplete } from \"./TradeComplete\";\nimport { TradeCompletedFooter } from \"./TradeComplete/TradeCompleteFooter\";\nimport { TradeErrorFooter } from \"./TradeError/TradeErrorFooter\";\nimport { TradeError } from \"./TradeError\";\nimport { type CancelOrderStepKey } from \"./steps\";\nimport { isNonFlowStep } from \"./utils/isNonFlowStep\";\nimport { cn } from \"@/lib/utils\";\nimport { WIDGET_MIN_HEIGHT_CLASSNAME } from \"@/core/constants\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { motion } from \"motion/react\";\nimport type { JSX } from \"react\";\n\nimport {\n completedFlowProps,\n flowProps,\n footerProps,\n headerProps,\n tradeDetailsProps,\n} from \"./motionProps\";\nimport type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\n\n// --- Main TradeOverview ---\nexport type MinTradeOverviewProps = {\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n fromAmount: string;\n toAmount: string;\n swapSide?: SwapSideUnion;\n};\n\nexport type PreWrapTradeOverviewProps = MinTradeOverviewProps & {\n preWrapETH: boolean;\n};\n\nexport type TradeOverviewProps<\n Key extends string = string,\n Result = unknown,\n FlowType extends TradeFlowType = TradeFlowType,\n> = MinTradeOverviewProps & {\n /** type of the flow */\n tradeFlowType: FlowType;\n /** steps of the flow */\n steps: FlowStep<Key>[];\n /** step that is currently active */\n activeStep?: ActiveStep<Key>;\n /** step within the order cancellation subflow */\n orderCancellationStep?: CancelOrderStepKey;\n /** shows the help modal */\n onHelp?: () => void;\n /** cancels the flow and dismisses the overview */\n onDismiss?: () => void;\n /** cancels the flow */\n onCancelFlow?: () => void;\n /** switches to resubmit step */\n onResubmit?: () => void;\n /** restarts the flow in resubmit step */\n onRestartFlow?: () => void;\n /** cancels the order (still within the flow) */\n onCancelOrder?: () => void;\n /** whether the flow can be cancelled */\n isFlowCancellable?: boolean;\n /** link to the transaction explorer */\n explorerLink?: string;\n /** error that occurred during the flow */\n error?: Error | null;\n /** step that caused the error */\n erroredStep?: Key;\n /** result of the flow */\n result?: Result;\n};\n\nconst Content = () => {\n const { result, error, erroredStep, tradeFlowType, derivedStep } =\n useTradeFlowContext();\n\n let step: \"in-progress\" | \"complete\" | \"error\" | \"prepare-swap\";\n let content: JSX.Element;\n if (derivedStep && isNonFlowStep(derivedStep)) {\n step = \"prepare-swap\";\n content = <Stepper />;\n } else if (error) {\n content = (\n <TradeError\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n );\n step = \"error\";\n } else if (result) {\n content = <TradeComplete tradeFlowType={result.tradeFlowType} />;\n step = \"complete\";\n } else {\n content = <Stepper />;\n step = \"in-progress\";\n }\n\n const contentMotionProps =\n step === \"complete\" ? completedFlowProps : flowProps;\n\n return (\n <div className=\"flex flex-col gap-4\">\n <motion.div {...tradeDetailsProps} key={`details-${step}`}>\n <TradeDetails />\n </motion.div>\n <motion.div {...contentMotionProps} key={`flow-${step}`}>\n {content}\n </motion.div>\n </div>\n );\n};\n\nconst Footer = ({\n onDismiss,\n onCancelFlow,\n onCancelOrder,\n onResubmit,\n onRestartFlow,\n}: Pick<\n TradeOverviewProps,\n | \"onDismiss\"\n | \"onCancelFlow\"\n | \"onResubmit\"\n | \"onCancelOrder\"\n | \"onRestartFlow\"\n>) => {\n const { result, error, derivedStep } = useTradeFlowContext();\n\n let step: \"in-progress\" | \"complete\" | \"error\" | \"prepare-swap\";\n let content: JSX.Element;\n if (derivedStep && isNonFlowStep(derivedStep)) {\n step = \"prepare-swap\";\n content = (\n <ApproveAndSubmitFooter\n onDismiss={onDismiss}\n onRestartFlow={onRestartFlow}\n />\n );\n } else if (error) {\n step = \"error\";\n content = (\n <TradeErrorFooter onDismiss={onDismiss} onResubmit={onResubmit} />\n );\n } else if (result) {\n step = \"complete\";\n content = (\n <TradeCompletedFooter\n onDismiss={onDismiss}\n onCancelOrder={onCancelOrder}\n />\n );\n } else {\n step = \"in-progress\";\n content = (\n <TradeOverviewFooter\n onDismiss={onDismiss}\n onCancelFlow={onCancelFlow}\n onCancelOrder={onCancelOrder}\n />\n );\n }\n\n return (\n <motion.div {...footerProps} key={`footer-${step}`}>\n {content}\n </motion.div>\n );\n};\n\nconst TradeOverviewBase = ({\n onHelp,\n onDismiss,\n onCancelFlow,\n onResubmit,\n onCancelOrder,\n onRestartFlow,\n}: Pick<\n TradeOverviewProps,\n | \"onHelp\"\n | \"onDismiss\"\n | \"onCancelFlow\"\n | \"onResubmit\"\n | \"onCancelOrder\"\n | \"onRestartFlow\"\n>) => {\n return (\n <Card\n className={cn(\n \"max-w-[460px] bg-contrast-8 dark:bg-contrast-2 rounded-2xl p-[24px] shadow-[0px_-1px_0px_0px_rgba(13,107,202,0.05)_inset] gap-0 border-none\",\n WIDGET_MIN_HEIGHT_CLASSNAME\n )}\n >\n <CardHeader className=\"p-0\">\n <motion.div {...headerProps} key=\"trade-overview-header\">\n <TradeOverviewHeader\n onBack={() => {\n onDismiss?.();\n onCancelFlow?.();\n }}\n onHelp={onHelp}\n />\n </motion.div>\n </CardHeader>\n <CardContent className=\"p-0\">\n <Content />\n </CardContent>\n <CardFooter className=\"p-0 pt-6 mt-auto\">\n <Footer\n onDismiss={onDismiss}\n onCancelFlow={onCancelFlow}\n onResubmit={onResubmit}\n onCancelOrder={onCancelOrder}\n onRestartFlow={onRestartFlow}\n />\n </CardFooter>\n </Card>\n );\n};\n\ntype TradeOverviewProviderProps<\n Key extends string = string,\n Result = unknown,\n> = TradeFlowContextProps<Key, Result> & {\n children: React.ReactNode;\n};\n\nconst TradeOverviewProvider = <Key extends string = string, Result = unknown>({\n children,\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n swapSide,\n activeStep,\n orderCancellationStep,\n steps,\n isFlowCancellable,\n explorerLink,\n result,\n error,\n erroredStep,\n tradeFlowType,\n}: TradeOverviewProviderProps<Key, Result>) => {\n const contextValue = {\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n swapSide,\n activeStep,\n orderCancellationStep,\n steps,\n isFlowCancellable,\n explorerLink,\n result,\n error,\n erroredStep,\n tradeFlowType,\n };\n return (\n <TradeFlowContext.Provider value={contextValue}>\n {children}\n </TradeFlowContext.Provider>\n );\n};\n\nexport const TradeOverview = <\n Key extends string = string,\n Result = unknown,\n FlowType extends TradeFlowType = TradeFlowType,\n>({\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n swapSide,\n steps,\n activeStep,\n orderCancellationStep,\n onHelp,\n onDismiss,\n onCancelFlow,\n onCancelOrder,\n onResubmit,\n onRestartFlow,\n isFlowCancellable,\n explorerLink,\n result,\n error,\n erroredStep,\n tradeFlowType,\n}: TradeOverviewProps<Key, Result, FlowType>) => {\n return (\n <TradeOverviewProvider\n fromToken={fromToken}\n toToken={toToken}\n fromAmount={fromAmount}\n toAmount={toAmount}\n activeStep={activeStep}\n orderCancellationStep={orderCancellationStep}\n steps={steps}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n swapSide={swapSide}\n >\n <TradeOverviewBase\n onHelp={onHelp}\n onDismiss={onDismiss}\n onCancelFlow={onCancelFlow}\n onResubmit={onResubmit}\n onCancelOrder={onCancelOrder}\n onRestartFlow={onRestartFlow}\n />\n </TradeOverviewProvider>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TradeOverview.js","names":["Card","CardHeader","CardContent","CardFooter","TradeOverviewHeader","TradeDetails","MinTradeFlowToken","Stepper","ApproveAndSubmitFooter","TradeOverviewFooter","FlowStep","ActiveStep","TradeFlowContext","useTradeFlowContext","TradeFlowContextProps","TradeComplete","TradeCompletedFooter","TradeErrorFooter","TradeError","CancelOrderStepKey","isNonFlowStep","cn","WIDGET_MIN_HEIGHT_CLASSNAME","SwapSideUnion","motion","JSX","completedFlowProps","flowProps","footerProps","headerProps","tradeDetailsProps","TradeFlowType","MinTradeOverviewProps","fromToken","toToken","fromAmount","toAmount","swapSide","PreWrapTradeOverviewProps","preWrapETH","TradeOverviewProps","tradeFlowType","FlowType","steps","Key","activeStep","orderCancellationStep","onHelp","onDismiss","onCancelFlow","onResubmit","onRestartFlow","onCancelOrder","isFlowCancellable","explorerLink","error","Error","erroredStep","result","Result","Content","$","_c","derivedStep","step","content","t0","Symbol","for","contentMotionProps","t1","t2","t3","t4","t5","Footer","TradeOverviewBase","t6","TradeOverviewProviderProps","children","React","ReactNode","TradeOverviewProvider","contextValue","TradeOverview"],"sources":["../../../../src/components/widget/TradeOverview/TradeOverview.tsx"],"sourcesContent":["import {\n Card,\n CardHeader,\n CardContent,\n CardFooter,\n} from \"@/components/ui/card\";\nimport { TradeOverviewHeader } from \"./TradeOverviewHeader\";\nimport { TradeDetails, type MinTradeFlowToken } from \"./TradeDetails\";\nimport { Stepper } from \"./Stepper\";\nimport {\n ApproveAndSubmitFooter,\n TradeOverviewFooter,\n} from \"./TradeOverviewFooter\";\nimport type { FlowStep, ActiveStep } from \"./Step/types\";\nimport {\n TradeFlowContext,\n useTradeFlowContext,\n type TradeFlowContextProps,\n} from \"./tradeFlowContext\";\nimport { TradeComplete } from \"./TradeComplete\";\nimport { TradeCompletedFooter } from \"./TradeComplete/TradeCompleteFooter\";\nimport { TradeErrorFooter } from \"./TradeError/TradeErrorFooter\";\nimport { TradeError } from \"./TradeError\";\nimport { type CancelOrderStepKey } from \"./steps\";\nimport { isNonFlowStep } from \"./utils/isNonFlowStep\";\nimport { cn } from \"@/lib/utils\";\nimport { WIDGET_MIN_HEIGHT_CLASSNAME } from \"@/core/constants\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { motion } from \"motion/react\";\nimport type { JSX } from \"react\";\n\nimport {\n completedFlowProps,\n flowProps,\n footerProps,\n headerProps,\n tradeDetailsProps,\n} from \"./motionProps\";\nimport type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\n\n// --- Main TradeOverview ---\nexport type MinTradeOverviewProps = {\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n fromAmount: string;\n toAmount: string;\n swapSide?: SwapSideUnion;\n};\n\nexport type PreWrapTradeOverviewProps = MinTradeOverviewProps & {\n preWrapETH: boolean;\n};\n\nexport type TradeOverviewProps<\n Key extends string = string,\n Result = unknown,\n FlowType extends TradeFlowType = TradeFlowType,\n> = MinTradeOverviewProps & {\n /** type of the flow */\n tradeFlowType: FlowType;\n /** steps of the flow */\n steps: FlowStep<Key>[];\n /** step that is currently active */\n activeStep?: ActiveStep<Key>;\n /** step within the order cancellation subflow */\n orderCancellationStep?: CancelOrderStepKey;\n /** shows the help modal */\n onHelp?: () => void;\n /** cancels the flow and dismisses the overview */\n onDismiss?: () => void;\n /** cancels the flow */\n onCancelFlow?: () => void;\n /** switches to resubmit step */\n onResubmit?: () => void;\n /** restarts the flow in resubmit step */\n onRestartFlow?: () => void;\n /** cancels the order (still within the flow) */\n onCancelOrder?: () => void;\n /** whether the flow can be cancelled */\n isFlowCancellable?: boolean;\n /** link to the transaction explorer */\n explorerLink?: string;\n /** error that occurred during the flow */\n error?: Error | null;\n /** step that caused the error */\n erroredStep?: Key;\n /** result of the flow */\n result?: Result;\n};\n\nconst Content = () => {\n const { result, error, erroredStep, tradeFlowType, derivedStep } =\n useTradeFlowContext();\n\n let step: \"in-progress\" | \"complete\" | \"error\" | \"prepare-swap\";\n let content: JSX.Element;\n if (derivedStep && isNonFlowStep(derivedStep)) {\n step = \"prepare-swap\";\n content = <Stepper />;\n } else if (error) {\n content = (\n <TradeError\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n );\n step = \"error\";\n } else if (result) {\n content = <TradeComplete tradeFlowType={result.tradeFlowType} />;\n step = \"complete\";\n } else {\n content = <Stepper />;\n step = \"in-progress\";\n }\n\n const contentMotionProps =\n step === \"complete\" ? completedFlowProps : flowProps;\n\n return (\n <div className=\"flex flex-col gap-4\">\n <motion.div {...tradeDetailsProps} key={`details-${step}`}>\n <TradeDetails />\n </motion.div>\n <motion.div {...contentMotionProps} key={`flow-${step}`}>\n {content}\n </motion.div>\n </div>\n );\n};\n\nconst Footer = ({\n onDismiss,\n onCancelFlow,\n onCancelOrder,\n onResubmit,\n onRestartFlow,\n}: Pick<\n TradeOverviewProps,\n | \"onDismiss\"\n | \"onCancelFlow\"\n | \"onResubmit\"\n | \"onCancelOrder\"\n | \"onRestartFlow\"\n>) => {\n const { result, error, derivedStep } = useTradeFlowContext();\n\n let step: \"in-progress\" | \"complete\" | \"error\" | \"prepare-swap\";\n let content: JSX.Element;\n if (derivedStep && isNonFlowStep(derivedStep)) {\n step = \"prepare-swap\";\n content = (\n <ApproveAndSubmitFooter\n onDismiss={onDismiss}\n onRestartFlow={onRestartFlow}\n />\n );\n } else if (error) {\n step = \"error\";\n content = (\n <TradeErrorFooter onDismiss={onDismiss} onResubmit={onResubmit} />\n );\n } else if (result) {\n step = \"complete\";\n content = (\n <TradeCompletedFooter\n onDismiss={onDismiss}\n onCancelOrder={onCancelOrder}\n />\n );\n } else {\n step = \"in-progress\";\n content = (\n <TradeOverviewFooter\n onDismiss={onDismiss}\n onCancelFlow={onCancelFlow}\n onCancelOrder={onCancelOrder}\n />\n );\n }\n\n return (\n <motion.div {...footerProps} key={`footer-${step}`}>\n {content}\n </motion.div>\n );\n};\n\nconst TradeOverviewBase = ({\n onHelp,\n onDismiss,\n onCancelFlow,\n onResubmit,\n onCancelOrder,\n onRestartFlow,\n}: Pick<\n TradeOverviewProps,\n | \"onHelp\"\n | \"onDismiss\"\n | \"onCancelFlow\"\n | \"onResubmit\"\n | \"onCancelOrder\"\n | \"onRestartFlow\"\n>) => {\n return (\n <Card\n className={cn(\n \"max-w-[460px] bg-contrast-8 dark:bg-contrast-2 rounded-2xl p-[24px] shadow-[0px_-1px_0px_0px_rgba(13,107,202,0.05)_inset] gap-0 border-none\",\n WIDGET_MIN_HEIGHT_CLASSNAME\n )}\n >\n <CardHeader className=\"p-0\">\n <motion.div {...headerProps} key=\"trade-overview-header\">\n <TradeOverviewHeader\n onBack={() => {\n onDismiss?.();\n onCancelFlow?.();\n }}\n onHelp={onHelp}\n />\n </motion.div>\n </CardHeader>\n <CardContent className=\"p-0\">\n <Content />\n </CardContent>\n <CardFooter className=\"p-0 pt-6 mt-auto\">\n <Footer\n onDismiss={onDismiss}\n onCancelFlow={onCancelFlow}\n onResubmit={onResubmit}\n onCancelOrder={onCancelOrder}\n onRestartFlow={onRestartFlow}\n />\n </CardFooter>\n </Card>\n );\n};\n\ntype TradeOverviewProviderProps<\n Key extends string = string,\n Result = unknown,\n> = TradeFlowContextProps<Key, Result> & {\n children: React.ReactNode;\n};\n\nconst TradeOverviewProvider = <Key extends string = string, Result = unknown>({\n children,\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n swapSide,\n activeStep,\n orderCancellationStep,\n steps,\n isFlowCancellable,\n explorerLink,\n result,\n error,\n erroredStep,\n tradeFlowType,\n}: TradeOverviewProviderProps<Key, Result>) => {\n const contextValue = {\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n swapSide,\n activeStep,\n orderCancellationStep,\n steps,\n isFlowCancellable,\n explorerLink,\n result,\n error,\n erroredStep,\n tradeFlowType,\n };\n return (\n <TradeFlowContext.Provider value={contextValue}>\n {children}\n </TradeFlowContext.Provider>\n );\n};\n\nexport const TradeOverview = <\n Key extends string = string,\n Result = unknown,\n FlowType extends TradeFlowType = TradeFlowType,\n>({\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n swapSide,\n steps,\n activeStep,\n orderCancellationStep,\n onHelp,\n onDismiss,\n onCancelFlow,\n onCancelOrder,\n onResubmit,\n onRestartFlow,\n isFlowCancellable,\n explorerLink,\n result,\n error,\n erroredStep,\n tradeFlowType,\n}: TradeOverviewProps<Key, Result, FlowType>) => {\n return (\n <TradeOverviewProvider\n fromToken={fromToken}\n toToken={toToken}\n fromAmount={fromAmount}\n toAmount={toAmount}\n activeStep={activeStep}\n orderCancellationStep={orderCancellationStep}\n steps={steps}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n swapSide={swapSide}\n >\n <TradeOverviewBase\n onHelp={onHelp}\n onDismiss={onDismiss}\n onCancelFlow={onCancelFlow}\n onResubmit={onResubmit}\n onCancelOrder={onCancelOrder}\n onRestartFlow={onRestartFlow}\n />\n </TradeOverviewProvider>\n );\n};\n"],"mappings":"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"}
|