@velora-dex/widget 0.4.13 → 0.4.14-dev.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/ui/button.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +1 -0
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.d.ts +3 -3
- package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.js +2 -1
- package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js +2 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +44 -26
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Duration/Duration.d.ts +1 -1
- package/dist/components/widget/Duration/Duration.d.ts.map +1 -1
- package/dist/components/widget/Duration/Duration.js +1 -4
- package/dist/components/widget/Duration/Duration.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +2 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +9 -7
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/types.d.ts +2 -2
- package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -2
- package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.js +25 -9
- package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
- package/dist/components/widget/NumberInput/NumberInput.d.ts +18 -0
- package/dist/components/widget/NumberInput/NumberInput.d.ts.map +1 -0
- package/dist/components/widget/NumberInput/NumberInput.js +255 -0
- package/dist/components/widget/NumberInput/NumberInput.js.map +1 -0
- package/dist/components/widget/NumberInput/assets/arrow-down.svg.js +12 -0
- package/dist/components/widget/NumberInput/assets/arrow-down.svg.js.map +1 -0
- package/dist/components/widget/NumberInput/assets/arrow-up.svg.js +12 -0
- package/dist/components/widget/NumberInput/assets/arrow-up.svg.js.map +1 -0
- package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js +8 -4
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -1
- package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.js +29 -20
- package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +77 -86
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +28 -46
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/constants.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/constants.js +2 -1
- package/dist/components/widget/TradeOverview/TradeComplete/constants.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +105 -72
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js +46 -11
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts +7 -2
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +19 -7
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +15 -0
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +241 -0
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -0
- package/dist/components/widget/TradeOverview/steps.d.ts +37 -0
- package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/steps.js +10 -1
- package/dist/components/widget/TradeOverview/steps.js.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +2 -2
- package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts +14 -0
- package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/utils/swapAmounts.js +43 -0
- package/dist/components/widget/TradeOverview/utils/swapAmounts.js.map +1 -0
- package/dist/components/widget/Twap/OrderDuration.d.ts +2 -0
- package/dist/components/widget/Twap/OrderDuration.d.ts.map +1 -0
- package/dist/components/widget/Twap/OrderDuration.js +75 -0
- package/dist/components/widget/Twap/OrderDuration.js.map +1 -0
- package/dist/components/widget/Twap/OrderSplit.d.ts +2 -0
- package/dist/components/widget/Twap/OrderSplit.d.ts.map +1 -0
- package/dist/components/widget/Twap/OrderSplit.js +57 -0
- package/dist/components/widget/Twap/OrderSplit.js.map +1 -0
- package/dist/components/widget/Twap/RateProtection.d.ts +2 -0
- package/dist/components/widget/Twap/RateProtection.d.ts.map +1 -0
- package/dist/components/widget/Twap/RateProtection.js +57 -0
- package/dist/components/widget/Twap/RateProtection.js.map +1 -0
- package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts +3 -0
- package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts.map +1 -0
- package/dist/components/widget/Twap/TwapDetailWithTooltip.js +33 -0
- package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -0
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -1
- package/dist/core/TradeFlowScreenButton.d.ts +5 -0
- package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
- package/dist/core/TradeFlowScreenButton.js +58 -1
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/TwapDetails.d.ts +2 -0
- package/dist/core/TwapDetails.d.ts.map +1 -0
- package/dist/core/TwapDetails.js +24 -0
- package/dist/core/TwapDetails.js.map +1 -0
- package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
- package/dist/core/across/isCrosschainPossible.js +1 -1
- package/dist/core/across/isCrosschainPossible.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +71 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/constants.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +199 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts +2 -0
- package/dist/core/inputs/state/common.d.ts.map +1 -1
- package/dist/core/inputs/state/common.js +40 -4
- package/dist/core/inputs/state/common.js.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js +2 -2
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/limit/state/utils.d.ts +1 -1
- package/dist/core/limit/useLimitRate.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +0 -2
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/state/chainToAtom.d.ts +2 -0
- package/dist/core/state/chainToAtom.d.ts.map +1 -1
- package/dist/core/state/chainToAtom.js +28 -7
- package/dist/core/state/chainToAtom.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/tradeModeAtom.d.ts +1 -1
- package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
- package/dist/core/state/tradeModeAtom.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
- package/dist/core/state/widgetEventsAtom.js +55 -33
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/twap/state/constants.d.ts +15 -0
- package/dist/core/twap/state/constants.d.ts.map +1 -0
- package/dist/core/twap/state/constants.js +19 -0
- package/dist/core/twap/state/constants.js.map +1 -0
- package/dist/core/twap/state/currentTwapInputAtom.d.ts +4 -0
- package/dist/core/twap/state/currentTwapInputAtom.d.ts.map +1 -0
- package/dist/core/twap/state/currentTwapInputAtom.js +6 -0
- package/dist/core/twap/state/currentTwapInputAtom.js.map +1 -0
- package/dist/core/twap/state/isCrosschainAtom.d.ts +3 -0
- package/dist/core/twap/state/isCrosschainAtom.d.ts.map +1 -0
- package/dist/core/twap/state/isCrosschainAtom.js +16 -0
- package/dist/core/twap/state/isCrosschainAtom.js.map +1 -0
- package/dist/core/twap/state/selectedTokenActionsAtom.d.ts +13 -0
- package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +1 -0
- package/dist/core/twap/state/selectedTokenActionsAtom.js +198 -0
- package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -0
- package/dist/core/twap/state/twapInputAmountAtom.d.ts +9 -0
- package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +1 -0
- package/dist/core/twap/state/twapInputAmountAtom.js +21 -0
- package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -0
- package/dist/core/twap/state/twapParamsAtom.d.ts +16 -0
- package/dist/core/twap/state/twapParamsAtom.d.ts.map +1 -0
- package/dist/core/twap/state/twapParamsAtom.js +22 -0
- package/dist/core/twap/state/twapParamsAtom.js.map +1 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.d.ts +5 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.d.ts.map +1 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.js +10 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.js.map +1 -0
- package/dist/core/twap/state/twapSideAtom.d.ts +4 -0
- package/dist/core/twap/state/twapSideAtom.d.ts.map +1 -0
- package/dist/core/twap/state/twapSideAtom.js +19 -0
- package/dist/core/twap/state/twapSideAtom.js.map +1 -0
- package/dist/core/twap/state/twapTokenAtoms.d.ts +10 -0
- package/dist/core/twap/state/twapTokenAtoms.d.ts.map +1 -0
- package/dist/core/twap/state/twapTokenAtoms.js +17 -0
- package/dist/core/twap/state/twapTokenAtoms.js.map +1 -0
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +12 -0
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -0
- package/dist/core/twap/twapDetails/minimumReceiveable.js +44 -0
- package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -0
- package/dist/core/twap/useTwapDetailsListProps.d.ts +3 -0
- package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -0
- package/dist/core/twap/useTwapDetailsListProps.js +109 -0
- package/dist/core/twap/useTwapDetailsListProps.js.map +1 -0
- package/dist/core/twap/useTwapTokenFromInputProps.d.ts +9 -0
- package/dist/core/twap/useTwapTokenFromInputProps.d.ts.map +1 -0
- package/dist/core/twap/useTwapTokenFromInputProps.js +455 -0
- package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -0
- package/dist/core/twap/useTwapTokenSwitcherProps.d.ts +3 -0
- package/dist/core/twap/useTwapTokenSwitcherProps.d.ts.map +1 -0
- package/dist/core/twap/useTwapTokenSwitcherProps.js +38 -0
- package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -0
- package/dist/core/twap/useTwapTokenToInputProps.d.ts +9 -0
- package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +1 -0
- package/dist/core/twap/useTwapTokenToInputProps.js +271 -0
- package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -0
- package/dist/events/effects/formInput.d.ts +3 -0
- package/dist/events/effects/formInput.d.ts.map +1 -1
- package/dist/events/effects/formInput.js +17 -1
- package/dist/events/effects/formInput.js.map +1 -1
- package/dist/events/getters/twap.d.ts +6 -0
- package/dist/events/getters/twap.d.ts.map +1 -0
- package/dist/events/getters/twap.js +65 -0
- package/dist/events/getters/twap.js.map +1 -0
- package/dist/events/getters/widgetState.d.ts.map +1 -1
- package/dist/events/getters/widgetState.js +3 -1
- package/dist/events/getters/widgetState.js.map +1 -1
- package/dist/events/hooks/useActivateEffects.d.ts.map +1 -1
- package/dist/events/hooks/useActivateEffects.js +2 -1
- package/dist/events/hooks/useActivateEffects.js.map +1 -1
- package/dist/events/types/common.d.ts +6 -0
- package/dist/events/types/common.d.ts.map +1 -1
- package/dist/events/types/formInput.d.ts +11 -2
- package/dist/events/types/formInput.d.ts.map +1 -1
- package/dist/events/types/index.d.ts +4 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/events/types/limit.d.ts +2 -2
- package/dist/events/types/limit.d.ts.map +1 -1
- package/dist/events/types/swap.d.ts +3 -2
- package/dist/events/types/swap.d.ts.map +1 -1
- package/dist/events/types/twap.d.ts +26 -0
- package/dist/events/types/twap.d.ts.map +1 -0
- package/dist/hooks/batch/useSendBatchTx.d.ts +1 -1
- package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
- package/dist/hooks/permit/utils/deadlines.d.ts +2 -2
- package/dist/hooks/permit/utils/deadlines.d.ts.map +1 -1
- package/dist/hooks/permit/utils/deadlines.js +4 -4
- package/dist/hooks/permit/utils/deadlines.js.map +1 -1
- package/dist/hooks/swap/prices/constants.d.ts +1 -0
- package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
- package/dist/hooks/swap/prices/constants.js +2 -1
- package/dist/hooks/swap/prices/constants.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts +19 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js +86 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +37 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +164 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts +69 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +278 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +15 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +89 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts +60 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +325 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts +18 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +87 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts +10 -1
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +2 -5
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +2 -3
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +6 -6
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +3 -3
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +3 -15
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +4 -5
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +17 -6
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js +34 -2
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts +11 -46
- package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +6 -5
- package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +67 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +24 -6
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +17 -10
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +32 -4
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +5 -6
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +7 -7
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +37 -35
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +14 -17
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts +1 -0
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/utils.js +8 -1
- package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +37 -35
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +3 -4
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +0 -2
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +16 -0
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -0
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js +73 -0
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -0
- package/dist/hooks/swap/prices/useTwapPrices.d.ts +28 -0
- package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -0
- package/dist/hooks/swap/prices/useTwapPrices.js +175 -0
- package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +48 -0
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +71 -0
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +50 -0
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +94 -0
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/types.d.ts +4 -2
- package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +1 -0
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +57 -55
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +6 -6
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +263 -152
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +7 -7
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +296 -181
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts +2 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +85 -83
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/utils.js +1 -1
- package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +8 -9
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +4 -3
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +5 -6
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +5 -9
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +88 -0
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js +591 -0
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts +25 -0
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js +237 -0
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -0
- package/dist/hooks/useSDK.d.ts +4 -4
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +4 -4
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/hooks/useSlippage.d.ts.map +1 -1
- package/dist/hooks/useSlippage.js +2 -1
- package/dist/hooks/useSlippage.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/constants/delta.d.ts.map +1 -1
- package/dist/lib/constants/delta.js +1 -1
- package/dist/lib/constants/delta.js.map +1 -1
- package/dist/lib/constants/time.d.ts +1 -0
- package/dist/lib/constants/time.d.ts.map +1 -1
- package/dist/lib/constants/time.js +2 -1
- package/dist/lib/constants/time.js.map +1 -1
- package/dist/lib/queryClient.js +2 -2
- package/dist/lib/queryClient.js.map +1 -1
- package/dist/lib/tradeMode.d.ts +1 -1
- package/dist/lib/tradeMode.d.ts.map +1 -1
- package/dist/lib/tradeMode.js +1 -1
- package/dist/lib/tradeMode.js.map +1 -1
- package/dist/lib/utils/index.d.ts +8 -0
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +18 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/time.d.ts +2 -0
- package/dist/lib/utils/time.d.ts.map +1 -1
- package/dist/lib/utils/time.js +7 -1
- package/dist/lib/utils/time.js.map +1 -1
- package/dist/lib/utils/toasts.d.ts +4 -4
- package/dist/lib/utils/toasts.d.ts.map +1 -1
- package/dist/lib/utils/toasts.js.map +1 -1
- package/dist/lib/utils/twap.d.ts +17 -0
- package/dist/lib/utils/twap.d.ts.map +1 -0
- package/dist/lib/utils/twap.js +34 -0
- package/dist/lib/utils/twap.js.map +1 -0
- package/dist/lib/web3/privy/config.js +1 -1
- package/dist/lib/web3/privy/config.js.map +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js.map +1 -1
- package/dist/styles.css +63 -2
- package/dist/tokens/constants.d.ts.map +1 -1
- package/dist/tokens/constants.js +9 -9
- package/dist/tokens/constants.js.map +1 -1
- package/dist/tokens/defaultTokens.d.ts.map +1 -1
- package/dist/tokens/defaultTokens.js +21 -18
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/tokens/lists/constants.d.ts +1 -1
- package/dist/tokens/lists/constants.d.ts.map +1 -1
- package/dist/tokens/lists/constants.js +1 -1
- package/dist/tokens/lists/constants.js.map +1 -1
- package/dist/transactions/types.d.ts +3 -3
- package/dist/transactions/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetEventsAtom.js","sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\ntype Callbacks = Required<WidgetEventCallbacksMin>;\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: Callbacks[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onLimitOrder: Callbacks[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: Callbacks[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: Callbacks[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: Callbacks[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: Callbacks[\"onSettingsChange\"] = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: Callbacks[\"onConnectWallet\"] = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: Callbacks[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onFillOTCOrder: Callbacks[\"onFillOTCOrder\"] = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: Callbacks[\"onFormInputChange\"] = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const _onPriceChange = callbacks.onPriceChange;\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = _onPriceChange\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onPriceChange(payloadWithState);\n }\n : undefined;\n\n set(widgetEventsAtom, {\n onSwap,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"names":["widgetEventsAtom","atom","get","set","callbacks","onSwap","payload","widgetState","getWidgetState","swapFormState","formState","swap","assert","isFullTokenFormState","payloadWithState","event","params","state","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onFillOTCOrder","onFormInputChange","_onPriceChange","onPriceChange","useWidgetEvents","useAtomValue","useWidgetEventsSetter","$","_c","setWidgetEvents","useSetAtom","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","useLayoutEffect","tokenTo","receiverAddress","destChainId","connectedAccount"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"widgetEventsAtom.js","sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\ntype Callbacks = Required<WidgetEventCallbacksMin>;\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: Callbacks[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onTwapOrder: Callbacks[\"onTwapOrder\"] = (payload) => {\n if (!callbacks.onTwapOrder) return;\n const widgetState = getWidgetState(get);\n\n const twapFormState = widgetState.formState.twap;\n assert(\n isFullTokenFormState(twapFormState),\n \"Twap form state is required to perform twap order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onTwapOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...twapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onTwapOrder(payloadWithState);\n };\n\n const onLimitOrder: Callbacks[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: Callbacks[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: Callbacks[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: Callbacks[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: Callbacks[\"onSettingsChange\"] = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: Callbacks[\"onConnectWallet\"] = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: Callbacks[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onFillOTCOrder: Callbacks[\"onFillOTCOrder\"] = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: Callbacks[\"onFormInputChange\"] = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const _onPriceChange = callbacks.onPriceChange;\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = _onPriceChange\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onPriceChange(payloadWithState);\n }\n : undefined;\n\n set(widgetEventsAtom, {\n onSwap,\n onTwapOrder,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onTwapOrder: callbacks?.onTwapOrder,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onTwapOrder,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"names":["widgetEventsAtom","atom","get","set","callbacks","onSwap","payload","widgetState","getWidgetState","swapFormState","formState","swap","assert","isFullTokenFormState","payloadWithState","event","params","state","onTwapOrder","twapFormState","twap","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onFillOTCOrder","onFormInputChange","_onPriceChange","onPriceChange","useWidgetEvents","useAtomValue","useWidgetEventsSetter","$","_c","setWidgetEvents","useSetAtom","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","useLayoutEffect","tokenTo","receiverAddress","destChainId","connectedAccount"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Number of order splits (min 2) */
|
|
2
|
+
export declare const TWAP_SPLIT_MIN = 2;
|
|
3
|
+
export declare const TWAP_SPLIT_MAX = 100;
|
|
4
|
+
export declare const TWAP_SPLIT_STEP = 1;
|
|
5
|
+
/** Rate protection (slippage) in percentage, step 0.1 */
|
|
6
|
+
export declare const TWAP_SLIPPAGE_MIN = 0.5;
|
|
7
|
+
export declare const TWAP_SLIPPAGE_MAX = 50;
|
|
8
|
+
export declare const TWAP_SLIPPAGE_STEP = 0.1;
|
|
9
|
+
/** Order duration in minutes */
|
|
10
|
+
export type TwapDuration = 5 | 30 | 60;
|
|
11
|
+
export declare const TWAP_DURATION_OPTIONS: {
|
|
12
|
+
value: TwapDuration;
|
|
13
|
+
label: string;
|
|
14
|
+
}[];
|
|
15
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/constants.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,gCAAgC;AAChC,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAEvC,eAAO,MAAM,qBAAqB,EAAE;IAClC,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,EAIA,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const TWAP_SPLIT_MIN = 2;
|
|
2
|
+
const TWAP_SPLIT_MAX = 100;
|
|
3
|
+
const TWAP_SPLIT_STEP = 1;
|
|
4
|
+
const TWAP_SLIPPAGE_MIN = 0.5;
|
|
5
|
+
const TWAP_SLIPPAGE_MAX = 50;
|
|
6
|
+
const TWAP_SLIPPAGE_STEP = 0.1;
|
|
7
|
+
const TWAP_DURATION_OPTIONS = [{
|
|
8
|
+
value: 5,
|
|
9
|
+
label: "5m"
|
|
10
|
+
}, {
|
|
11
|
+
value: 30,
|
|
12
|
+
label: "30m"
|
|
13
|
+
}, {
|
|
14
|
+
value: 60,
|
|
15
|
+
label: "1h"
|
|
16
|
+
}];
|
|
17
|
+
|
|
18
|
+
export { TWAP_DURATION_OPTIONS, TWAP_SLIPPAGE_MAX, TWAP_SLIPPAGE_MIN, TWAP_SLIPPAGE_STEP, TWAP_SPLIT_MAX, TWAP_SPLIT_MIN, TWAP_SPLIT_STEP };
|
|
19
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/core/twap/state/constants.ts"],"sourcesContent":["/** Number of order splits (min 2) */\nexport const TWAP_SPLIT_MIN = 2;\nexport const TWAP_SPLIT_MAX = 100;\nexport const TWAP_SPLIT_STEP = 1;\n\n/** Rate protection (slippage) in percentage, step 0.1 */\nexport const TWAP_SLIPPAGE_MIN = 0.5;\nexport const TWAP_SLIPPAGE_MAX = 50;\nexport const TWAP_SLIPPAGE_STEP = 0.1;\n\n/** Order duration in minutes */\nexport type TwapDuration = 5 | 30 | 60;\n\nexport const TWAP_DURATION_OPTIONS: {\n value: TwapDuration;\n label: string;\n}[] = [\n { value: 5, label: \"5m\" },\n { value: 30, label: \"30m\" },\n { value: 60, label: \"1h\" },\n];\n"],"names":["TWAP_SPLIT_MIN","TWAP_SPLIT_MAX","TWAP_SPLIT_STEP","TWAP_SLIPPAGE_MIN","TWAP_SLIPPAGE_MAX","TWAP_SLIPPAGE_STEP","TWAP_DURATION_OPTIONS","value","label"],"mappings":"AACO,MAAMA,cAAAA,GAAiB;AACvB,MAAMC,cAAAA,GAAiB;AACvB,MAAMC,eAAAA,GAAkB;AAGxB,MAAMC,iBAAAA,GAAoB;AAC1B,MAAMC,iBAAAA,GAAoB;AAC1B,MAAMC,kBAAAA,GAAqB;AAK3B,MAAMC,wBAGP,CACJ;AAAA,EAAEC,KAAAA,EAAO,CAAA;AAAA,EAAGC,KAAAA,EAAO;AAAK,CAAA,EACxB;AAAA,EAAED,KAAAA,EAAO,EAAA;AAAA,EAAIC,KAAAA,EAAO;AAAM,CAAA,EAC1B;AAAA,EAAED,KAAAA,EAAO,EAAA;AAAA,EAAIC,KAAAA,EAAO;AAAK,CAAC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currentTwapInputAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/currentTwapInputAtom.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB;;CAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currentTwapInputAtom.js","sources":["../../../../src/core/twap/state/currentTwapInputAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\n\nexport const currentTwapInputAtom = atom<\"from\" | \"to\">(\"from\");\n"],"names":["currentTwapInputAtom","atom"],"mappings":";;AAEO,MAAMA,oBAAAA,GAAuBC,KAAoB,MAAM;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isCrosschainAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/isCrosschainAtom.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,+BAO/B,CAAC;AAEH,eAAO,MAAM,mBAAmB,eAE/B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { atom } from 'jotai';
|
|
2
|
+
import { useAtomValue } from '../../store.js';
|
|
3
|
+
import { twapTokenFromAtom, twapTokenToAtom } from './twapTokenAtoms.js';
|
|
4
|
+
|
|
5
|
+
const isTwapCrossChainAtom = atom((get) => {
|
|
6
|
+
const tokenFrom = get(twapTokenFromAtom);
|
|
7
|
+
const tokenTo = get(twapTokenToAtom);
|
|
8
|
+
if (!tokenTo) return false;
|
|
9
|
+
return tokenFrom.network !== tokenTo.network;
|
|
10
|
+
});
|
|
11
|
+
const useIsTwapCrossChain = () => {
|
|
12
|
+
return useAtomValue(isTwapCrossChainAtom);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export { isTwapCrossChainAtom, useIsTwapCrossChain };
|
|
16
|
+
//# sourceMappingURL=isCrosschainAtom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isCrosschainAtom.js","sources":["../../../../src/core/twap/state/isCrosschainAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\n\nexport const isTwapCrossChainAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return false;\n\n return tokenFrom.network !== tokenTo.network;\n});\n\nexport const useIsTwapCrossChain = () => {\n return useAtomValue(isTwapCrossChainAtom);\n};\n"],"names":["isTwapCrossChainAtom","atom","get","tokenFrom","twapTokenFromAtom","tokenTo","twapTokenToAtom","network","useIsTwapCrossChain","useAtomValue"],"mappings":";;;;AAIO,MAAMA,oBAAAA,GAAuBC,KAAMC,CAAAA,GAAAA,KAAQ;AAChD,EAAA,MAAMC,SAAAA,GAAYD,IAAIE,iBAAiB,CAAA;AACvC,EAAA,MAAMC,OAAAA,GAAUH,IAAII,eAAe,CAAA;AAEnC,EAAA,IAAI,CAACD,SAAS,OAAO,KAAA;AAErB,EAAA,OAAOF,SAAAA,CAAUI,YAAYF,OAAAA,CAAQE,OAAAA;AACvC,CAAC;AAEM,MAAMC,sBAAsBA,MAAA;AAAA,EAAA,OAC1BC,aAAaT,oBAAoB,CAAA;AAAC;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Token } from '../../../tokens/state/types';
|
|
2
|
+
import { SupportedChainId } from '../../../lib/web3/wagmi/types';
|
|
3
|
+
export declare const switchTwapTokensAtom: import('jotai').WritableAtom<null, [], Promise<void>> & {
|
|
4
|
+
init: null;
|
|
5
|
+
};
|
|
6
|
+
export declare const selectTwapTokenFromAtom: import('jotai').WritableAtom<null, [_newTokenFrom: Token], Promise<void>> & {
|
|
7
|
+
init: null;
|
|
8
|
+
};
|
|
9
|
+
export declare const selectTwapTokenToAtom: import('jotai').WritableAtom<null, [newTokenTo: Token], Promise<void>> & {
|
|
10
|
+
init: null;
|
|
11
|
+
};
|
|
12
|
+
export declare const syncTwapTokensAfterChainSwitch: (chainId: SupportedChainId) => void;
|
|
13
|
+
//# sourceMappingURL=selectedTokenActionsAtom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAYlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,eAAO,MAAM,oBAAoB;;CAwB/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;CAqEnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;CAoGjC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,SAAS,gBAAgB,SA+DvE,CAAC"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { pickDefaultTokenPair } from '../../../tokens/defaultTokens.js';
|
|
2
|
+
import { areTokensSame } from '../../../tokens/utils/areTokensSame.js';
|
|
3
|
+
import { atom } from 'jotai';
|
|
4
|
+
import { twapTokenFromAtom, twapTokenToAtom } from './twapTokenAtoms.js';
|
|
5
|
+
import { wagmiConfig } from '../../../lib/web3/wagmi/config.js';
|
|
6
|
+
import { switchChain } from '../../../lib/web3/wagmi/switchChain.js';
|
|
7
|
+
import { isCrosschainPossible } from '../../across/isCrosschainPossible.js';
|
|
8
|
+
import { isTokenFromAcross, findFirstTokenFromAcross } from '../../across/utils.js';
|
|
9
|
+
import { allTokensByChainAtom } from '../../../tokens/state/allTokensByChainAtom.js';
|
|
10
|
+
import { getSelectableDestChains } from '../../state/getSelectableDestChains.js';
|
|
11
|
+
import { enabledSrcChainsAtom } from '../../state/enabledChainsAtom.js';
|
|
12
|
+
import { jotaiStore } from '../../store.js';
|
|
13
|
+
import { isETH } from '../../../tokens/utils/eth.js';
|
|
14
|
+
import { constructWrappedNativeToken } from '../../../tokens/constructor.js';
|
|
15
|
+
import { chainConfigMap } from '../../../lib/web3/wagmi/constants.js';
|
|
16
|
+
|
|
17
|
+
const switchTwapTokensAtom = atom(null, async (get, set) => {
|
|
18
|
+
const tokenTo = get(twapTokenToAtom);
|
|
19
|
+
if (!tokenTo) return;
|
|
20
|
+
const enabledSrcChains = get(enabledSrcChainsAtom);
|
|
21
|
+
if (!enabledSrcChains.includes(tokenTo.network)) return;
|
|
22
|
+
const tokenFrom = get(twapTokenFromAtom);
|
|
23
|
+
const initChainFrom = tokenFrom.network;
|
|
24
|
+
set(twapTokenFromAtom, tokenTo);
|
|
25
|
+
set(selectTwapTokenToAtom, tokenFrom);
|
|
26
|
+
const currentTokenFrom = get(twapTokenFromAtom);
|
|
27
|
+
if (currentTokenFrom.network !== initChainFrom) {
|
|
28
|
+
switchChain({
|
|
29
|
+
chainId: currentTokenFrom.network
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
const selectTwapTokenFromAtom = atom(null, async (get, set, _newTokenFrom) => {
|
|
34
|
+
const newTokenFrom = isETH(_newTokenFrom) ? constructWrappedNativeToken(chainConfigMap[_newTokenFrom.network]) : _newTokenFrom;
|
|
35
|
+
let tokenFrom = get(twapTokenFromAtom);
|
|
36
|
+
let tokenTo = get(twapTokenToAtom);
|
|
37
|
+
const initTokenFrom = tokenFrom;
|
|
38
|
+
set(twapTokenFromAtom, newTokenFrom);
|
|
39
|
+
tokenFrom = newTokenFrom;
|
|
40
|
+
if (tokenFrom.network !== wagmiConfig.state.chainId) {
|
|
41
|
+
switchChain({
|
|
42
|
+
chainId: tokenFrom.network
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
if (!tokenTo) return;
|
|
46
|
+
const crosschainPossible = isCrosschainPossible({
|
|
47
|
+
get,
|
|
48
|
+
chainIdFrom: tokenFrom.network,
|
|
49
|
+
chainIdTo: tokenTo.network,
|
|
50
|
+
mode: "limit"
|
|
51
|
+
});
|
|
52
|
+
if (crosschainPossible) {
|
|
53
|
+
const isTokenToFromAcross = isTokenFromAcross({
|
|
54
|
+
token: tokenTo,
|
|
55
|
+
fromChainId: tokenFrom.network,
|
|
56
|
+
toChainId: tokenTo.network,
|
|
57
|
+
mode: "limit"
|
|
58
|
+
});
|
|
59
|
+
if (!isTokenToFromAcross) {
|
|
60
|
+
const maybeAcrossToken = findFirstTokenFromAcross({
|
|
61
|
+
fromChainId: tokenFrom.network,
|
|
62
|
+
toChainId: tokenTo.network,
|
|
63
|
+
listByChainId: get(allTokensByChainAtom).listByChainId,
|
|
64
|
+
mode: "limit"
|
|
65
|
+
});
|
|
66
|
+
set(twapTokenToAtom, maybeAcrossToken);
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
if (tokenFrom.network !== tokenTo.network) {
|
|
70
|
+
const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(tokenFrom.network, "twap");
|
|
71
|
+
tokenTo = areTokensSame(tokenFrom, defaultTokenTo) ? defaultTokenFrom : defaultTokenTo;
|
|
72
|
+
set(twapTokenToAtom, tokenTo);
|
|
73
|
+
} else {
|
|
74
|
+
if (areTokensSame(tokenFrom, tokenTo)) {
|
|
75
|
+
tokenTo = initTokenFrom;
|
|
76
|
+
set(twapTokenToAtom, tokenTo);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
const selectTwapTokenToAtom = atom(null, async (get, set, newTokenTo) => {
|
|
82
|
+
let tokenFrom = get(twapTokenFromAtom);
|
|
83
|
+
const selectableDestChains = getSelectableDestChains(get, {
|
|
84
|
+
fromChainId: tokenFrom.network,
|
|
85
|
+
mode: "limit"
|
|
86
|
+
});
|
|
87
|
+
if (!selectableDestChains.includes(newTokenTo.network)) return;
|
|
88
|
+
let tokenTo = get(twapTokenToAtom);
|
|
89
|
+
const initTokenTo = tokenTo;
|
|
90
|
+
set(twapTokenToAtom, newTokenTo);
|
|
91
|
+
tokenTo = newTokenTo;
|
|
92
|
+
if (areTokensSame(tokenTo, tokenFrom)) {
|
|
93
|
+
const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(tokenTo.network, "twap");
|
|
94
|
+
const defaultToken = areTokensSame(tokenFrom, defaultTokenFrom) ? defaultTokenTo : defaultTokenFrom;
|
|
95
|
+
const wasCrosschain = initTokenTo && tokenFrom.network !== initTokenTo.network;
|
|
96
|
+
const newTokenFrom = wasCrosschain ? defaultToken : initTokenTo ?? defaultToken;
|
|
97
|
+
set(twapTokenFromAtom, newTokenFrom);
|
|
98
|
+
tokenFrom = newTokenFrom;
|
|
99
|
+
}
|
|
100
|
+
let needResetTokenFrom = false;
|
|
101
|
+
const crosschainPossible = isCrosschainPossible({
|
|
102
|
+
get,
|
|
103
|
+
chainIdFrom: tokenFrom.network,
|
|
104
|
+
chainIdTo: tokenTo.network,
|
|
105
|
+
mode: "limit"
|
|
106
|
+
});
|
|
107
|
+
if (crosschainPossible) {
|
|
108
|
+
const isTokenToFromAcross = isTokenFromAcross({
|
|
109
|
+
token: tokenTo,
|
|
110
|
+
fromChainId: tokenFrom.network,
|
|
111
|
+
toChainId: tokenTo.network,
|
|
112
|
+
mode: "limit"
|
|
113
|
+
});
|
|
114
|
+
if (!isTokenToFromAcross) {
|
|
115
|
+
needResetTokenFrom = true;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (tokenFrom.network !== tokenTo.network && !crosschainPossible) {
|
|
119
|
+
needResetTokenFrom = true;
|
|
120
|
+
}
|
|
121
|
+
const enabledSrcChains = get(enabledSrcChainsAtom);
|
|
122
|
+
if (needResetTokenFrom) {
|
|
123
|
+
let firstPossibleSrcChain = tokenTo.network;
|
|
124
|
+
if (!enabledSrcChains.includes(tokenTo.network)) {
|
|
125
|
+
for (const srcChain of enabledSrcChains) {
|
|
126
|
+
const crosschainPossible2 = isCrosschainPossible({
|
|
127
|
+
get,
|
|
128
|
+
chainIdFrom: srcChain,
|
|
129
|
+
chainIdTo: tokenTo.network,
|
|
130
|
+
mode: "limit"
|
|
131
|
+
});
|
|
132
|
+
if (crosschainPossible2) {
|
|
133
|
+
firstPossibleSrcChain = srcChain;
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(firstPossibleSrcChain, "twap");
|
|
139
|
+
const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom) ? defaultTokenTo : defaultTokenFrom;
|
|
140
|
+
set(twapTokenFromAtom, newTokenFrom);
|
|
141
|
+
tokenFrom = newTokenFrom;
|
|
142
|
+
}
|
|
143
|
+
if (tokenFrom.network !== wagmiConfig.state.chainId) {
|
|
144
|
+
switchChain({
|
|
145
|
+
chainId: tokenFrom.network
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
const syncTwapTokensAfterChainSwitch = (chainId) => {
|
|
150
|
+
const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);
|
|
151
|
+
if (!enabledSrcChains.includes(chainId)) return;
|
|
152
|
+
let tokenFrom = jotaiStore.get(twapTokenFromAtom);
|
|
153
|
+
if (tokenFrom.network === chainId) return;
|
|
154
|
+
const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(chainId, "twap");
|
|
155
|
+
jotaiStore.set(twapTokenFromAtom, defaultTokenFrom);
|
|
156
|
+
tokenFrom = defaultTokenFrom;
|
|
157
|
+
let tokenTo = jotaiStore.get(twapTokenToAtom);
|
|
158
|
+
if (!tokenTo) return;
|
|
159
|
+
const crosschainPossible = isCrosschainPossible({
|
|
160
|
+
get: jotaiStore.get,
|
|
161
|
+
chainIdFrom: chainId,
|
|
162
|
+
chainIdTo: tokenTo.network,
|
|
163
|
+
mode: "limit"
|
|
164
|
+
});
|
|
165
|
+
if (crosschainPossible) {
|
|
166
|
+
const isTokenToFromAcross = isTokenFromAcross({
|
|
167
|
+
token: tokenTo,
|
|
168
|
+
fromChainId: chainId,
|
|
169
|
+
toChainId: tokenTo.network,
|
|
170
|
+
mode: "limit"
|
|
171
|
+
});
|
|
172
|
+
if (!isTokenToFromAcross) {
|
|
173
|
+
const maybeAcrossToken = findFirstTokenFromAcross({
|
|
174
|
+
fromChainId: chainId,
|
|
175
|
+
toChainId: tokenTo.network,
|
|
176
|
+
listByChainId: jotaiStore.get(allTokensByChainAtom).listByChainId,
|
|
177
|
+
mode: "limit"
|
|
178
|
+
});
|
|
179
|
+
tokenTo = maybeAcrossToken;
|
|
180
|
+
jotaiStore.set(twapTokenToAtom, tokenTo);
|
|
181
|
+
}
|
|
182
|
+
} else {
|
|
183
|
+
const selectableDestChains = getSelectableDestChains(jotaiStore.get, {
|
|
184
|
+
fromChainId: tokenFrom.network,
|
|
185
|
+
mode: "limit"
|
|
186
|
+
});
|
|
187
|
+
if (selectableDestChains.includes(chainId)) {
|
|
188
|
+
tokenTo = defaultTokenTo;
|
|
189
|
+
jotaiStore.set(twapTokenToAtom, tokenTo);
|
|
190
|
+
} else {
|
|
191
|
+
tokenTo = void 0;
|
|
192
|
+
jotaiStore.set(twapTokenToAtom, tokenTo);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
export { selectTwapTokenFromAtom, selectTwapTokenToAtom, switchTwapTokensAtom, syncTwapTokensAfterChainSwitch };
|
|
198
|
+
//# sourceMappingURL=selectedTokenActionsAtom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectedTokenActionsAtom.js","sources":["../../../../src/core/twap/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isCrosschainPossible } from \"@/core/across/isCrosschainPossible\";\nimport {\n findFirstTokenFromAcross,\n isTokenFromAcross,\n} from \"@/core/across/utils\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport { getSelectableDestChains } from \"@/core/state/getSelectableDestChains\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { jotaiStore } from \"@/core/store\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport { constructWrappedNativeToken } from \"@/tokens/constructor\";\nimport { chainConfigMap } from \"@/lib/web3/wagmi/constants\";\n\nexport const switchTwapTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(tokenTo.network)) return;\n\n const tokenFrom = get(twapTokenFromAtom);\n const initChainFrom = tokenFrom.network;\n\n // set tokenFrom as is\n set(twapTokenFromAtom, tokenTo);\n // set tokenTo, including running all crosschain logic inside\n set(selectTwapTokenToAtom, tokenFrom);\n\n const currentTokenFrom = get(twapTokenFromAtom);\n\n // switch a token from a different chain?\n if (currentTokenFrom.network !== initChainFrom) {\n switchChain({\n chainId: currentTokenFrom.network,\n });\n }\n});\n\nexport const selectTwapTokenFromAtom = atom(\n null,\n async (get, set, _newTokenFrom: Token) => {\n // @TODO revert this change when ETH cancelAndWithdraw is supported for TWAP\n const newTokenFrom = isETH(_newTokenFrom)\n ? constructWrappedNativeToken(chainConfigMap[_newTokenFrom.network])\n : _newTokenFrom;\n\n let tokenFrom = get(twapTokenFromAtom);\n let tokenTo = get(twapTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // set the tokenFrom\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"limit\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"limit\",\n });\n\n set(twapTokenToAtom, maybeAcrossToken);\n }\n } else {\n if (tokenFrom.network !== tokenTo.network) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"twap\"\n );\n\n tokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(twapTokenToAtom, tokenTo);\n } else {\n if (areTokensSame(tokenFrom, tokenTo)) {\n tokenTo = initTokenFrom;\n set(twapTokenToAtom, tokenTo);\n }\n }\n }\n }\n);\n\nexport const selectTwapTokenToAtom = atom(\n null,\n async (get, set, newTokenTo: Token) => {\n let tokenFrom = get(twapTokenFromAtom);\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: tokenFrom.network,\n mode: \"limit\",\n });\n if (!selectableDestChains.includes(newTokenTo.network)) return;\n\n let tokenTo = get(twapTokenToAtom);\n const initTokenTo = tokenTo;\n\n set(twapTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n if (areTokensSame(tokenTo, tokenFrom)) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"twap\"\n );\n\n const defaultToken = areTokensSame(tokenFrom, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n const wasCrosschain =\n initTokenTo && tokenFrom.network !== initTokenTo.network;\n\n const newTokenFrom = wasCrosschain\n ? defaultToken\n : (initTokenTo ?? defaultToken);\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n let needResetTokenFrom = false;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"limit\",\n });\n\n if (!isTokenToFromAcross) {\n needResetTokenFrom = true;\n }\n }\n\n if (tokenFrom.network !== tokenTo.network && !crosschainPossible) {\n needResetTokenFrom = true;\n }\n const enabledSrcChains = get(enabledSrcChainsAtom);\n\n if (needResetTokenFrom) {\n let firstPossibleSrcChain = tokenTo.network;\n if (!enabledSrcChains.includes(tokenTo.network)) {\n for (const srcChain of enabledSrcChains) {\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: srcChain,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n if (crosschainPossible) {\n firstPossibleSrcChain = srcChain;\n break;\n }\n }\n }\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n firstPossibleSrcChain,\n \"twap\"\n );\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // ended up changing tokenFrom network?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const syncTwapTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainId)) return;\n\n let tokenFrom = jotaiStore.get(twapTokenFromAtom);\n\n // chains are the same? do nothing\n if (tokenFrom.network === chainId) return;\n\n // get default tokens for the new chain\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"twap\"\n );\n\n // update tokenFrom\n jotaiStore.set(twapTokenFromAtom, defaultTokenFrom);\n tokenFrom = defaultTokenFrom;\n\n let tokenTo = jotaiStore.get(twapTokenToAtom);\n\n // toChainId derives from tokenTo.network, if no tokenTo - do nothing\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get: jotaiStore.get,\n chainIdFrom: chainId,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: chainId,\n toChainId: tokenTo.network,\n mode: \"limit\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: chainId,\n toChainId: tokenTo.network,\n listByChainId: jotaiStore.get(allTokensByChainAtom).listByChainId,\n mode: \"limit\",\n });\n\n tokenTo = maybeAcrossToken;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n } else {\n const selectableDestChains = getSelectableDestChains(jotaiStore.get, {\n fromChainId: tokenFrom.network,\n mode: \"limit\",\n });\n if (selectableDestChains.includes(chainId)) {\n tokenTo = defaultTokenTo;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n } else {\n tokenTo = undefined;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n }\n};\n"],"names":["switchTwapTokensAtom","atom","get","set","tokenTo","twapTokenToAtom","enabledSrcChains","enabledSrcChainsAtom","includes","network","tokenFrom","twapTokenFromAtom","initChainFrom","selectTwapTokenToAtom","currentTokenFrom","switchChain","chainId","selectTwapTokenFromAtom","_newTokenFrom","newTokenFrom","isETH","constructWrappedNativeToken","chainConfigMap","initTokenFrom","wagmiConfig","state","crosschainPossible","isCrosschainPossible","chainIdFrom","chainIdTo","mode","isTokenToFromAcross","isTokenFromAcross","token","fromChainId","toChainId","maybeAcrossToken","findFirstTokenFromAcross","listByChainId","allTokensByChainAtom","defaultTokenFrom","defaultTokenTo","pickDefaultTokenPair","areTokensSame","newTokenTo","selectableDestChains","getSelectableDestChains","initTokenTo","defaultToken","wasCrosschain","needResetTokenFrom","firstPossibleSrcChain","srcChain","syncTwapTokensAfterChainSwitch","jotaiStore","undefined"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const twapPayInputAmountAtom: import('jotai').PrimitiveAtom<string> & {
|
|
2
|
+
init: string;
|
|
3
|
+
};
|
|
4
|
+
export declare const twapReceiveInputAmountAtom: import('jotai').PrimitiveAtom<string> & {
|
|
5
|
+
init: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const twapPayInputAmountWeiAtom: import('jotai').Atom<string>;
|
|
8
|
+
export declare const twapReceiveInputAmountWeiAtom: import('jotai').Atom<string | undefined>;
|
|
9
|
+
//# sourceMappingURL=twapInputAmountAtom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twapInputAmountAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/twapInputAmountAtom.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB;;CAAY,CAAC;AAEhD,eAAO,MAAM,0BAA0B;;CAAY,CAAC;AAEpD,eAAO,MAAM,yBAAyB,8BAIpC,CAAC;AAEH,eAAO,MAAM,6BAA6B,0CAMxC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { atom } from 'jotai';
|
|
2
|
+
import { parseUnits } from 'viem';
|
|
3
|
+
import { twapTokenFromAtom, twapTokenToAtom } from './twapTokenAtoms.js';
|
|
4
|
+
|
|
5
|
+
const twapPayInputAmountAtom = atom("0");
|
|
6
|
+
const twapReceiveInputAmountAtom = atom("0");
|
|
7
|
+
const twapPayInputAmountWeiAtom = atom((get) => {
|
|
8
|
+
const tokenFrom = get(twapTokenFromAtom);
|
|
9
|
+
const payInputAmount = get(twapPayInputAmountAtom);
|
|
10
|
+
return parseUnits(payInputAmount, tokenFrom.decimals).toString();
|
|
11
|
+
});
|
|
12
|
+
const twapReceiveInputAmountWeiAtom = atom((get) => {
|
|
13
|
+
const tokenTo = get(twapTokenToAtom);
|
|
14
|
+
if (tokenTo) {
|
|
15
|
+
const receiveInputAmount = get(twapReceiveInputAmountAtom);
|
|
16
|
+
return parseUnits(receiveInputAmount, tokenTo.decimals).toString();
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
export { twapPayInputAmountAtom, twapPayInputAmountWeiAtom, twapReceiveInputAmountAtom, twapReceiveInputAmountWeiAtom };
|
|
21
|
+
//# sourceMappingURL=twapInputAmountAtom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twapInputAmountAtom.js","sources":["../../../../src/core/twap/state/twapInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\n\nexport const twapPayInputAmountAtom = atom(\"0\");\n\nexport const twapReceiveInputAmountAtom = atom(\"0\");\n\nexport const twapPayInputAmountWeiAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const payInputAmount = get(twapPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const twapReceiveInputAmountWeiAtom = atom((get) => {\n const tokenTo = get(twapTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(twapReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"names":["twapPayInputAmountAtom","atom","twapReceiveInputAmountAtom","twapPayInputAmountWeiAtom","get","tokenFrom","twapTokenFromAtom","payInputAmount","parseUnits","decimals","toString","twapReceiveInputAmountWeiAtom","tokenTo","twapTokenToAtom","receiveInputAmount"],"mappings":";;;;AAIO,MAAMA,sBAAAA,GAAyBC,KAAK,GAAG;AAEvC,MAAMC,0BAAAA,GAA6BD,KAAK,GAAG;AAE3C,MAAME,yBAAAA,GAA4BF,KAAMG,CAAAA,GAAAA,KAAQ;AACrD,EAAA,MAAMC,SAAAA,GAAYD,IAAIE,iBAAiB,CAAA;AACvC,EAAA,MAAMC,cAAAA,GAAiBH,IAAIJ,sBAAsB,CAAA;AACjD,EAAA,OAAOQ,UAAAA,CAAWD,cAAAA,EAAgBF,SAAAA,CAAUI,QAAQ,EAAEC,QAAAA,EAAS;AACjE,CAAC;AAEM,MAAMC,6BAAAA,GAAgCV,KAAMG,CAAAA,GAAAA,KAAQ;AACzD,EAAA,MAAMQ,OAAAA,GAAUR,IAAIS,eAAe,CAAA;AACnC,EAAA,IAAID,OAAAA,EAAS;AACX,IAAA,MAAME,kBAAAA,GAAqBV,IAAIF,0BAA0B,CAAA;AACzD,IAAA,OAAOM,UAAAA,CAAWM,kBAAAA,EAAoBF,OAAAA,CAAQH,QAAQ,EAAEC,QAAAA,EAAS;AAAA,EACnE;AACF,CAAC;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TwapDuration } from './constants';
|
|
2
|
+
export declare const twapDurationAtom: import('jotai').PrimitiveAtom<TwapDuration> & {
|
|
3
|
+
init: TwapDuration;
|
|
4
|
+
};
|
|
5
|
+
export declare const useTwapDuration: () => TwapDuration;
|
|
6
|
+
export declare const userTwapSplitAtom: import('jotai').PrimitiveAtom<number> & {
|
|
7
|
+
init: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const twapSplitAtom: import('jotai').Atom<number>;
|
|
10
|
+
export declare const useTwapSplit: () => number;
|
|
11
|
+
export declare const userTwapSlippageAtom: import('jotai').PrimitiveAtom<number> & {
|
|
12
|
+
init: number;
|
|
13
|
+
};
|
|
14
|
+
export declare const twapSlippageAtom: import('jotai').Atom<number>;
|
|
15
|
+
export declare const useTwapSlippage: () => number;
|
|
16
|
+
//# sourceMappingURL=twapParamsAtom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twapParamsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/twapParamsAtom.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,gBAAgB;;CAAwB,CAAC;AAEtD,eAAO,MAAM,eAAe,oBAAuC,CAAC;AAGpE,eAAO,MAAM,iBAAiB;;CAAuB,CAAC;AAGtD,eAAO,MAAM,aAAa,8BAEzB,CAAC;AAEF,eAAO,MAAM,YAAY,cAAoC,CAAC;AAG9D,eAAO,MAAM,oBAAoB;;CAAU,CAAC;AAG5C,eAAO,MAAM,gBAAgB,8BAM5B,CAAC;AAEF,eAAO,MAAM,eAAe,cAAuC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { atom } from 'jotai';
|
|
2
|
+
import { useAtomValue } from '../../store.js';
|
|
3
|
+
import { getNumberWithinRange } from '../../../lib/utils/index.js';
|
|
4
|
+
import { TWAP_SPLIT_MIN, TWAP_SPLIT_MAX, TWAP_SLIPPAGE_MAX, TWAP_SLIPPAGE_MIN } from './constants.js';
|
|
5
|
+
|
|
6
|
+
const twapDurationAtom = atom(5);
|
|
7
|
+
const useTwapDuration = () => {
|
|
8
|
+
return useAtomValue(twapDurationAtom);
|
|
9
|
+
};
|
|
10
|
+
const userTwapSplitAtom = atom(TWAP_SPLIT_MIN);
|
|
11
|
+
const twapSplitAtom = atom((get) => getNumberWithinRange(get(userTwapSplitAtom), TWAP_SPLIT_MIN, TWAP_SPLIT_MAX));
|
|
12
|
+
const useTwapSplit = () => {
|
|
13
|
+
return useAtomValue(twapSplitAtom);
|
|
14
|
+
};
|
|
15
|
+
const userTwapSlippageAtom = atom(2);
|
|
16
|
+
const twapSlippageAtom = atom((get) => getNumberWithinRange(get(userTwapSlippageAtom), TWAP_SLIPPAGE_MIN, TWAP_SLIPPAGE_MAX));
|
|
17
|
+
const useTwapSlippage = () => {
|
|
18
|
+
return useAtomValue(twapSlippageAtom);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { twapDurationAtom, twapSlippageAtom, twapSplitAtom, useTwapDuration, useTwapSlippage, useTwapSplit, userTwapSlippageAtom, userTwapSplitAtom };
|
|
22
|
+
//# sourceMappingURL=twapParamsAtom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twapParamsAtom.js","sources":["../../../../src/core/twap/state/twapParamsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { getNumberWithinRange } from \"@/lib/utils\";\nimport {\n TWAP_SLIPPAGE_MAX,\n TWAP_SLIPPAGE_MIN,\n TWAP_SPLIT_MAX,\n TWAP_SPLIT_MIN,\n type TwapDuration,\n} from \"./constants\";\n\nexport const twapDurationAtom = atom<TwapDuration>(5);\n\nexport const useTwapDuration = () => useAtomValue(twapDurationAtom);\n\n// atom to track the user input, which can be out of range\nexport const userTwapSplitAtom = atom(TWAP_SPLIT_MIN);\n\n// derived atom to ensure the actual split used in the order is always within range\nexport const twapSplitAtom = atom((get) =>\n getNumberWithinRange(get(userTwapSplitAtom), TWAP_SPLIT_MIN, TWAP_SPLIT_MAX)\n);\n\nexport const useTwapSplit = () => useAtomValue(twapSplitAtom);\n\n// atom to track the user input, which can be out of range\nexport const userTwapSlippageAtom = atom(2);\n\n// derived atom to ensure the actual slippage used in the order is always within range\nexport const twapSlippageAtom = atom((get) =>\n getNumberWithinRange(\n get(userTwapSlippageAtom),\n TWAP_SLIPPAGE_MIN,\n TWAP_SLIPPAGE_MAX\n )\n);\n\nexport const useTwapSlippage = () => useAtomValue(twapSlippageAtom);\n"],"names":["twapDurationAtom","atom","useTwapDuration","useAtomValue","userTwapSplitAtom","TWAP_SPLIT_MIN","twapSplitAtom","get","getNumberWithinRange","TWAP_SPLIT_MAX","useTwapSplit","userTwapSlippageAtom","twapSlippageAtom","TWAP_SLIPPAGE_MIN","TWAP_SLIPPAGE_MAX","useTwapSlippage"],"mappings":";;;;;AAWO,MAAMA,gBAAAA,GAAmBC,KAAmB,CAAC;AAE7C,MAAMC,kBAAkBA,MAAA;AAAA,EAAA,OAAMC,aAAaH,gBAAgB,CAAA;AAAC;AAG5D,MAAMI,iBAAAA,GAAoBH,KAAKI,cAAc;AAG7C,MAAMC,aAAAA,GAAgBL,KAAMM,CAAAA,GAAAA,KACjCC,oBAAAA,CAAqBD,IAAIH,iBAAiB,CAAA,EAAGC,cAAAA,EAAgBI,cAAc,CAC7E;AAEO,MAAMC,eAAeA,MAAA;AAAA,EAAA,OAAMP,aAAaG,aAAa,CAAA;AAAC;AAGtD,MAAMK,oBAAAA,GAAuBV,KAAK,CAAC;AAGnC,MAAMW,gBAAAA,GAAmBX,KAAMM,CAAAA,GAAAA,KACpCC,oBAAAA,CACED,IAAII,oBAAoB,CAAA,EACxBE,iBAAAA,EACAC,iBACF,CACF;AAEO,MAAMC,kBAAkBA,MAAA;AAAA,EAAA,OAAMZ,aAAaS,gBAAgB,CAAA;AAAC;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const twapReceiverAddressAtom: import('jotai').PrimitiveAtom<`0x${string}` | undefined> & {
|
|
2
|
+
init: `0x${string}` | undefined;
|
|
3
|
+
};
|
|
4
|
+
export declare const useTwapReceiverAddressValue: () => `0x${string}` | undefined;
|
|
5
|
+
//# sourceMappingURL=twapReceiverAddressAtom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twapReceiverAddressAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/twapReceiverAddressAtom.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,uBAAuB;;CAA8B,CAAC;AAEnE,eAAO,MAAM,2BAA2B,iCAEvC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useAtomValue } from '../../store.js';
|
|
2
|
+
import { atom } from 'jotai';
|
|
3
|
+
|
|
4
|
+
const twapReceiverAddressAtom = atom();
|
|
5
|
+
const useTwapReceiverAddressValue = () => {
|
|
6
|
+
return useAtomValue(twapReceiverAddressAtom);
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export { twapReceiverAddressAtom, useTwapReceiverAddressValue };
|
|
10
|
+
//# sourceMappingURL=twapReceiverAddressAtom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twapReceiverAddressAtom.js","sources":["../../../../src/core/twap/state/twapReceiverAddressAtom.ts"],"sourcesContent":["import { useAtomValue } from \"@/core/store\";\nimport { atom } from \"jotai\";\nimport type { Address } from \"viem\";\n\n// no way to change this for the user for now, defaults to connected account\nexport const twapReceiverAddressAtom = atom<Address | undefined>();\n\nexport const useTwapReceiverAddressValue = () => {\n return useAtomValue(twapReceiverAddressAtom);\n};\n"],"names":["twapReceiverAddressAtom","atom","useTwapReceiverAddressValue","useAtomValue"],"mappings":";;;AAKO,MAAMA,0BAA0BC,IAAAA;AAEhC,MAAMC,8BAA8BA,MAAA;AAAA,EAAA,OAClCC,aAAaH,uBAAuB,CAAA;AAAC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twapSideAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/twapSideAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,eAAO,MAAM,YAAY,qCAUvB,CAAC;AAEH,eAAO,MAAM,WAAW,qBAEvB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { twapTokenToAtom } from './twapTokenAtoms.js';
|
|
2
|
+
import { currentTwapInputAtom } from './currentTwapInputAtom.js';
|
|
3
|
+
import { atom } from 'jotai';
|
|
4
|
+
import { useAtomValue } from '../../store.js';
|
|
5
|
+
|
|
6
|
+
const twapSideAtom = atom((get) => {
|
|
7
|
+
const tokenTo = get(twapTokenToAtom);
|
|
8
|
+
if (!tokenTo) {
|
|
9
|
+
return "SELL";
|
|
10
|
+
}
|
|
11
|
+
const currentTwapInput = get(currentTwapInputAtom);
|
|
12
|
+
return currentTwapInput === "from" ? "SELL" : "BUY";
|
|
13
|
+
});
|
|
14
|
+
const useTwapSide = () => {
|
|
15
|
+
return useAtomValue(twapSideAtom);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { twapSideAtom, useTwapSide };
|
|
19
|
+
//# sourceMappingURL=twapSideAtom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twapSideAtom.js","sources":["../../../../src/core/twap/state/twapSideAtom.ts"],"sourcesContent":["import { twapTokenToAtom } from \"./twapTokenAtoms\";\nimport { currentTwapInputAtom } from \"./currentTwapInputAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\n\nexport const twapSideAtom = atom<SwapSideUnion>((get) => {\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) {\n return \"SELL\";\n }\n\n const currentTwapInput = get(currentTwapInputAtom);\n\n return currentTwapInput === \"from\" ? \"SELL\" : \"BUY\";\n});\n\nexport const useTwapSide = () => {\n return useAtomValue(twapSideAtom);\n};\n"],"names":["twapSideAtom","atom","get","tokenTo","twapTokenToAtom","currentTwapInput","currentTwapInputAtom","useTwapSide","useAtomValue"],"mappings":";;;;;AAMO,MAAMA,YAAAA,GAAeC,KAAqBC,CAAAA,GAAAA,KAAQ;AACvD,EAAA,MAAMC,OAAAA,GAAUD,IAAIE,eAAe,CAAA;AAEnC,EAAA,IAAI,CAACD,OAAAA,EAAS;AACZ,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,MAAME,gBAAAA,GAAmBH,IAAII,oBAAoB,CAAA;AAEjD,EAAA,OAAOD,gBAAAA,KAAqB,SAAS,MAAA,GAAS,KAAA;AAChD,CAAC;AAEM,MAAME,cAAcA,MAAA;AAAA,EAAA,OAClBC,aAAaR,YAAY,CAAA;AAAC;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Token } from '../../../tokens/state/types';
|
|
2
|
+
export declare const twapTokenFromAtom: import('jotai').PrimitiveAtom<Token> & {
|
|
3
|
+
init: Token;
|
|
4
|
+
};
|
|
5
|
+
export declare const twapTokenToAtom: import('jotai').PrimitiveAtom<Token | undefined> & {
|
|
6
|
+
init: Token | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare const useTwapTokenFrom: () => Token;
|
|
9
|
+
export declare const useTwapTokenTo: () => Token | undefined;
|
|
10
|
+
//# sourceMappingURL=twapTokenAtoms.d.ts.map
|