@velora-dex/widget 0.2.5-dev.0 → 0.2.5-dev.1
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/dropdown-menu.d.ts +3 -2
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.js +44 -22
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/tooltip.d.ts +4 -2
- package/dist/components/ui/tooltip.d.ts.map +1 -1
- package/dist/components/ui/tooltip.js +44 -27
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +7 -7
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
- package/dist/components/web3/providers.d.ts.map +1 -1
- package/dist/components/web3/providers.js +1 -2
- package/dist/components/web3/providers.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivityItems.js +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
- package/dist/components/widget/Dialog/state/dialogAtom.d.ts.map +1 -1
- package/dist/components/widget/Dialog/state/dialogAtom.js +2 -1
- package/dist/components/widget/Dialog/state/dialogAtom.js.map +1 -1
- package/dist/components/widget/Drawer/Overlay.js +1 -1
- package/dist/components/widget/Drawer/Overlay.js.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js +2 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
- package/dist/components/widget/ImportToken/ImportToken.js +1 -1
- package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
- package/dist/components/widget/OrderExpiryInput/index.js +1 -1
- package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.d.ts.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js +2 -1
- package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js +1 -1
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts +2 -2
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +2 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +1 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js +2 -1
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js +1 -1
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/configurator/components/common/DetailWithTooltip.d.ts +1 -0
- package/dist/configurator/components/common/DetailWithTooltip.d.ts.map +1 -1
- package/dist/core/DevTools.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.js +1 -1
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/OtcOrderButton.js +1 -1
- package/dist/core/OtcOrderButton.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +94 -102
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenSwitcherProps.js +1 -1
- package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts.map +1 -1
- package/dist/core/inputs/state/common.js +2 -1
- package/dist/core/inputs/state/common.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/selectedTokenAtom.js +2 -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 +2 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/limit/state/currentLimitInputAtom.d.ts +2 -2
- package/dist/core/limit/state/deadlineAtom.d.ts.map +1 -1
- package/dist/core/limit/state/deadlineAtom.js +2 -1
- package/dist/core/limit/state/deadlineAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.js +2 -2
- package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/limit/useLimitDetailsListProps.js +1 -1
- package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
- package/dist/core/limit/useLimitPriceDifference.js +1 -1
- package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
- package/dist/core/limit/useLimitPriceInputProps.js +1 -1
- package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
- package/dist/core/limit/useLimitRate.js +1 -1
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.js +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/logger.js +1 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/otc/state/currentOtcInputAtom.d.ts +2 -2
- package/dist/core/otc/state/deadlineAtom.d.ts.map +1 -1
- package/dist/core/otc/state/deadlineAtom.js +2 -1
- package/dist/core/otc/state/deadlineAtom.js.map +1 -1
- package/dist/core/otc/state/receiverAddressAtom.d.ts.map +1 -1
- package/dist/core/otc/state/receiverAddressAtom.js +2 -1
- package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
- package/dist/core/otc/state/selectedTokenAtom.d.ts.map +1 -1
- package/dist/core/otc/state/selectedTokenAtom.js +2 -2
- package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/otc/useOtcDetailsListProps.js +1 -1
- package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
- package/dist/core/otc/useOtcPriceDifference.js +1 -1
- package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
- package/dist/core/otc/useOtcPriceInputProps.js +1 -1
- package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.js +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenSwitcherProps.js +1 -1
- package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenToInputProps.js +1 -1
- package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
- package/dist/core/state/chainToAtom.d.ts.map +1 -1
- package/dist/core/state/chainToAtom.js +2 -1
- package/dist/core/state/chainToAtom.js.map +1 -1
- package/dist/core/state/configActionsAtom.d.ts.map +1 -1
- package/dist/core/state/configActionsAtom.js +1 -3
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configAtom.d.ts +2 -4
- package/dist/core/state/configAtom.d.ts.map +1 -1
- package/dist/core/state/configAtom.js +5 -8
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/configEffectAtom.d.ts.map +1 -1
- package/dist/core/state/configEffectAtom.js +2 -1
- package/dist/core/state/configEffectAtom.js.map +1 -1
- package/dist/core/state/containerAtom.d.ts.map +1 -1
- package/dist/core/state/containerAtom.js +2 -1
- package/dist/core/state/containerAtom.js.map +1 -1
- package/dist/core/state/enabledChainsAtom.d.ts.map +1 -1
- package/dist/core/state/enabledChainsAtom.js +2 -1
- package/dist/core/state/enabledChainsAtom.js.map +1 -1
- package/dist/core/state/externalProviderAtom.d.ts.map +1 -1
- package/dist/core/state/externalProviderAtom.js +2 -1
- package/dist/core/state/externalProviderAtom.js.map +1 -1
- package/dist/core/state/isCrosschainAtom.d.ts.map +1 -1
- package/dist/core/state/isCrosschainAtom.js +2 -1
- package/dist/core/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
- package/dist/core/state/tradeModeAtom.js +2 -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 +2 -1
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/store.d.ts +29 -0
- package/dist/core/store.d.ts.map +1 -0
- package/dist/core/store.js +15 -0
- package/dist/core/store.js.map +1 -0
- package/dist/core/swapDetails/useSwapDetailsListProps.js +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/core/types.d.ts +0 -6
- package/dist/core/types.d.ts.map +1 -1
- package/dist/events/effects/price.js +1 -1
- package/dist/events/effects/price.js.map +1 -1
- package/dist/events/effects/swapMode.js +1 -1
- package/dist/events/effects/swapMode.js.map +1 -1
- package/dist/events/hooks/useActivateEffects.js +1 -1
- package/dist/events/hooks/useActivateEffects.js.map +1 -1
- package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
- package/dist/hooks/gas/useGasPrices.js +2 -2
- package/dist/hooks/gas/useGasPrices.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js +0 -4
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.d.ts.map +1 -1
- package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js +2 -1
- package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +6 -6
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +6 -1
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js +1 -1
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +1 -1
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
- package/dist/hooks/tokens/prices/queries.d.ts.map +1 -1
- package/dist/hooks/tokens/prices/queries.js +2 -2
- package/dist/hooks/tokens/prices/queries.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
- package/dist/hooks/tokens/useTokenTaxFee.js +2 -2
- package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
- package/dist/hooks/txs/queries/useTxHistory.d.ts.map +1 -1
- package/dist/hooks/txs/queries/useTxHistory.js +2 -2
- package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
- package/dist/hooks/useEIP1559Enabled.js +1 -1
- package/dist/hooks/useEIP1559Enabled.js.map +1 -1
- package/dist/hooks/useGlobalDeltaEnabled.js +1 -1
- package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +11 -11
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/hooks/useSlippage.js +1 -1
- package/dist/hooks/useSlippage.js.map +1 -1
- package/dist/lib/constants/index.d.ts +2 -0
- package/dist/lib/constants/index.d.ts.map +1 -1
- package/dist/lib/constants/index.js +4 -1
- package/dist/lib/constants/index.js.map +1 -1
- package/dist/lib/utils/explorer.d.ts.map +1 -1
- package/dist/lib/utils/explorer.js +3 -3
- package/dist/lib/utils/explorer.js.map +1 -1
- package/dist/styles.css +4 -0
- package/dist/tokens/hooks.js +1 -1
- package/dist/tokens/hooks.js.map +1 -1
- package/dist/tokens/lists/state/effects.js +1 -2
- package/dist/tokens/lists/state/effects.js.map +1 -1
- package/dist/tokens/queries.js +1 -1
- package/dist/tokens/queries.js.map +1 -1
- package/dist/transactions/state/hooks/useActivateEffects.js +1 -1
- package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
- package/dist/transactions/state/hooks/useTransactions.js +1 -1
- package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
- package/dist/transactions/state/transactionsActionAtom.js +1 -1
- package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
- package/package.json +4 -3
- package/dist/core/inputs/state/store.d.ts +0 -2
- package/dist/core/inputs/state/store.d.ts.map +0 -1
- package/dist/core/inputs/state/store.js +0 -6
- package/dist/core/inputs/state/store.js.map +0 -1
- package/dist/lib/constants/urls.d.ts +0 -4
- package/dist/lib/constants/urls.d.ts.map +0 -1
- package/dist/lib/constants/urls.js +0 -30
- package/dist/lib/constants/urls.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setTokenByAddressAtom.js","sources":["../../../../src/core/inputs/state/setTokenByAddressAtom.ts"],"sourcesContent":["import { atom, useAtom, useSetAtom, type Setter } from \"jotai\";\nimport { atomEffect, type Effect } from \"jotai-effect\";\nimport { isAddress, type Address } from \"viem\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { nativeTokensByChainId } from \"@/tokens/constructor\";\nimport { fromListsAtom } from \"@/tokens/state/fromListsAtom\";\nimport {\n autoImportedTokensAtom,\n importedTokensAtom,\n} from \"@/tokens/state/importedTokensAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useLayoutEffect } from \"react\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { tradeModeAtom, userTradeModeAtom } from \"@/core/state/tradeModeAtom\";\nimport {\n tradeModeToPayAmountUnitAtom,\n tradeModeToSetTokenAtoms,\n tradeModeToTokenAtoms,\n} from \"./common\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { autoAddImportedTokenAtom } from \"@/tokens/state/addImportedTokenAtom\";\nimport { getLogger } from \"@/core/logger\";\nimport { assert } from \"ts-essentials\";\nimport { bridgeInfoAtom } from \"@/hooks/swap/prices/delta/queries/useBridgeInfo\";\nimport { isTradeMode } from \"@/lib/tradeMode\";\nimport { enabledTradeModesAtom } from \"@/core/state/enabledTradeModesAtom\";\nimport type { FormInputProps } from \"./types\";\n\nexport const formInputPropsAtom = atom<FormInputProps>({});\n\n// in case formInputPros passed to Widget are not exactly expected types\ntype RelaxedFormInputProps = {\n [K in keyof FormInputProps]?: NonNullable<FormInputProps[K]> extends string\n ? string\n : NonNullable<FormInputProps[K]> extends number\n ? number\n : FormInputProps[K];\n};\n\nconst logger = getLogger(\"FormInputProps\");\n\ntype GetterWithPeek = Parameters<Effect>[0];\n\ntype FindTokenAtomsInput = {\n tokenToFind: { address: Address; network: SupportedChainId };\n get: GetterWithPeek;\n set: Setter;\n};\n\nfunction findTokenInAtoms({\n get,\n set,\n tokenToFind,\n}: FindTokenAtomsInput): Token | undefined {\n const tokenFromAddress = tokenToFind.address;\n const chainId = tokenToFind.network;\n\n if (isETHaddress(tokenFromAddress)) {\n // if tokenFrom is ETH, set the native token for tokenFrom Input\n const nativeToken = nativeTokensByChainId[chainId];\n return nativeToken;\n }\n\n const tokenFromLowercase = tokenFromAddress.toLowerCase();\n\n // find the token from the token Lists for the srcChainId,\n // and retry to find the token when allTokens are updated (token lists loaded)\n const tokensMap = get(fromListsAtom).listByChainId[chainId]?.addressMap;\n const tokenFromLists = tokensMap?.[tokenFromLowercase];\n if (tokenFromLists) {\n return tokenFromLists;\n }\n\n // find the token from the imported tokens,\n // don't retry if user imports more tokens during the session\n const importedTokens = get.peek(importedTokensAtom);\n const importedToken = importedTokens[chainId]?.find(\n (token) => token.address.toLowerCase() === tokenFromLowercase\n );\n if (importedToken) {\n return importedToken;\n }\n\n // subscribe to auto-imported tokens, which will be added to only when tokenAddress prop is supplied from outside the widget\n const autoImportedTokens = get(autoImportedTokensAtom);\n // looking through auto-imported tokens isn't strictly necessary because importedTokens atom is updated together with autoImportedTokens atom,\n // except for consistency, and so that we don't have to subscribe to importedTokens atom that would retrigger formProps matching on manual token import\n const autoImportedToken = autoImportedTokens.find(\n (token) =>\n token.address.toLowerCase() === tokenFromLowercase &&\n token.network === chainId\n );\n if (autoImportedToken) {\n return autoImportedToken;\n }\n\n logger.info(\n \"token not available in widget. Will attempt to import from chain\",\n {\n address: tokenFromAddress,\n chainId,\n }\n );\n\n // trigger Token fetch and eventual import when tokenFromAddress is not found in available token lists and atoms\n set(autoAddImportedTokenAtom, { address: tokenFromAddress, chainId });\n}\n\nconst formInputPropsEffectAtom = atomEffect((get, set) => {\n // subscribe to bridgeInfoAtom to have up-to-date available crosses\n // and retry token finding each time when bridgeInfo changes\n get(bridgeInfoAtom);\n\n const enabledTradeModes = get(enabledTradeModesAtom);\n const formInputProps: RelaxedFormInputProps = get(formInputPropsAtom);\n const { tokenFromAddress, srcChainId, sendAmount } = formInputProps;\n\n logger.log(\"using external props to set Widget form input\", formInputProps);\n\n let destChainId = formInputProps.destChainId;\n let tokenToAddress = formInputProps.tokenToAddress;\n let selectedForm = formInputProps.selectedForm || \"swap\";\n if (!isTradeMode(selectedForm) || !enabledTradeModes.includes(selectedForm)) {\n // guard against invalid props passed through from outside the Widget\n logger.warn(\"invalid or disabled selectedForm provided\", { selectedForm });\n // fallback to first enabled trade mode from the config\n selectedForm = enabledTradeModes[0];\n }\n\n // necessary for type safety\n assert(isTradeMode(selectedForm), \"selectedForm must be a valid trade mode\");\n\n const formAtoms = tradeModeToTokenAtoms[selectedForm];\n const currentTokenFrom = get.peek(formAtoms.tokenFromAtom);\n const currentTokenTo = get.peek(formAtoms.tokenToAtom);\n\n const currentTradeMode = get.peek(tradeModeAtom);\n\n if (currentTradeMode !== selectedForm) {\n set(userTradeModeAtom, selectedForm);\n }\n\n let newTokenFrom: Token | undefined;\n let newTokenTo: Token | undefined;\n\n // if chain isn't given in props, match current srcChainId\n const defaultChainId = currentTokenFrom.network;\n\n if (selectedForm !== \"swap\") {\n // non-swap forms are single-chain only,\n // force destChainId = srcChainId\n destChainId = srcChainId;\n }\n\n if (\n selectedForm === \"otc\" &&\n tokenToAddress &&\n isETHaddress(tokenToAddress)\n ) {\n const wethMapping: Record<number, Address> = wrappedNativeCurrency;\n // OTC Orders don't support ETH as tokenTo=takerAsset,\n // more logical to use WETH instead of no token at all\n tokenToAddress = wethMapping[destChainId || defaultChainId];\n }\n\n {\n // match tokenFromAddress and srcChainId to a new tokenFrom to select\n const tokenToFind = getTokenToFind({\n tokenFromProps: { address: tokenFromAddress, network: srcChainId },\n currentToken: currentTokenFrom,\n defaultChainId,\n });\n if (tokenToFind) {\n newTokenFrom = findTokenInAtoms({\n get,\n tokenToFind,\n set,\n });\n }\n }\n\n {\n // match tokenToAddress and destChainId to a new tokenTo to select\n const tokenToFind = getTokenToFind({\n tokenFromProps: { address: tokenToAddress, network: destChainId },\n currentToken: currentTokenTo,\n defaultChainId,\n });\n if (tokenToFind) {\n newTokenTo = findTokenInAtoms({\n get,\n tokenToFind,\n set,\n });\n }\n }\n\n if (newTokenFrom && newTokenTo && areTokensSame(newTokenFrom, newTokenTo)) {\n // if tokens are the same, skip tokenTo\n newTokenTo = undefined;\n }\n\n if (\n !newTokenFrom &&\n !tokenFromAddress &&\n srcChainId &&\n isSupportedChainId(srcChainId) &&\n srcChainId !== currentTokenFrom.network\n ) {\n // no tokenAddress given, but chainId is provided and different from current\n const [defaultTokenFrom] = pickDefaultTokenPair(srcChainId, selectedForm);\n // set default token for the chain\n newTokenFrom = defaultTokenFrom;\n }\n\n if (\n !newTokenTo &&\n !tokenToAddress &&\n destChainId &&\n isSupportedChainId(destChainId) &&\n destChainId !== currentTokenTo?.network\n ) {\n // no tokenAddress given, but chainId is provided and different from current\n const [, defaultTokenTo] = pickDefaultTokenPair(destChainId, selectedForm);\n // set default token for the chain\n newTokenTo = defaultTokenTo;\n }\n\n if (newTokenFrom) {\n const selectTokenFromAtom =\n tradeModeToSetTokenAtoms[selectedForm].tokenFromAtom;\n set(selectTokenFromAtom, newTokenFrom);\n }\n if (newTokenTo) {\n const selectTokenToAtom =\n tradeModeToSetTokenAtoms[selectedForm].tokenToAtom;\n set(selectTokenToAtom, newTokenTo);\n }\n\n if (sendAmount && Number(sendAmount) >= 0) {\n const formPayAmountAtom = tradeModeToPayAmountUnitAtom[selectedForm];\n const currentSendAmount = get.peek(formPayAmountAtom.read);\n if (currentSendAmount !== sendAmount) {\n set(formPayAmountAtom.write, sendAmount);\n }\n }\n});\n\nfunction getTokenToFind({\n tokenFromProps,\n currentToken,\n defaultChainId,\n}: {\n tokenFromProps: { address?: string; network?: number };\n currentToken?: Token;\n defaultChainId: SupportedChainId;\n}): { address: Address; network: SupportedChainId } | undefined {\n if (!tokenFromProps.address) return;\n // guard against malformed addresses passed through props\n if (!isAddress(tokenFromProps.address)) {\n logger.warn(\"malformed token address provided\", {\n address: tokenFromProps.address,\n });\n return;\n }\n\n const network = tokenFromProps.network || defaultChainId;\n\n // unsupported chainId provided, can't select this Token\n if (!isSupportedChainId(network)) {\n logger.warn(\"unsupported chainId provided\", { network });\n return;\n }\n\n if (\n currentToken &&\n areTokensSame(currentToken, {\n address: tokenFromProps.address,\n network,\n })\n ) {\n // same token already there\n return;\n }\n\n return { address: tokenFromProps.address, network };\n}\n\nexport function useActivateFormInputEffects() {\n useAtom(formInputPropsEffectAtom);\n}\n\nexport function useSetFormInputFromProps({\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n}: FormInputProps = {}) {\n const setFormInputProps = useSetAtom(formInputPropsAtom);\n\n // match props together as they are supplied together from outside the Widget,\n // on any one prop change, the whole form input props are updated as long as they are passed together to the Widget\n useLayoutEffect(() => {\n setFormInputProps({\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n });\n }, [\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n setFormInputProps,\n ]);\n}\n"],"names":["formInputPropsAtom","atom","logger","getLogger","findTokenInAtoms","get","set","tokenToFind","tokenFromAddress","address","chainId","network","isETHaddress","nativeToken","nativeTokensByChainId","tokenFromLowercase","toLowerCase","tokensMap","fromListsAtom","listByChainId","addressMap","tokenFromLists","importedTokens","peek","importedTokensAtom","importedToken","find","token","autoImportedTokens","autoImportedTokensAtom","autoImportedToken","info","autoAddImportedTokenAtom","formInputPropsEffectAtom","atomEffect","bridgeInfoAtom","enabledTradeModes","enabledTradeModesAtom","formInputProps","srcChainId","sendAmount","log","destChainId","tokenToAddress","selectedForm","isTradeMode","includes","warn","assert","formAtoms","tradeModeToTokenAtoms","currentTokenFrom","tokenFromAtom","currentTokenTo","tokenToAtom","currentTradeMode","tradeModeAtom","userTradeModeAtom","newTokenFrom","newTokenTo","defaultChainId","wethMapping","wrappedNativeCurrency","getTokenToFind","tokenFromProps","currentToken","areTokensSame","undefined","isSupportedChainId","defaultTokenFrom","pickDefaultTokenPair","defaultTokenTo","selectTokenFromAtom","tradeModeToSetTokenAtoms","selectTokenToAtom","Number","formPayAmountAtom","tradeModeToPayAmountUnitAtom","currentSendAmount","read","write","isAddress","useActivateFormInputEffects","useAtom","useSetFormInputFromProps","t0","$","_c","t1","setFormInputProps","useSetAtom","t2","t3","useLayoutEffect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setTokenByAddressAtom.js","sources":["../../../../src/core/inputs/state/setTokenByAddressAtom.ts"],"sourcesContent":["import { atom, type Setter } from \"jotai\";\nimport { useAtom, useSetAtom } from \"@/core/store\";\nimport { atomEffect, type Effect } from \"jotai-effect\";\nimport { isAddress, type Address } from \"viem\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { nativeTokensByChainId } from \"@/tokens/constructor\";\nimport { fromListsAtom } from \"@/tokens/state/fromListsAtom\";\nimport {\n autoImportedTokensAtom,\n importedTokensAtom,\n} from \"@/tokens/state/importedTokensAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useLayoutEffect } from \"react\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { tradeModeAtom, userTradeModeAtom } from \"@/core/state/tradeModeAtom\";\nimport {\n tradeModeToPayAmountUnitAtom,\n tradeModeToSetTokenAtoms,\n tradeModeToTokenAtoms,\n} from \"./common\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { autoAddImportedTokenAtom } from \"@/tokens/state/addImportedTokenAtom\";\nimport { getLogger } from \"@/core/logger\";\nimport { assert } from \"ts-essentials\";\nimport { bridgeInfoAtom } from \"@/hooks/swap/prices/delta/queries/useBridgeInfo\";\nimport { isTradeMode } from \"@/lib/tradeMode\";\nimport { enabledTradeModesAtom } from \"@/core/state/enabledTradeModesAtom\";\nimport type { FormInputProps } from \"./types\";\n\nexport const formInputPropsAtom = atom<FormInputProps>({});\n\n// in case formInputPros passed to Widget are not exactly expected types\ntype RelaxedFormInputProps = {\n [K in keyof FormInputProps]?: NonNullable<FormInputProps[K]> extends string\n ? string\n : NonNullable<FormInputProps[K]> extends number\n ? number\n : FormInputProps[K];\n};\n\nconst logger = getLogger(\"FormInputProps\");\n\ntype GetterWithPeek = Parameters<Effect>[0];\n\ntype FindTokenAtomsInput = {\n tokenToFind: { address: Address; network: SupportedChainId };\n get: GetterWithPeek;\n set: Setter;\n};\n\nfunction findTokenInAtoms({\n get,\n set,\n tokenToFind,\n}: FindTokenAtomsInput): Token | undefined {\n const tokenFromAddress = tokenToFind.address;\n const chainId = tokenToFind.network;\n\n if (isETHaddress(tokenFromAddress)) {\n // if tokenFrom is ETH, set the native token for tokenFrom Input\n const nativeToken = nativeTokensByChainId[chainId];\n return nativeToken;\n }\n\n const tokenFromLowercase = tokenFromAddress.toLowerCase();\n\n // find the token from the token Lists for the srcChainId,\n // and retry to find the token when allTokens are updated (token lists loaded)\n const tokensMap = get(fromListsAtom).listByChainId[chainId]?.addressMap;\n const tokenFromLists = tokensMap?.[tokenFromLowercase];\n if (tokenFromLists) {\n return tokenFromLists;\n }\n\n // find the token from the imported tokens,\n // don't retry if user imports more tokens during the session\n const importedTokens = get.peek(importedTokensAtom);\n const importedToken = importedTokens[chainId]?.find(\n (token) => token.address.toLowerCase() === tokenFromLowercase\n );\n if (importedToken) {\n return importedToken;\n }\n\n // subscribe to auto-imported tokens, which will be added to only when tokenAddress prop is supplied from outside the widget\n const autoImportedTokens = get(autoImportedTokensAtom);\n // looking through auto-imported tokens isn't strictly necessary because importedTokens atom is updated together with autoImportedTokens atom,\n // except for consistency, and so that we don't have to subscribe to importedTokens atom that would retrigger formProps matching on manual token import\n const autoImportedToken = autoImportedTokens.find(\n (token) =>\n token.address.toLowerCase() === tokenFromLowercase &&\n token.network === chainId\n );\n if (autoImportedToken) {\n return autoImportedToken;\n }\n\n logger.info(\n \"token not available in widget. Will attempt to import from chain\",\n {\n address: tokenFromAddress,\n chainId,\n }\n );\n\n // trigger Token fetch and eventual import when tokenFromAddress is not found in available token lists and atoms\n set(autoAddImportedTokenAtom, { address: tokenFromAddress, chainId });\n}\n\nconst formInputPropsEffectAtom = atomEffect((get, set) => {\n // subscribe to bridgeInfoAtom to have up-to-date available crosses\n // and retry token finding each time when bridgeInfo changes\n get(bridgeInfoAtom);\n\n const enabledTradeModes = get(enabledTradeModesAtom);\n const formInputProps: RelaxedFormInputProps = get(formInputPropsAtom);\n const { tokenFromAddress, srcChainId, sendAmount } = formInputProps;\n\n logger.log(\"using external props to set Widget form input\", formInputProps);\n\n let destChainId = formInputProps.destChainId;\n let tokenToAddress = formInputProps.tokenToAddress;\n let selectedForm = formInputProps.selectedForm || \"swap\";\n if (!isTradeMode(selectedForm) || !enabledTradeModes.includes(selectedForm)) {\n // guard against invalid props passed through from outside the Widget\n logger.warn(\"invalid or disabled selectedForm provided\", { selectedForm });\n // fallback to first enabled trade mode from the config\n selectedForm = enabledTradeModes[0];\n }\n\n // necessary for type safety\n assert(isTradeMode(selectedForm), \"selectedForm must be a valid trade mode\");\n\n const formAtoms = tradeModeToTokenAtoms[selectedForm];\n const currentTokenFrom = get.peek(formAtoms.tokenFromAtom);\n const currentTokenTo = get.peek(formAtoms.tokenToAtom);\n\n const currentTradeMode = get.peek(tradeModeAtom);\n\n if (currentTradeMode !== selectedForm) {\n set(userTradeModeAtom, selectedForm);\n }\n\n let newTokenFrom: Token | undefined;\n let newTokenTo: Token | undefined;\n\n // if chain isn't given in props, match current srcChainId\n const defaultChainId = currentTokenFrom.network;\n\n if (selectedForm !== \"swap\") {\n // non-swap forms are single-chain only,\n // force destChainId = srcChainId\n destChainId = srcChainId;\n }\n\n if (\n selectedForm === \"otc\" &&\n tokenToAddress &&\n isETHaddress(tokenToAddress)\n ) {\n const wethMapping: Record<number, Address> = wrappedNativeCurrency;\n // OTC Orders don't support ETH as tokenTo=takerAsset,\n // more logical to use WETH instead of no token at all\n tokenToAddress = wethMapping[destChainId || defaultChainId];\n }\n\n {\n // match tokenFromAddress and srcChainId to a new tokenFrom to select\n const tokenToFind = getTokenToFind({\n tokenFromProps: { address: tokenFromAddress, network: srcChainId },\n currentToken: currentTokenFrom,\n defaultChainId,\n });\n if (tokenToFind) {\n newTokenFrom = findTokenInAtoms({\n get,\n tokenToFind,\n set,\n });\n }\n }\n\n {\n // match tokenToAddress and destChainId to a new tokenTo to select\n const tokenToFind = getTokenToFind({\n tokenFromProps: { address: tokenToAddress, network: destChainId },\n currentToken: currentTokenTo,\n defaultChainId,\n });\n if (tokenToFind) {\n newTokenTo = findTokenInAtoms({\n get,\n tokenToFind,\n set,\n });\n }\n }\n\n if (newTokenFrom && newTokenTo && areTokensSame(newTokenFrom, newTokenTo)) {\n // if tokens are the same, skip tokenTo\n newTokenTo = undefined;\n }\n\n if (\n !newTokenFrom &&\n !tokenFromAddress &&\n srcChainId &&\n isSupportedChainId(srcChainId) &&\n srcChainId !== currentTokenFrom.network\n ) {\n // no tokenAddress given, but chainId is provided and different from current\n const [defaultTokenFrom] = pickDefaultTokenPair(srcChainId, selectedForm);\n // set default token for the chain\n newTokenFrom = defaultTokenFrom;\n }\n\n if (\n !newTokenTo &&\n !tokenToAddress &&\n destChainId &&\n isSupportedChainId(destChainId) &&\n destChainId !== currentTokenTo?.network\n ) {\n // no tokenAddress given, but chainId is provided and different from current\n const [, defaultTokenTo] = pickDefaultTokenPair(destChainId, selectedForm);\n // set default token for the chain\n newTokenTo = defaultTokenTo;\n }\n\n if (newTokenFrom) {\n const selectTokenFromAtom =\n tradeModeToSetTokenAtoms[selectedForm].tokenFromAtom;\n set(selectTokenFromAtom, newTokenFrom);\n }\n if (newTokenTo) {\n const selectTokenToAtom =\n tradeModeToSetTokenAtoms[selectedForm].tokenToAtom;\n set(selectTokenToAtom, newTokenTo);\n }\n\n if (sendAmount && Number(sendAmount) >= 0) {\n const formPayAmountAtom = tradeModeToPayAmountUnitAtom[selectedForm];\n const currentSendAmount = get.peek(formPayAmountAtom.read);\n if (currentSendAmount !== sendAmount) {\n set(formPayAmountAtom.write, sendAmount);\n }\n }\n});\n\nfunction getTokenToFind({\n tokenFromProps,\n currentToken,\n defaultChainId,\n}: {\n tokenFromProps: { address?: string; network?: number };\n currentToken?: Token;\n defaultChainId: SupportedChainId;\n}): { address: Address; network: SupportedChainId } | undefined {\n if (!tokenFromProps.address) return;\n // guard against malformed addresses passed through props\n if (!isAddress(tokenFromProps.address)) {\n logger.warn(\"malformed token address provided\", {\n address: tokenFromProps.address,\n });\n return;\n }\n\n const network = tokenFromProps.network || defaultChainId;\n\n // unsupported chainId provided, can't select this Token\n if (!isSupportedChainId(network)) {\n logger.warn(\"unsupported chainId provided\", { network });\n return;\n }\n\n if (\n currentToken &&\n areTokensSame(currentToken, {\n address: tokenFromProps.address,\n network,\n })\n ) {\n // same token already there\n return;\n }\n\n return { address: tokenFromProps.address, network };\n}\n\nexport function useActivateFormInputEffects() {\n useAtom(formInputPropsEffectAtom);\n}\n\nexport function useSetFormInputFromProps({\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n}: FormInputProps = {}) {\n const setFormInputProps = useSetAtom(formInputPropsAtom);\n\n // match props together as they are supplied together from outside the Widget,\n // on any one prop change, the whole form input props are updated as long as they are passed together to the Widget\n useLayoutEffect(() => {\n setFormInputProps({\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n });\n }, [\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n setFormInputProps,\n ]);\n}\n"],"names":["formInputPropsAtom","atom","logger","getLogger","findTokenInAtoms","get","set","tokenToFind","tokenFromAddress","address","chainId","network","isETHaddress","nativeToken","nativeTokensByChainId","tokenFromLowercase","toLowerCase","tokensMap","fromListsAtom","listByChainId","addressMap","tokenFromLists","importedTokens","peek","importedTokensAtom","importedToken","find","token","autoImportedTokens","autoImportedTokensAtom","autoImportedToken","info","autoAddImportedTokenAtom","formInputPropsEffectAtom","atomEffect","bridgeInfoAtom","enabledTradeModes","enabledTradeModesAtom","formInputProps","srcChainId","sendAmount","log","destChainId","tokenToAddress","selectedForm","isTradeMode","includes","warn","assert","formAtoms","tradeModeToTokenAtoms","currentTokenFrom","tokenFromAtom","currentTokenTo","tokenToAtom","currentTradeMode","tradeModeAtom","userTradeModeAtom","newTokenFrom","newTokenTo","defaultChainId","wethMapping","wrappedNativeCurrency","getTokenToFind","tokenFromProps","currentToken","areTokensSame","undefined","isSupportedChainId","defaultTokenFrom","pickDefaultTokenPair","defaultTokenTo","selectTokenFromAtom","tradeModeToSetTokenAtoms","selectTokenToAtom","Number","formPayAmountAtom","tradeModeToPayAmountUnitAtom","currentSendAmount","read","write","isAddress","useActivateFormInputEffects","useAtom","useSetFormInputFromProps","t0","$","_c","t1","setFormInputProps","useSetAtom","t2","t3","useLayoutEffect"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const currentLimitInputAtom: import('jotai').PrimitiveAtom<"
|
|
2
|
-
init: "
|
|
1
|
+
export declare const currentLimitInputAtom: import('jotai').PrimitiveAtom<"limit" | "from" | "to"> & {
|
|
2
|
+
init: "limit" | "from" | "to";
|
|
3
3
|
};
|
|
4
4
|
//# sourceMappingURL=currentLimitInputAtom.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deadlineAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/limit/state/deadlineAtom.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deadlineAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/limit/state/deadlineAtom.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgC,SAAS,EAAE,MAAM,aAAa,CAAC;AAGtE,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,YAAY;;CAAwC,CAAC;AAElE,eAAO,MAAM,YAAY,8BAWvB,CAAC;AAEH,eAAO,MAAM,gBAAgB,cAE5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deadlineAtom.js","sources":["../../../../src/core/limit/state/deadlineAtom.ts"],"sourcesContent":["import { atom
|
|
1
|
+
{"version":3,"file":"deadlineAtom.js","sources":["../../../../src/core/limit/state/deadlineAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { defaultTimeUnit, minTimeUnit, timeUnits } from \"./constants\";\nimport { timeUnitToSeconds } from \"./utils\";\n\nexport type TimeUnit = (typeof timeUnits)[number][\"label\"];\n\nexport type TimeUnitObject = {\n label: TimeUnit;\n value: number;\n};\n\nexport const timeUnitAtom = atom<TimeUnitObject>(defaultTimeUnit);\n\nexport const deadlineAtom = atom((get) => {\n let timeUnit = get(timeUnitAtom);\n\n if (\n timeUnit.label === minTimeUnit.label &&\n timeUnit.value < minTimeUnit.value\n ) {\n timeUnit = minTimeUnit;\n }\n\n return Math.floor(Date.now() / 1000 + timeUnitToSeconds(timeUnit));\n});\n\nexport const useLimitDeadline = () => {\n return useAtomValue(deadlineAtom);\n};\n"],"names":["timeUnitAtom","atom","defaultTimeUnit","deadlineAtom","get","timeUnit","label","minTimeUnit","value","Math","floor","Date","now","timeUnitToSeconds","useLimitDeadline","useAtomValue"],"mappings":";;;;;AAYO,MAAMA,YAAAA,GAAeC,KAAqBC,eAAe;AAEzD,MAAMC,YAAAA,GAAeF,KAAMG,CAAAA,GAAAA,KAAQ;AACxC,EAAA,IAAIC,QAAAA,GAAWD,IAAIJ,YAAY,CAAA;AAE/B,EAAA,IACEK,SAASC,KAAAA,KAAUC,WAAAA,CAAYD,SAC/BD,QAAAA,CAASG,KAAAA,GAAQD,YAAYC,KAAAA,EAC7B;AACAH,IAAAA,QAAAA,GAAWE,WAAAA;AAAAA,EACb;AAEA,EAAA,OAAOE,IAAAA,CAAKC,MAAMC,IAAAA,CAAKC,GAAAA,KAAQ,GAAA,GAAOC,iBAAAA,CAAkBR,QAAQ,CAAC,CAAA;AACnE,CAAC;AAEM,MAAMS,mBAAmBA,MAAA;AAAA,EAAA,OACvBC,aAAaZ,YAAY,CAAA;AAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectedTokenAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/limit/state/selectedTokenAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"selectedTokenAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/limit/state/selectedTokenAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AASlD,eAAO,MAAM,kBAAkB;;CAAyB,CAAC;AACzD,eAAO,MAAM,gBAAgB;;CAAgB,CAAC;AAE9C,eAAO,MAAM,iBAAiB,aAAyC,CAAC;AACxE,eAAO,MAAM,eAAe,yBAAuC,CAAC;AAEpE,eAAO,MAAM,+BAA+B,GAAI,SAAS,gBAAgB,SAsBxE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { jotaiStore } from '../../
|
|
1
|
+
import { jotaiStore, useAtomValue } from '../../store.js';
|
|
2
2
|
import { wagmiConfig } from '../../../lib/web3/wagmi/config.js';
|
|
3
3
|
import { pickDefaultTokenPair } from '../../../tokens/defaultTokens.js';
|
|
4
|
-
import { atom
|
|
4
|
+
import { atom } from 'jotai';
|
|
5
5
|
|
|
6
6
|
const [defaultTokenFrom] = pickDefaultTokenPair(wagmiConfig.state.chainId, "limit");
|
|
7
7
|
const limitTokenFromAtom = atom(defaultTokenFrom);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectedTokenAtom.js","sources":["../../../../src/core/limit/state/selectedTokenAtom.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/
|
|
1
|
+
{"version":3,"file":"selectedTokenAtom.js","sources":["../../../../src/core/limit/state/selectedTokenAtom.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/store\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\n\nconst [defaultTokenFrom] = pickDefaultTokenPair(\n wagmiConfig.state.chainId,\n \"limit\"\n);\n\nexport const limitTokenFromAtom = atom(defaultTokenFrom);\nexport const limitTokenToAtom = atom<Token>();\n\nexport const useLimitTokenFrom = () => useAtomValue(limitTokenFromAtom);\nexport const useLimitTokenTo = () => useAtomValue(limitTokenToAtom);\n\nexport const syncLimitTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const tokenFrom = jotaiStore.get(limitTokenFromAtom);\n const tokenTo = jotaiStore.get(limitTokenToAtom);\n // token will already be set on new chain, the new token may have been the reason for switchChain\n\n // chains are the same? do nothing\n if (\n tokenFrom.network === chainId &&\n // @TODO change to allowed cross chain check when implementing Crosschain Delta Limit Orders,\n // look at syncSwapTokensAfterChainSwitch for implementation\n (!tokenTo || tokenTo.network === chainId)\n )\n return;\n\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"limit\"\n );\n\n jotaiStore.set(limitTokenFromAtom, defaultTokenFrom);\n\n if (tokenTo) jotaiStore.set(limitTokenToAtom, defaultTokenTo);\n};\n"],"names":["defaultTokenFrom","pickDefaultTokenPair","wagmiConfig","state","chainId","limitTokenFromAtom","atom","limitTokenToAtom","useLimitTokenFrom","useAtomValue","useLimitTokenTo","syncLimitTokensAfterChainSwitch","tokenFrom","jotaiStore","get","tokenTo","network","defaultTokenTo","set"],"mappings":";;;;;AAQA,MAAM,CAACA,gBAAgB,CAAA,GAAIC,qBACzBC,WAAAA,CAAYC,KAAAA,CAAMC,SAClB,OACF,CAAA;AAEO,MAAMC,kBAAAA,GAAqBC,KAAKN,gBAAgB;AAChD,MAAMO,mBAAmBD,IAAAA;AAEzB,MAAME,oBAAoBA,MAAA;AAAA,EAAA,OAAMC,aAAaJ,kBAAkB,CAAA;AAAC;AAChE,MAAMK,kBAAkBA,MAAA;AAAA,EAAA,OAAMD,aAAaF,gBAAgB,CAAA;AAAC;AAE5D,MAAMI,+BAAAA,GAAkCA,CAACP,OAAAA,KAA8B;AAC5E,EAAA,MAAMQ,SAAAA,GAAYC,UAAAA,CAAWC,GAAAA,CAAIT,kBAAkB,CAAA;AACnD,EAAA,MAAMU,OAAAA,GAAUF,UAAAA,CAAWC,GAAAA,CAAIP,gBAAgB,CAAA;AAI/C,EAAA,IACEK,UAAUI,OAAAA,KAAYZ,OAAAA;AAAAA;AAAAA,GAGrB,CAACW,OAAAA,IAAWA,OAAAA,CAAQC,OAAAA,KAAYZ,OAAAA,CAAAA,EAEjC;AAEF,EAAA,MAAM,CAACJ,iBAAAA,EAAkBiB,cAAc,CAAA,GAAIhB,oBAAAA,CACzCG,SACA,OACF,CAAA;AAEAS,EAAAA,UAAAA,CAAWK,GAAAA,CAAIb,oBAAoBL,iBAAgB,CAAA;AAEnD,EAAA,IAAIe,OAAAA,EAASF,UAAAA,CAAWK,GAAAA,CAAIX,gBAAAA,EAAkBU,cAAc,CAAA;AAC9D;;;;"}
|
|
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { d as distExports } from '../../_virtual/index.js';
|
|
3
3
|
import { SwapRate } from '../../components/widget/SwapRate/SwapRate.js';
|
|
4
4
|
import { useWidgetTokens } from '../inputs/state/common.js';
|
|
5
|
-
import { useAtomValue } from '
|
|
5
|
+
import { useAtomValue } from '../store.js';
|
|
6
6
|
import { limitPayInputAmountWeiAtom, limitReceiveInputAmountWeiAtom } from './state/limitInputAmountAtom.js';
|
|
7
7
|
import Big from 'big.js';
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitDetailsListProps.js","sources":["../../../src/core/limit/useLimitDetailsListProps.tsx"],"sourcesContent":["import type {\n DetailWithValue,\n DetailWithValueListExpandableProps,\n} from \"@/components/widget/Details/types\";\nimport { SwapRate } from \"@/components/widget/SwapRate/SwapRate\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useAtomValue } from \"
|
|
1
|
+
{"version":3,"file":"useLimitDetailsListProps.js","sources":["../../../src/core/limit/useLimitDetailsListProps.tsx"],"sourcesContent":["import type {\n DetailWithValue,\n DetailWithValueListExpandableProps,\n} from \"@/components/widget/Details/types\";\nimport { SwapRate } from \"@/components/widget/SwapRate/SwapRate\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useAtomValue } from \"@/core/store\";\n\nimport {\n limitPayInputAmountWeiAtom,\n limitReceiveInputAmountWeiAtom,\n} from \"./state/limitInputAmountAtom\";\nimport Big from \"big.js\";\n\nexport const useLimitDetailsListProps =\n (): DetailWithValueListExpandableProps | null => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"limit\");\n\n const srcAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n const destAmountWei = useAtomValue(limitReceiveInputAmountWeiAtom);\n\n if (\n !tokenTo ||\n destAmountWei === undefined ||\n Big(srcAmountWei).eq(0) ||\n Big(destAmountWei).eq(0)\n ) {\n return null;\n }\n\n const details: DetailWithValue[] = [\n {\n title: \"Network Fees\",\n value: \"🎉 Free\",\n },\n ];\n\n return {\n alwaysOpen: true,\n trigger: (\n <SwapRate\n srcToken={tokenFrom}\n destToken={tokenTo}\n srcAmountWei={srcAmountWei}\n destAmountWei={destAmountWei}\n />\n ),\n details,\n classes: {\n root: \"mt-4\",\n trigger: \"cursor-default\",\n },\n };\n };\n"],"names":["useLimitDetailsListProps","$","_c","tokenFrom","tokenTo","useWidgetTokens","srcAmountWei","useAtomValue","limitPayInputAmountWeiAtom","destAmountWei","limitReceiveInputAmountWeiAtom","undefined","Big","eq","t0","Symbol","for","title","value","details","t1","t2","root","trigger","t3","alwaysOpen","classes"],"mappings":";;;;;;;;AAcO,MAAMA,2BACXA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACE,EAAA,MAAA;AAAA,IAAAC,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAA+BC,gBAAgB,OAAO,CAAA;AAEtD,EAAA,MAAAC,YAAAA,GAAqBC,aAAaC,0BAA0B,CAAA;AAC5D,EAAA,MAAAC,aAAAA,GAAsBF,aAAaG,8BAA8B,CAAA;AAEjE,EAAA,IACE,CAACN,OAAAA,IACDK,aAAAA,KAAkBE,MAAAA,IAClBC,IAAIN,YAAY,CAAA,CAACO,EAAAA,CAAI,CAAC,KACtBD,GAAAA,CAAIH,aAAa,CAAA,CAACI,EAAAA,CAAI,CAAC,CAAA,EAAC;AAAA,IAAA,OAEjB,IAAA;AAAA,EAAI;AACZ,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAc,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAEkCF,IAAAA,EAAAA,GAAA,CACjC;AAAA,MAAAG,KAAAA,EACS,cAAA;AAAA,MAAcC,KAAAA,EACd;AAAA,KACR,CAAA;AACFjB,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAkB,OAAAA,GAAmCL,EAAAA;AAKjC,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAnB,CAAAA,CAAA,CAAA,CAAA,KAAAQ,aAAAA,IAAAR,EAAA,CAAA,CAAA,KAAAK,YAAAA,IAAAL,CAAAA,CAAA,CAAA,CAAA,KAAAE,SAAAA,IAAAF,CAAAA,QAAAG,OAAAA,EAAA;AAKEgB,IAAAA,EAAAA,uBAAC,QAAA,EAAA,EACWjB,QAAAA,EAAAA,WACCC,SAAAA,EAAAA,OAAAA,EACGE,cACCG,aAAAA,EAAa,CAAA;AAC5BR,IAAAA,CAAAA,MAAAQ,aAAAA;AAAAR,IAAAA,CAAAA,MAAAK,YAAAA;AAAAL,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAmB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAoB,EAAAA;AAAA,EAAA,IAAApB,EAAA,CAAA,CAAA,KAAAc,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGKK,IAAAA,EAAAA,GAAA;AAAA,MAAAC,IAAAA,EACD,MAAA;AAAA,MAAMC,OAAAA,EACH;AAAA,KACX;AAACtB,IAAAA,CAAAA,MAAAoB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAApB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAuB,EAAAA;AAAA,EAAA,IAAAvB,CAAAA,QAAAmB,EAAAA,EAAA;AAdII,IAAAA,EAAAA,GAAA;AAAA,MAAAC,UAAAA,EACO,IAAA;AAAA,MAAIF,OAAAA,EAEdH,EAAAA;AAAAA,MAKED,OAAAA;AAAAA,MAAAO,OAAAA,EAGKL;AAAAA,KAIX;AAACpB,IAAAA,CAAAA,MAAAmB,EAAAA;AAAAnB,IAAAA,CAAAA,MAAAuB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAvB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAfMuB,EAAAA;AAeN;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as distExports } from '../../_virtual/index.js';
|
|
2
2
|
import { getPercentDifference } from '../../lib/utils/price.js';
|
|
3
|
-
import { useAtomValue } from '
|
|
3
|
+
import { useAtomValue } from '../store.js';
|
|
4
4
|
import { limitPriceRatesAtom } from './state/limitInputAmountAtom.js';
|
|
5
5
|
import { useLimitRate } from './useLimitRate.js';
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitPriceDifference.js","sources":["../../../src/core/limit/useLimitPriceDifference.ts"],"sourcesContent":["import { getPercentDifference } from \"@/lib/utils/price\";\nimport { useAtomValue } from \"
|
|
1
|
+
{"version":3,"file":"useLimitPriceDifference.js","sources":["../../../src/core/limit/useLimitPriceDifference.ts"],"sourcesContent":["import { getPercentDifference } from \"@/lib/utils/price\";\nimport { useAtomValue } from \"@/core/store\";\nimport { limitPriceRatesAtom } from \"./state/limitInputAmountAtom\";\nimport { useLimitRate } from \"./useLimitRate\";\nimport type { UseLimitPriceDiffResult } from \"./types\";\n\nexport const useLimitPriceDifference = (): UseLimitPriceDiffResult => {\n const limitRateResult = useLimitRate(\"limit\");\n\n const userDefinedRate = Number(useAtomValue(limitPriceRatesAtom).rate);\n\n if (!userDefinedRate || !limitRateResult.rates?.rate)\n return { priceDiff: 0, ...limitRateResult };\n\n const marketRate = Number(limitRateResult.rates.rate) || 0; // guard against NaN\n // how much % the limit price rate is different from the market rate\n const priceDiff = getPercentDifference(userDefinedRate, marketRate);\n\n return { priceDiff, ...limitRateResult };\n};\n"],"names":["useLimitPriceDifference","$","_c","limitRateResult","useLimitRate","userDefinedRate","Number","useAtomValue","limitPriceRatesAtom","rate","rates","t0","priceDiff","marketRate","getPercentDifference","t1"],"mappings":";;;;;;AAMO,MAAMA,0BAA0BA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACrC,EAAA,MAAAC,eAAAA,GAAwBC,aAAa,OAAO,CAAA;AAE5C,EAAA,MAAAC,eAAAA,GAAwBC,MAAAA,CAAOC,YAAAA,CAAaC,mBAAmB,EAACC,IAAK,CAAA;AAErE,EAAA,IAAI,CAACJ,eAAAA,IAAD,CAAqBF,eAAAA,CAAeO,OAAYD,IAAAA,EAAA;AAAA,IAAA,IAAAE,GAAAA;AAAA,IAAA,IAAAV,CAAAA,QAAAE,eAAAA,EAAA;AAC3CQ,MAAAA,GAAAA,GAAA;AAAA,QAAAC,SAAAA,EAAa,CAAA;AAAA,QAAC,GAAKT;AAAAA,OAAgB;AAACF,MAAAA,CAAAA,MAAAE,eAAAA;AAAAF,MAAAA,CAAAA,MAAAU,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAApCU,GAAAA;AAAAA,EAAoC;AAE7C,EAAA,MAAAE,UAAAA,GAAmBP,MAAAA,CAAOH,eAAAA,CAAeO,KAAAA,CAAMD,IAAU,CAAA,IAAtC,CAAA;AAAwC,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAV,EAAA,CAAA,CAAA,KAAAY,cAAAZ,CAAAA,QAAAI,eAAAA,EAAA;AAEzCM,IAAAA,EAAAA,GAAAG,oBAAAA,CAAqBT,iBAAiBQ,UAAU,CAAA;AAACZ,IAAAA,CAAAA,MAAAY,UAAAA;AAAAZ,IAAAA,CAAAA,MAAAI,eAAAA;AAAAJ,IAAAA,CAAAA,MAAAU,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,EAAA;AAAnE,EAAA,MAAAW,SAAAA,GAAkBD,EAAAA;AAAkD,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAW,SAAAA,EAAA;AAE7DG,IAAAA,EAAAA,GAAA;AAAA,MAAAH,SAAAA;AAAAA,MAAA,GAAgBT;AAAAA,KAAgB;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAW,SAAAA;AAAAX,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAjCc,EAAAA;AAAiC;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { d as distExports } from '../../_virtual/index.js';
|
|
2
|
-
import { useAtomValue, useSetAtom, useAtom } from '
|
|
2
|
+
import { useAtomValue, useSetAtom, useAtom } from '../store.js';
|
|
3
3
|
import { useEffect } from 'react';
|
|
4
4
|
import { useWidgetTokens } from '../inputs/state/common.js';
|
|
5
5
|
import { useLogger } from '../logger.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitPriceInputProps.js","sources":["../../../src/core/limit/useLimitPriceInputProps.ts"],"sourcesContent":["import type { PriceInputProps } from \"@/components/widget/LimitPriceInput/types\";\nimport { useAtomValue, useSetAtom, useAtom } from \"
|
|
1
|
+
{"version":3,"file":"useLimitPriceInputProps.js","sources":["../../../src/core/limit/useLimitPriceInputProps.ts"],"sourcesContent":["import type { PriceInputProps } from \"@/components/widget/LimitPriceInput/types\";\nimport { useAtomValue, useSetAtom, useAtom } from \"@/core/store\";\nimport { useEffect } from \"react\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useLogger } from \"../logger\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { isLimitPriceLockedAtom } from \"./state/isLimitPriceLockedAtom\";\nimport { isLimitPriceReversedAtom } from \"./state/isLimitPriceReversedAtom\";\nimport {\n setLimitPriceRatesAtom,\n toggleLimitPriceLockAtom,\n toggleLimitPriceReverseAtom,\n resetLimitPriceAtom,\n} from \"./state/limitInputActionsAtom\";\nimport { limitPriceAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { useLimitPriceDifference } from \"./useLimitPriceDifference\";\nimport { getUpdatedRates } from \"./state/utils\";\n\nexport const useLimitPriceInputProps = (): PriceInputProps => {\n const logger = useLogger(\"LimitPriceInput\");\n const { tokenFrom, tokenTo } = useWidgetTokens(\"limit\");\n\n const isLocked = useAtomValue(isLimitPriceLockedAtom);\n const isReversed = useAtomValue(isLimitPriceReversedAtom);\n const limitPriceAmount = useAtomValue(limitPriceAmountAtom);\n\n const setPriceRates = useSetAtom(setLimitPriceRatesAtom);\n const togglePriceLock = useSetAtom(toggleLimitPriceLockAtom);\n const togglePriceReverse = useSetAtom(toggleLimitPriceReverseAtom);\n const resetPrice = useSetAtom(resetLimitPriceAtom);\n const [currentLimitInput, setCurrentLimitInput] = useAtom(\n currentLimitInputAtom\n );\n\n const { rates, isLoading, priceDiff } = useLimitPriceDifference();\n\n useEffect(() => {\n if (rates) {\n setPriceRates(rates);\n }\n }, [setPriceRates, rates]);\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange\", values);\n\n const updatedRates = getUpdatedRates(values.value, isReversed);\n const recalculateReceive = currentLimitInput === \"limit\";\n setPriceRates(updatedRates, recalculateReceive);\n };\n\n const drivingToken = isReversed ? tokenFrom : tokenTo;\n\n return {\n type: \"limit\",\n drivingToken,\n amount: limitPriceAmount,\n isLoading,\n isLocked,\n isReversed,\n priceDiff,\n onAmountChange,\n onReset: () => resetPrice(rates),\n onToggleLock: () => togglePriceLock(),\n onToggleReverse: () => togglePriceReverse(),\n onFocus: () => setCurrentLimitInput(\"limit\"),\n };\n};\n"],"names":["useLimitPriceInputProps","$","_c","logger","useLogger","tokenFrom","tokenTo","useWidgetTokens","isLocked","useAtomValue","isLimitPriceLockedAtom","isReversed","isLimitPriceReversedAtom","limitPriceAmount","limitPriceAmountAtom","setPriceRates","useSetAtom","setLimitPriceRatesAtom","togglePriceLock","toggleLimitPriceLockAtom","togglePriceReverse","toggleLimitPriceReverseAtom","resetPrice","resetLimitPriceAtom","currentLimitInput","setCurrentLimitInput","useAtom","currentLimitInputAtom","rates","isLoading","priceDiff","useLimitPriceDifference","t0","t1","useEffect","t2","values","log","updatedRates","getUpdatedRates","value","recalculateReceive","onAmountChange","drivingToken","t3","t4","t5","t6","t7","type","amount","onReset","onToggleLock","onToggleReverse","onFocus"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { useTokenPrice } from '../../hooks/tokens/prices/useTokenPrices.js';
|
|
|
5
5
|
import Big from 'big.js';
|
|
6
6
|
import { formatUnits, parseUnits } from 'viem';
|
|
7
7
|
import { useWidgetTokens, tradeModeToTokenAtoms } from '../inputs/state/common.js';
|
|
8
|
-
import { useAtomValue } from '
|
|
8
|
+
import { useAtomValue } from '../store.js';
|
|
9
9
|
import { useMemo } from 'react';
|
|
10
10
|
|
|
11
11
|
const PRICE_REFETCH_INTERVAL = 6e4 * 5;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitRate.js","sources":["../../../src/core/limit/useLimitRate.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport {\n usePricesParams,\n type FetchPriceParams,\n} from \"@/hooks/swap/prices/usePricesParams\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport type { UseLimitRateResult } from \"./types\";\nimport { useAtomValue } from \"
|
|
1
|
+
{"version":3,"file":"useLimitRate.js","sources":["../../../src/core/limit/useLimitRate.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport {\n usePricesParams,\n type FetchPriceParams,\n} from \"@/hooks/swap/prices/usePricesParams\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport type { UseLimitRateResult } from \"./types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { useMemo } from \"react\";\n\n// 5 min, so as not to change limit price in front of the user too often\nconst PRICE_REFETCH_INTERVAL = 60_000 * 5;\n\nconst useSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = PRICE_REFETCH_INTERVAL,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const tokenFrom = useAtomValue(\n tradeModeToTokenAtoms[tradeMode].tokenFromAtom\n );\n const { priceParams, chainId } = usePricesParams(tradeMode);\n\n const priceParamsWithAmount: FetchPriceParams = {\n ...priceParams,\n amount: parseUnits(\"1\", tokenFrom.decimals).toString(),\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n // @TODO: delta price return quote for less tokens than market price with srcAmount=1,\n // but maybe we should increase srcAmount and use delta prices instead, need to test.\n const { result: marketPriceQuery } = useMarketPriceQuery({\n priceParams: priceParamsWithAmount,\n chainId,\n timeout: 5000,\n query: {\n enabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n };\n};\n\n// define how many tokenTo units one tokenFrom (tokenTo if reversed) unit costs, eg 1 ETH = 3000 USDC\nexport const useLimitRate = (\n tradeMode: \"limit\" | \"otc\"\n): UseLimitRateResult => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const { data: tokenFromPrice, isLoading: isTokenFromPriceLoading } =\n useTokenPrice(tokenFrom, { refetchInterval: PRICE_REFETCH_INTERVAL });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, { refetchInterval: PRICE_REFETCH_INTERVAL });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice = !fiatPricesAvailable && !areFiatPricesLoading;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({ enabled: fetchSwapPrice, tradeMode });\n\n const isLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (fiatPricesAvailable) {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n } else if (swapPrice) {\n const srcUnits = formatUnits(\n BigInt(swapPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n BigInt(swapPrice.destAmount),\n tokenTo.decimals\n );\n\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n if (!rate || !rateReversed) {\n return { isLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading,\n };\n }, [\n fiatPricesAvailable,\n isLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n ]);\n};\n"],"names":["PRICE_REFETCH_INTERVAL","useSwapPriceForLimit","t0","$","_c","enabled","t1","refetchInterval","t2","tradeMode","undefined","tokenFrom","useAtomValue","tradeModeToTokenAtoms","tokenFromAtom","priceParams","chainId","usePricesParams","t3","decimals","parseUnits","toString","t4","amount","side","ignoreBadUsdPrice","priceParamsWithAmount","t5","retry","refetchOnWindowFocus","refetchOnMount","t6","timeout","query","result","marketPriceQuery","useMarketPriceQuery","t7","data","isLoading","price","useLimitRate","tokenTo","useWidgetTokens","tokenFromPrice","isTokenFromPriceLoading","useTokenPrice","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","useMemo","rate","rateReversed","Big","div","toFixed","srcUnits","formatUnits","BigInt","srcAmount","destUnits","destAmount","rates"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { d as distExports } from '../../_virtual/index.js';
|
|
3
|
-
import { useAtomValue, useSetAtom } from '
|
|
3
|
+
import { useAtomValue, useSetAtom } from '../store.js';
|
|
4
4
|
import { setLimitPayAmountAtom } from './state/limitInputActionsAtom.js';
|
|
5
5
|
import { useLogger } from '../logger.js';
|
|
6
6
|
import { limitPayInputAmountWeiAtom, limitPayInputAmountAtom } from './state/limitInputAmountAtom.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitTokenFromInputProps.js","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { setLimitPayAmountAtom } from \"./state/limitInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"./state/limitInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillLimitOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport Big from \"big.js\";\nimport { WRAP_ETH_GAS_LIMIT_INACCURATE } from \"@/lib/constants\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { selectLimitTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom } from \"./state/selectedTokenAtom\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithDelta } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\n\nconst useLimitTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Limit::TokenFrom::AmountProps\");\n const tokenFrom = useLimitTokenFrom();\n\n const amountValue = useAtomValue(limitPayInputAmountAtom);\n const setAmountValue = useSetAtom(setLimitPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"ParaswapDelta\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillLimitOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);\n const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n const showMaxButton = hasBalance;\n\n return {\n showMaxButton,\n onMaxClick: () => {\n setCurrentLimitInput(\"from\");\n\n if (hasBalance) {\n if (!isETH(tokenFrom)) {\n setPayInputAmount(balanceUnit);\n return;\n }\n\n // if ETH in Limit form then it's wrapping\n const gasPriceMultiplier = gasPrices?.legacyPrices.instant;\n if (gasPriceMultiplier) {\n const gasFeeETH = Big(WRAP_ETH_GAS_LIMIT_INACCURATE)\n .mul(gasPriceMultiplier)\n .div(1e9);\n const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);\n\n setPayInputAmount(balanceWithDeductedGas.toString());\n }\n }\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useLimitTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithDelta = useEnabledSrcChainsWithDelta();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithDelta,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithDelta.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useLimitInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedLimitChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useLimitTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useLimitTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n\n const classes = useLimitInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"names":["useLimitTokenFromAmountProps","$","_c","logger","useLogger","tokenFrom","useLimitTokenFrom","amountValue","useAtomValue","limitPayInputAmountAtom","setAmountValue","useSetAtom","setLimitPayAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","useTokenConditionalProps","amountWei","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","useIsInsufficientBalanceToFillLimitOrder","t3","t4","t5","t6","requiredBalanceToFillFormatted","formatTokenAmount","undefined","t7","needsApproval","lockIcon","getInsufficientBalanceToFillOrderMessage","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentLimitInput","currentLimitInputAtom","setPayInputAmount","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","data","gasPrices","useGasPrices","hasBalance","showMaxButton","legacyPrices","isETH","gasPriceMultiplier","instant","gasFeeETH","Big","WRAP_ETH_GAS_LIMIT_INACCURATE","mul","div","balanceWithDeductedGas","minus","toString","onMaxClick","toDecimalTrimmed","useExtraProps","appChainId","useChainId","enabledChainsWithDelta","useEnabledSrcChainsWithDelta","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","disabledClasses","useLimitInputClasses","unsupportedChain","useUnsupportedLimitChain","useLimitTokenFromInputProps","amountProps","extraProps","payInputAmountWei","limitPayInputAmountWeiAtom","tokenConditionalProps","maxButtonProps","setTokenFrom","selectLimitTokenFromAtom","onTokenSelect","chainId","switchChain"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useLimitTokenFromInputProps.js","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setLimitPayAmountAtom } from \"./state/limitInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"./state/limitInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillLimitOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport Big from \"big.js\";\nimport { WRAP_ETH_GAS_LIMIT_INACCURATE } from \"@/lib/constants\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { selectLimitTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom } from \"./state/selectedTokenAtom\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithDelta } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\n\nconst useLimitTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Limit::TokenFrom::AmountProps\");\n const tokenFrom = useLimitTokenFrom();\n\n const amountValue = useAtomValue(limitPayInputAmountAtom);\n const setAmountValue = useSetAtom(setLimitPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"ParaswapDelta\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillLimitOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);\n const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n const showMaxButton = hasBalance;\n\n return {\n showMaxButton,\n onMaxClick: () => {\n setCurrentLimitInput(\"from\");\n\n if (hasBalance) {\n if (!isETH(tokenFrom)) {\n setPayInputAmount(balanceUnit);\n return;\n }\n\n // if ETH in Limit form then it's wrapping\n const gasPriceMultiplier = gasPrices?.legacyPrices.instant;\n if (gasPriceMultiplier) {\n const gasFeeETH = Big(WRAP_ETH_GAS_LIMIT_INACCURATE)\n .mul(gasPriceMultiplier)\n .div(1e9);\n const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);\n\n setPayInputAmount(balanceWithDeductedGas.toString());\n }\n }\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useLimitTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithDelta = useEnabledSrcChainsWithDelta();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithDelta,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithDelta.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useLimitInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedLimitChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useLimitTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useLimitTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n\n const classes = useLimitInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"names":["useLimitTokenFromAmountProps","$","_c","logger","useLogger","tokenFrom","useLimitTokenFrom","amountValue","useAtomValue","limitPayInputAmountAtom","setAmountValue","useSetAtom","setLimitPayAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","useTokenConditionalProps","amountWei","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","useIsInsufficientBalanceToFillLimitOrder","t3","t4","t5","t6","requiredBalanceToFillFormatted","formatTokenAmount","undefined","t7","needsApproval","lockIcon","getInsufficientBalanceToFillOrderMessage","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentLimitInput","currentLimitInputAtom","setPayInputAmount","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","data","gasPrices","useGasPrices","hasBalance","showMaxButton","legacyPrices","isETH","gasPriceMultiplier","instant","gasFeeETH","Big","WRAP_ETH_GAS_LIMIT_INACCURATE","mul","div","balanceWithDeductedGas","minus","toString","onMaxClick","toDecimalTrimmed","useExtraProps","appChainId","useChainId","enabledChainsWithDelta","useEnabledSrcChainsWithDelta","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","disabledClasses","useLimitInputClasses","unsupportedChain","useUnsupportedLimitChain","useLimitTokenFromInputProps","amountProps","extraProps","payInputAmountWei","limitPayInputAmountWeiAtom","tokenConditionalProps","maxButtonProps","setTokenFrom","selectLimitTokenFromAtom","onTokenSelect","chainId","switchChain"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as distExports } from '../../_virtual/index.js';
|
|
2
2
|
import { cn } from '../../lib/utils/index.js';
|
|
3
|
-
import { useSetAtom } from '
|
|
3
|
+
import { useSetAtom } from '../store.js';
|
|
4
4
|
import { switchLimitTokensAtom } from './state/selectedTokenActionsAtom.js';
|
|
5
5
|
import { useLimitTokenTo } from './state/selectedTokenAtom.js';
|
|
6
6
|
import { useUnsupportedLimitChain } from './useLimitNotSupported.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitTokenSwitcherProps.js","sources":["../../../src/core/limit/useLimitTokenSwitcherProps.ts"],"sourcesContent":["import type { TokenSwitcherProps } from \"@/components/widget/TokenSwitcher/types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSetAtom } from \"
|
|
1
|
+
{"version":3,"file":"useLimitTokenSwitcherProps.js","sources":["../../../src/core/limit/useLimitTokenSwitcherProps.ts"],"sourcesContent":["import type { TokenSwitcherProps } from \"@/components/widget/TokenSwitcher/types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSetAtom } from \"@/core/store\";\nimport { switchLimitTokensAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenTo } from \"./state/selectedTokenAtom\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\n\nexport const useLimitTokenSwitcherProps = (): TokenSwitcherProps => {\n const tokenTo = useLimitTokenTo();\n const switchTokens = useSetAtom(switchLimitTokensAtom);\n const unsupportedLimitChain = useUnsupportedLimitChain();\n\n return {\n enableSwitchTokens: !!tokenTo,\n onSwitchTokens: switchTokens,\n classes: {\n root: cn({ \"pointer-events-none\": unsupportedLimitChain }),\n },\n };\n};\n"],"names":["useLimitTokenSwitcherProps","$","_c","tokenTo","useLimitTokenTo","switchTokens","useSetAtom","switchLimitTokensAtom","unsupportedLimitChain","useUnsupportedLimitChain","t0","t1","cn","t2","root","t3","enableSwitchTokens","onSwitchTokens","classes"],"mappings":";;;;;;;AAOO,MAAMA,6BAA6BA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACxC,EAAA,MAAAC,UAAgBC,eAAAA,EAAgB;AAChC,EAAA,MAAAC,YAAAA,GAAqBC,WAAWC,qBAAqB,CAAA;AACrD,EAAA,MAAAC,wBAA8BC,wBAAAA,EAAyB;AAGjC,EAAA,MAAAC,EAAAA,GAAA,CAAC,CAACP,OAAAA;AAAO,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAV,CAAAA,QAAAO,qBAAAA,EAAA;AAGrBG,IAAAA,EAAAA,GAAAC,EAAAA,CAAG;AAAA,MAAA,qBAAA,EAAyBJ;AAAAA,KAAuB,CAAA;AAACP,IAAAA,CAAAA,MAAAO,qBAAAA;AAAAP,IAAAA,CAAAA,MAAAU,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAU,EAAAA,EAAA;AADnDE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,IAAAA,EACDH;AAAAA,KACR;AAACV,IAAAA,CAAAA,MAAAU,EAAAA;AAAAV,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAI,YAAAA,IAAAJ,CAAAA,QAAAS,EAAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAY,EAAAA,EAAA;AALIE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,kBAAAA,EACeN,EAAAA;AAAAA,MAASO,cAAAA,EACbZ,YAAAA;AAAAA,MAAYa,OAAAA,EACnBL;AAAAA,KAGX;AAACZ,IAAAA,CAAAA,MAAAI,YAAAA;AAAAJ,IAAAA,CAAAA,MAAAS,EAAAA;AAAAT,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMc,EAAAA;AAMN;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { d as distExports } from '../../_virtual/index.js';
|
|
3
|
-
import { useAtomValue, useSetAtom } from '
|
|
3
|
+
import { useAtomValue, useSetAtom } from '../store.js';
|
|
4
4
|
import { limitReceiveInputAmountAtom } from './state/limitInputAmountAtom.js';
|
|
5
5
|
import { setLimitReceiveAmountAtom } from './state/limitInputActionsAtom.js';
|
|
6
6
|
import { useLogger } from '../logger.js';
|