@velora-dex/widget 0.7.0 → 0.7.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/tooltip.js +1 -1
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js +45 -41
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts +3 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js +69 -34
- package/dist/components/widget/AppHeader/TradeModeSwitcher.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 +25 -37
- package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRateWithTooltip.d.ts +3 -0
- package/dist/components/widget/SwapRate/SwapRateWithTooltip.d.ts.map +1 -0
- package/dist/components/widget/SwapRate/SwapRateWithTooltip.js +42 -0
- package/dist/components/widget/SwapRate/SwapRateWithTooltip.js.map +1 -0
- package/dist/components/widget/SwapRate/utils.d.ts +3 -0
- package/dist/components/widget/SwapRate/utils.d.ts.map +1 -0
- package/dist/components/widget/SwapRate/utils.js +26 -0
- package/dist/components/widget/SwapRate/utils.js.map +1 -0
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts.map +1 -1
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js +20 -27
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +134 -131
- package/dist/core/index.js.map +1 -1
- package/dist/core/logger.d.ts +2 -2
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +8 -2
- package/dist/core/logger.js.map +1 -1
- package/dist/core/screen/hooks/useRunOnMount.d.ts +10 -0
- package/dist/core/screen/hooks/useRunOnMount.d.ts.map +1 -1
- package/dist/core/screen/hooks/useRunOnMount.js +6 -1
- package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
- package/dist/core/state/configActionsAtom.d.ts.map +1 -1
- package/dist/core/state/configActionsAtom.js +8 -8
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configAtom.d.ts +4 -2
- package/dist/core/state/configAtom.d.ts.map +1 -1
- package/dist/core/state/configAtom.js +7 -4
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/validatedReferrerConfigAtom.d.ts +3 -0
- package/dist/core/state/validatedReferrerConfigAtom.d.ts.map +1 -0
- package/dist/core/state/validatedReferrerConfigAtom.js +12 -0
- package/dist/core/state/validatedReferrerConfigAtom.js.map +1 -0
- package/dist/core/types.d.ts +6 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +203 -201
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +85 -82
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +156 -154
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js +230 -228
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
- package/dist/hooks/useReferrer.d.ts +2 -0
- package/dist/hooks/useReferrer.d.ts.map +1 -0
- package/dist/hooks/useReferrer.js +8 -0
- package/dist/hooks/useReferrer.js.map +1 -0
- package/dist/lib/utils/logger.d.ts +7 -4
- package/dist/lib/utils/logger.d.ts.map +1 -1
- package/dist/lib/utils/logger.js +70 -33
- package/dist/lib/utils/logger.js.map +1 -1
- 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/lib/web3/wagmi/isInsideSafeIframe.js +11 -11
- package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tokens/utils/transferAmountsFromReceipt.js +14 -14
- package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
- package/dist/transactions/queries/ensureTxReceipt.js +8 -8
- package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
- package/package.json +7 -7
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DevTools","TokenInput","useTokenFromInputProps","Button","JotaiProvider","QueryClientProvider","Web3Providers","useAccount","WIDGET_ELEMENT_ID","WIDGET_HEIGHT_CLASSNAME","Updaters","useTokenToInputProps","TokenSwitcher","TokenSwitcherComp","WidgetProps","cn","useSwapTokenSwitcherProps","runSubscriptions","PrivyIframeDependency","SwapModeSwitcherExpandable","useTokenInputsFromPrice","MinTradeOverviewProps","BridgePrice","DeltaPrice","OptimalRate","SwapMode","SwapDetailsExpandable","ReceiverAddress","jotaiStore","useAtomValue","useSetAtom","useHydrateAtoms","containerAtom","AppHeader","useLayoutEffect","useRef","defaultSubConfig","defaultWidgetConfig","excludeUIAtom","useWidgetConfig","setSubConfigAtom","setWidgetConfigAtom","PoweredBy","useWidgetButtonExtraProps","useSwapPrices","Toaster","externalProviderAtom","AutoconnectExternalProvider","SwapTradeFlowScreenButton","TwapTradeFlowScreenButton","ConnectWalletDrawerButton","PriceInput","OrderExpiryInput","useLimitTokenToInputProps","useLimitTokenFromInputProps","useTradeMode","TradeMode","useDrawerContainerHeightTransition","InWidgetDrawerOverlay","LimitOrderButton","LimitOrderDetails","useOtcTokenFromInputProps","useOtcTokenToInputProps","useLimitPriceInputProps","useOtcPriceInputProps","OtcOrderButton","OtcOrderDetails","SwapWidgetWarning","TwapWarnings","WidgetWarning","useUnsupportedLimitChain","useUnsupportedOtcChain","useLimitTokenSwitcherProps","useOtcTokenSwitcherProps","useTwapTokenFromInputProps","useTwapTokenToInputProps","useTwapTokenSwitcherProps","TwapOrderDuration","TwapOrderSplit","TwapRateProtection","TwapDetails","useTokenInputsFromTwapPrice","useTwapButtonExtraProps","useSwapReceiverAddress","useOtcReceiverAddress","useWidgetEventsSetter","widgetEventsAtom","formInputPropsAtom","useSetFormInputFromProps","queryClientAtom","useQueryClient","useScreenValue","MainScreenContainer","SecondaryScreenContainer","useCloseScreenOnClickOutside","useResizeObserver","useLimitReceiverAddress","isBridgePrice","BridgeSelectorExpandable","ErrorBoundary","useInitialValue","apiConfigAtom","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","unsupportedChain","t1","t2","t3","OtcOrderExtraInputs","LimitOrderScreen","OtcOrderScreen","TwapExtraInputs","TwapButton","isConnected","overrides","isLoading","tokenFromAmount","override","isPriceLoading","tokenFromInputProps","cachedError","tokenToAmount","priceError","tokenToInputProps","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","tokenFrom","tokenTo","extraProps","t4","className","disabled","labelOverride","price","TwapScreen","tradeModeToScreen","Record","React","FC","swap","limit","otc","twap","MainScreen","tradeMode","TradeModeScreen","App","excludeUI","screenElement","includes","WidgetBase","config","_config","apiConfig","provider","events","input","formInputProps","queryClient","setWidgetConfig","setSubConfig","setApiConfig","destChains","devURLs","partnerConfig","srcChains","tokenLists","tradeModes","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","store","t15","t16","debug","enableCrossChain","enableDegenMode","enableDelta","privyAppId","privyClientId","theme","widgetMode","t17","t18","t19","apiKey","headers","t20","t21","t22","setExternalProvider","t23","t24","isDappMode","reconnectOnMountInit","t25","t26","t27","t28","t29","import","meta","env","DEV","t30","Widget","Containers","children","setContainerElement","containerRef","widgetConfig","isDrawerFullCover","isDrawerOpen","partialDrawerOpen","dark","WidgetHeader","root","SwapTokenFromInput","priceMode","activeSwapMode","LimitTokenFromInput","OtcTokenFromInput","TwapTokenFromInput","SwapTokenToInput","error","LimitTokenToInput","OtcTokenToInput","TwapTokenToInput","SwapTokenSwitcher","tokenSwitcherProps","LimitTokenSwitcher","OtcTokenSwitcher","TwapTokenSwitcher","SwapButton","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","shouldShowReceiverAddress","swapReceiverAddressProps","OtcReceiverAddress","otcReceiverAddressProps","LimitReceiverAddress","limitReceiverAddressProps","swapModeSwitcherClasses","const","SwapModeSwitcher","enabled","delta","market","canBeUsed","ButtonWithDrawerProps","ComponentProps","drawerContainer","HTMLDivElement","marketPrice","deltaPrice","SwapButtonWithDrawer","buttonProps","priceProps"],"sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { jotaiStore, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport {\n SwapTradeFlowScreenButton,\n TwapTradeFlowScreenButton,\n} from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { SwapWidgetWarning, TwapWarnings, WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useTwapTokenFromInputProps } from \"./twap/useTwapTokenFromInputProps\";\nimport { useTwapTokenToInputProps } from \"./twap/useTwapTokenToInputProps\";\nimport { useTwapTokenSwitcherProps } from \"./twap/useTwapTokenSwitcherProps\";\nimport { TwapOrderDuration } from \"@/components/widget/Twap/OrderDuration\";\nimport { TwapOrderSplit } from \"@/components/widget/Twap/OrderSplit\";\nimport { TwapRateProtection } from \"@/components/widget/Twap/RateProtection\";\nimport { TwapDetails } from \"./TwapDetails\";\nimport { useTokenInputsFromTwapPrice } from \"@/hooks/swap/prices/useTokenInputsFromTwapPrice\";\nimport { useTwapButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\n\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useResizeObserver } from \"./screen/hooks/useResizeObserver\";\n\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\nimport { apiConfigAtom } from \"./state/apiConfigAtom\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst TwapExtraInputs = () => {\n return (\n <div className=\"flex flex-col gap-4 pt-4\">\n <TwapOrderDuration />\n <TwapOrderSplit />\n <TwapRateProtection />\n </div>\n );\n};\n\nfunction TwapButton() {\n const { isConnected } = useAccount();\n\n const overrides = useTokenInputsFromTwapPrice();\n\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useTwapButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n if (!isConnected) return <ConnectWalletDrawerButton />;\n\n return (\n <TwapTradeFlowScreenButton\n orderProps={orderProps}\n twapPrice={overrides.price}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nconst TwapScreen = () => {\n return (\n <>\n <TwapTokenFromInput />\n <TwapTokenSwitcher />\n <TwapTokenToInput />\n <TwapExtraInputs />\n <TwapWarnings />\n <TwapDetails />\n <TwapButton />\n </>\n );\n};\n\nconst tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n twap: TwapScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n apiConfig,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const setApiConfig = useSetAtom(apiConfigAtom);\n\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms(\n [\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n },\n ],\n [apiConfigAtom, apiConfig || {}],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ],\n {\n store: jotaiStore,\n }\n );\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n enableDegenMode: config.enableDegenMode,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.enableDegenMode,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ]);\n\n useLayoutEffect(() => {\n setApiConfig({\n apiKey: apiConfig?.apiKey,\n headers: apiConfig?.headers,\n });\n }, [apiConfig?.apiKey, apiConfig?.headers, setApiConfig]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({\n config,\n apiConfig,\n provider,\n events,\n input,\n}: WidgetProps) => {\n return (\n <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n apiConfig={apiConfig}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n useResizeObserver(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none [&>*]:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction TwapTokenFromInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction TwapTokenToInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction TwapTokenSwitcher() {\n const tokenSwitcherProps = useTwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DevTools","TokenInput","useTokenFromInputProps","Button","JotaiProvider","QueryClientProvider","Web3Providers","useAccount","WIDGET_ELEMENT_ID","WIDGET_HEIGHT_CLASSNAME","Updaters","useTokenToInputProps","TokenSwitcher","TokenSwitcherComp","WidgetProps","cn","useSwapTokenSwitcherProps","runSubscriptions","PrivyIframeDependency","SwapModeSwitcherExpandable","useTokenInputsFromPrice","MinTradeOverviewProps","BridgePrice","DeltaPrice","OptimalRate","SwapMode","SwapDetailsExpandable","ReceiverAddress","jotaiStore","useAtomValue","useSetAtom","useHydrateAtoms","containerAtom","AppHeader","useLayoutEffect","useRef","defaultSubConfig","defaultWidgetConfig","excludeUIAtom","useWidgetConfig","setSubConfigAtom","setWidgetConfigAtom","PoweredBy","useWidgetButtonExtraProps","useSwapPrices","Toaster","externalProviderAtom","AutoconnectExternalProvider","SwapTradeFlowScreenButton","TwapTradeFlowScreenButton","ConnectWalletDrawerButton","PriceInput","OrderExpiryInput","useLimitTokenToInputProps","useLimitTokenFromInputProps","useTradeMode","TradeMode","useDrawerContainerHeightTransition","InWidgetDrawerOverlay","LimitOrderButton","LimitOrderDetails","useOtcTokenFromInputProps","useOtcTokenToInputProps","useLimitPriceInputProps","useOtcPriceInputProps","OtcOrderButton","OtcOrderDetails","SwapWidgetWarning","TwapWarnings","WidgetWarning","useUnsupportedLimitChain","useUnsupportedOtcChain","useLimitTokenSwitcherProps","useOtcTokenSwitcherProps","useTwapTokenFromInputProps","useTwapTokenToInputProps","useTwapTokenSwitcherProps","TwapOrderDuration","TwapOrderSplit","TwapRateProtection","TwapDetails","useTokenInputsFromTwapPrice","useTwapButtonExtraProps","useSwapReceiverAddress","useOtcReceiverAddress","useWidgetEventsSetter","widgetEventsAtom","formInputPropsAtom","useSetFormInputFromProps","queryClientAtom","useQueryClient","useScreenValue","MainScreenContainer","SecondaryScreenContainer","useCloseScreenOnClickOutside","useResizeObserver","useLimitReceiverAddress","isBridgePrice","BridgeSelectorExpandable","ErrorBoundary","useInitialValue","apiConfigAtom","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","unsupportedChain","t1","t2","t3","OtcOrderExtraInputs","LimitOrderScreen","OtcOrderScreen","TwapExtraInputs","TwapButton","isConnected","overrides","isLoading","tokenFromAmount","override","isPriceLoading","tokenFromInputProps","cachedError","tokenToAmount","priceError","tokenToInputProps","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","tokenFrom","tokenTo","extraProps","t4","className","disabled","labelOverride","price","TwapScreen","tradeModeToScreen","Record","React","FC","swap","limit","otc","twap","MainScreen","tradeMode","TradeModeScreen","App","excludeUI","screenElement","includes","WidgetBase","config","_config","apiConfig","provider","events","input","formInputProps","queryClient","setWidgetConfig","setSubConfig","setApiConfig","destChains","devURLs","partnerConfig","referrerConfig","srcChains","tokenLists","tradeModes","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","store","t15","t16","debug","enableCrossChain","enableDegenMode","enableDelta","privyAppId","privyClientId","theme","widgetMode","t17","t18","t19","apiKey","headers","t20","t21","t22","setExternalProvider","t23","t24","isDappMode","reconnectOnMountInit","t25","t26","t27","t28","t29","import","meta","env","DEV","t30","Widget","Containers","children","setContainerElement","containerRef","widgetConfig","isDrawerFullCover","isDrawerOpen","partialDrawerOpen","dark","WidgetHeader","root","SwapTokenFromInput","priceMode","activeSwapMode","LimitTokenFromInput","OtcTokenFromInput","TwapTokenFromInput","SwapTokenToInput","error","LimitTokenToInput","OtcTokenToInput","TwapTokenToInput","SwapTokenSwitcher","tokenSwitcherProps","LimitTokenSwitcher","OtcTokenSwitcher","TwapTokenSwitcher","SwapButton","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","shouldShowReceiverAddress","swapReceiverAddressProps","OtcReceiverAddress","otcReceiverAddressProps","LimitReceiverAddress","limitReceiverAddressProps","swapModeSwitcherClasses","const","SwapModeSwitcher","enabled","delta","market","canBeUsed","ButtonWithDrawerProps","ComponentProps","drawerContainer","HTMLDivElement","marketPrice","deltaPrice","SwapButtonWithDrawer","buttonProps","priceProps"],"sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { jotaiStore, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport {\n SwapTradeFlowScreenButton,\n TwapTradeFlowScreenButton,\n} from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { SwapWidgetWarning, TwapWarnings, WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useTwapTokenFromInputProps } from \"./twap/useTwapTokenFromInputProps\";\nimport { useTwapTokenToInputProps } from \"./twap/useTwapTokenToInputProps\";\nimport { useTwapTokenSwitcherProps } from \"./twap/useTwapTokenSwitcherProps\";\nimport { TwapOrderDuration } from \"@/components/widget/Twap/OrderDuration\";\nimport { TwapOrderSplit } from \"@/components/widget/Twap/OrderSplit\";\nimport { TwapRateProtection } from \"@/components/widget/Twap/RateProtection\";\nimport { TwapDetails } from \"./TwapDetails\";\nimport { useTokenInputsFromTwapPrice } from \"@/hooks/swap/prices/useTokenInputsFromTwapPrice\";\nimport { useTwapButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\n\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useResizeObserver } from \"./screen/hooks/useResizeObserver\";\n\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\nimport { apiConfigAtom } from \"./state/apiConfigAtom\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst TwapExtraInputs = () => {\n return (\n <div className=\"flex flex-col gap-4 pt-4\">\n <TwapOrderDuration />\n <TwapOrderSplit />\n <TwapRateProtection />\n </div>\n );\n};\n\nfunction TwapButton() {\n const { isConnected } = useAccount();\n\n const overrides = useTokenInputsFromTwapPrice();\n\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useTwapButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n if (!isConnected) return <ConnectWalletDrawerButton />;\n\n return (\n <TwapTradeFlowScreenButton\n orderProps={orderProps}\n twapPrice={overrides.price}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nconst TwapScreen = () => {\n return (\n <>\n <TwapTokenFromInput />\n <TwapTokenSwitcher />\n <TwapTokenToInput />\n <TwapExtraInputs />\n <TwapWarnings />\n <TwapDetails />\n <TwapButton />\n </>\n );\n};\n\nconst tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n twap: TwapScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n apiConfig,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const setApiConfig = useSetAtom(apiConfigAtom);\n\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms(\n [\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n },\n ],\n [apiConfigAtom, apiConfig || {}],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ],\n {\n store: jotaiStore,\n }\n );\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n enableDegenMode: config.enableDegenMode,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.enableDegenMode,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n ]);\n\n useLayoutEffect(() => {\n setApiConfig({\n apiKey: apiConfig?.apiKey,\n headers: apiConfig?.headers,\n });\n }, [apiConfig?.apiKey, apiConfig?.headers, setApiConfig]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({\n config,\n apiConfig,\n provider,\n events,\n input,\n}: WidgetProps) => {\n return (\n <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n apiConfig={apiConfig}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n useResizeObserver(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none *:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction TwapTokenFromInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction TwapTokenToInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction TwapTokenSwitcher() {\n const tokenSwitcherProps = useTwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"mappings":"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"}
|
package/dist/core/logger.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as logger from "@/lib/utils/logger";
|
|
2
2
|
/**
|
|
3
|
-
* Creates a logger instance with consideration for
|
|
3
|
+
* Creates a logger instance with consideration for debug passed in widget config.
|
|
4
4
|
* To be used outside of React.
|
|
5
5
|
*/
|
|
6
|
-
export declare const getLogger: logger.
|
|
6
|
+
export declare const getLogger: (context?: string, options?: Omit<logger.LoggerOptions, "isOn">) => logger.LoggerInstance;
|
|
7
7
|
export declare const useLogger: logger.CreateLoggerFn;
|
|
8
8
|
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAW7C;;;GAGG;AACH,eAAO,MAAM,SAAS,GACpB,UAAU,MAAM,EAChB,UAAU,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,KAC3C,MAAM,CAAC,cAGT,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,cAgB9B,CAAC"}
|
package/dist/core/logger.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jotaiStore as e } from "./store.js";
|
|
2
|
-
import {
|
|
2
|
+
import { _createLogger as t, _createNoopLogger as n } from "../lib/utils/logger.js";
|
|
3
3
|
import { useWidgetConfig as r, widgetConfigAtom as i } from "./state/configAtom.js";
|
|
4
4
|
import { c as a } from "react-compiler-runtime";
|
|
5
5
|
import "react";
|
|
@@ -9,7 +9,13 @@ e.sub(i, () => {
|
|
|
9
9
|
let t = e.get(i).debug;
|
|
10
10
|
t !== o && (o = t);
|
|
11
11
|
});
|
|
12
|
-
var s = (
|
|
12
|
+
var s = (e, n) => {
|
|
13
|
+
let r = () => o;
|
|
14
|
+
return t(e, {
|
|
15
|
+
...n,
|
|
16
|
+
isOn: r
|
|
17
|
+
});
|
|
18
|
+
}, c = (e, i) => {
|
|
13
19
|
let o = a(5), s = r().debug;
|
|
14
20
|
i?.color, i?.showCallSite;
|
|
15
21
|
let c = i?.color, l = i?.showCallSite, u;
|
package/dist/core/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","names":["logger","useWidgetConfig","widgetConfigAtom","jotaiStore","useMemo","
|
|
1
|
+
{"version":3,"file":"logger.js","names":["logger","useWidgetConfig","widgetConfigAtom","jotaiStore","useMemo","isDebugOn","get","debug","sub","getLogger","context","options","Omit","LoggerOptions","LoggerInstance","isOn","_createLogger","useLogger","CreateLoggerFn","$","_c","isUsingLogger","color","showCallSite","t0","t1","t2","opts","_createNoopLogger"],"sources":["../../src/core/logger.ts"],"sourcesContent":["import * as logger from \"@/lib/utils/logger\";\nimport { useWidgetConfig, widgetConfigAtom } from \"./state/configAtom\";\nimport { jotaiStore } from \"./store\";\nimport { useMemo } from \"react\";\n\nlet isDebugOn = jotaiStore.get(widgetConfigAtom).debug;\njotaiStore.sub(widgetConfigAtom, () => {\n const debug = jotaiStore.get(widgetConfigAtom).debug;\n if (debug !== isDebugOn) isDebugOn = debug;\n});\n\n/**\n * Creates a logger instance with consideration for debug passed in widget config.\n * To be used outside of React.\n */\nexport const getLogger = (\n context?: string,\n options?: Omit<logger.LoggerOptions, \"isOn\">\n): logger.LoggerInstance => {\n const isOn = () => isDebugOn;\n return logger._createLogger(context, { ...options, isOn });\n};\n\n// creating a hooks like this: `useLogger(...args)` will cause it's result to be created anew on every render,\n// because react-compiler fails to memoize spreded args, probably because spread creates a new array on every render\nexport const useLogger: logger.CreateLoggerFn = (\n context?: string,\n options?: logger.LoggerOptions\n): logger.LoggerInstance => {\n const debug = useWidgetConfig().debug;\n\n const isUsingLogger = debug;\n return useMemo(() => {\n const opts = {\n color: options?.color,\n showCallSite: options?.showCallSite,\n };\n return isUsingLogger\n ? logger._createLogger(context, opts)\n : logger._createNoopLogger(context, opts);\n }, [context, options?.color, options?.showCallSite, isUsingLogger]);\n};\n"],"mappings":";;;;;;AAKA,IAAIK,IAAYF,EAAWG,IAAIJ,EAAiB,CAACK;AACjDJ,EAAWK,IAAIN,SAAwB;CACrC,IAAMK,IAAQJ,EAAWG,IAAIJ,EAAiB,CAACK;AAC/C,CAAIA,MAAUF,MAAWA,IAAYE;EACrC;AAMF,IAAaE,KACXC,GACAC,MAC0B;CAC1B,IAAMI,UAAaV;AACnB,QAAOL,EAAqBU,GAAS;EAAE,GAAGC;EAASI;EAAM,CAAC;GAK/CE,KAAmCP,GAAAC,MAAA;CAAA,IAAAQ,IAAAC,EAAA,EAAA,EAM9CC,IAFcpB,GAAiB,CAAAM;AAWFI,CAAhBA,GAAOW,OAASX,GAAOY;CANzB,IAAAC,IAAAb,GAAOW,OACAG,IAAAd,GAAOY,cAAcG;AAAA,KAAAP,EAAA,OAAAT,KAAAS,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAAAL,EAAA,OAAAM,GAAA;EAFrC,IAAAE,IAAa;GAAAL,OACJE;GAAcD,cACPE;GACf;AAG0CN,EAFpCO,IAAAL,IACHrB,EAAqBU,GAASiB,EACS,GAAvC3B,EAAyBU,GAASiB,EAAK,EAAAR,EAAA,KAAAT,GAAAS,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO;OAAAA,KAAAP,EAAA;AAAA,QAF3CO"}
|
|
@@ -1,2 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* runs once after the event loop is empty (microtask timing);
|
|
3
|
+
* cancelled if cleanup called fast (in StrictMode where cleanup runs synchronously);
|
|
4
|
+
* in StrictMode: after cancellation, reruns immediately and now doesn't cancel;
|
|
5
|
+
* not in StrictMode: if was cancelled immediately, then that means func either changed or disappeared,
|
|
6
|
+
* but this won't happen because of microtask timing -- func will always manage to run in normal useEffect flow.
|
|
7
|
+
*
|
|
8
|
+
* This one has the best guarantees to avoid double runs in StrictMode
|
|
9
|
+
* and at the same time to run func in the second StrictMode useEffect run.
|
|
10
|
+
*/
|
|
1
11
|
export declare function useRunOnMount(func: () => void): void;
|
|
2
12
|
//# sourceMappingURL=useRunOnMount.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRunOnMount.d.ts","sourceRoot":"","sources":["../../../../src/core/screen/hooks/useRunOnMount.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"useRunOnMount.d.ts","sourceRoot":"","sources":["../../../../src/core/screen/hooks/useRunOnMount.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CAqBpD"}
|
|
@@ -4,7 +4,12 @@ import { useEffect as t, useRef as n } from "react";
|
|
|
4
4
|
function r(r) {
|
|
5
5
|
let i = e(3), a = n(!1), o, s;
|
|
6
6
|
i[0] === r ? (o = i[1], s = i[2]) : (o = () => {
|
|
7
|
-
|
|
7
|
+
let e = !1;
|
|
8
|
+
if (!a.current) return queueMicrotask(() => {
|
|
9
|
+
e || a.current || (r(), a.current = !0);
|
|
10
|
+
}), () => {
|
|
11
|
+
e = !0;
|
|
12
|
+
};
|
|
8
13
|
}, s = [r], i[0] = r, i[1] = o, i[2] = s), t(o, s);
|
|
9
14
|
}
|
|
10
15
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRunOnMount.js","names":["useEffect","useRef","useRunOnMount","func","$","_c","hasRunRef","t0","t1","current"],"sources":["../../../../src/core/screen/hooks/useRunOnMount.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nexport function useRunOnMount(func: () => void): void {\n const hasRunRef = useRef(false);\n
|
|
1
|
+
{"version":3,"file":"useRunOnMount.js","names":["useEffect","useRef","useRunOnMount","func","$","_c","hasRunRef","t0","t1","hasCleanedUp","current","queueMicrotask"],"sources":["../../../../src/core/screen/hooks/useRunOnMount.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\n/**\n * runs once after the event loop is empty (microtask timing);\n * cancelled if cleanup called fast (in StrictMode where cleanup runs synchronously);\n * in StrictMode: after cancellation, reruns immediately and now doesn't cancel;\n * not in StrictMode: if was cancelled immediately, then that means func either changed or disappeared,\n * but this won't happen because of microtask timing -- func will always manage to run in normal useEffect flow.\n *\n * This one has the best guarantees to avoid double runs in StrictMode\n * and at the same time to run func in the second StrictMode useEffect run.\n */\n\nexport function useRunOnMount(func: () => void): void {\n const hasRunRef = useRef(false);\n useEffect(() => {\n let hasCleanedUp = false;\n if (hasRunRef.current) {\n return;\n }\n // don't run immediately,\n // schedule a microtask queue task\n queueMicrotask(() => {\n if (hasCleanedUp || hasRunRef.current) return; // hasRunRef.current check avoid double run if queued twice back-to-back\n func();\n hasRunRef.current = true;\n });\n return () => {\n // if cleanup has run before the func has run, prevent the scheduled run.\n // this happens in StrictMode, where the cleanup runs before the microtask queue starts\n hasCleanedUp = true;\n // if cleanup hasn't run when the microtask queue starts, run normally\n };\n }, [func]);\n}\n"],"mappings":";;;AAaA,SAAOE,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACLC,IAAkBL,EAAO,GAAM,EAACM,GAAAC;AAChCR,CADgCI,EAAA,OAAAD,KAmBvBI,IAAAH,EAAA,IAAAI,IAAAJ,EAAA,OAlBCG,UAAA;EACR,IAAAE,IAAmB;AACfH,SAASI,QASX,QAJFC,qBAAe;AACTF,QAAgBH,EAASI,YAC7BP,GAAM,EACNG,EAASI,UAAW;IACpB,QACK;AAGLD,OAAeA;;IAGhBD,IAAA,CAACL,EAAK,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAG,GAAAH,EAAA,KAAAI,IAlBTR,EAAUO,GAkBPC,EAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configActionsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configActionsAtom.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"configActionsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configActionsAtom.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,eAAe,EAMrB,MAAM,cAAc,CAAC;AAStB,eAAO,MAAM,mBAAmB;;CA+C/B,CAAC;AAIF,eAAO,MAAM,gBAAgB;;CAqC3B,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { defaultSubConfig as e, defaultWidgetConfig as t, destChainsAtom as n, devURLsAtom as r, excludeUIAtom as i, partnerConfigAtom as a,
|
|
2
|
-
import { atom as
|
|
1
|
+
import { defaultSubConfig as e, defaultWidgetConfig as t, destChainsAtom as n, devURLsAtom as r, excludeUIAtom as i, partnerConfigAtom as a, referrerConfigAtom as o, srcChainsAtom as s, tokenListsAtom as c, tradeModesAtom as l, widgetConfigAtom as u } from "./configAtom.js";
|
|
2
|
+
import { atom as d } from "jotai";
|
|
3
3
|
//#region src/core/state/configActionsAtom.ts
|
|
4
|
-
var
|
|
4
|
+
var f = d(null, (e, n, r) => {
|
|
5
5
|
let i = typeof r.enableDelta == "boolean" ? r.enableDelta : t.enableDelta, a = typeof r.enableCrossChain == "boolean" ? r.enableCrossChain : t.enableCrossChain;
|
|
6
|
-
n(
|
|
6
|
+
n(u, {
|
|
7
7
|
theme: r.theme !== "dark" && r.theme !== "light" ? t.theme : r.theme,
|
|
8
8
|
enableDelta: i,
|
|
9
9
|
enableCrossChain: a,
|
|
@@ -13,11 +13,11 @@ var d = u(null, (e, n, r) => {
|
|
|
13
13
|
widgetMode: r.widgetMode !== "dapp" && r.widgetMode !== "standalone" ? t.widgetMode : r.widgetMode,
|
|
14
14
|
enableDegenMode: typeof r.enableDegenMode == "boolean" ? r.enableDegenMode : t.enableDegenMode
|
|
15
15
|
});
|
|
16
|
-
}),
|
|
17
|
-
let
|
|
18
|
-
|
|
16
|
+
}), p = d(null, (t, u, d) => {
|
|
17
|
+
let f = Array.isArray(d.srcChains) ? d.srcChains : e.srcChains, p = Array.isArray(d.destChains) ? d.destChains : e.destChains, m = Array.isArray(d.tokenLists) ? d.tokenLists : e.tokenLists, h = Array.isArray(d.tradeModes) ? d.tradeModes : e.tradeModes, g = Array.isArray(d.excludeUI) ? d.excludeUI : e.excludeUI, _ = typeof d.devURLs != "object" || d.devURLs === null ? e.devURLs : d.devURLs, v = typeof d.partnerConfig != "object" || d.partnerConfig === null ? e.partnerConfig : d.partnerConfig, y = typeof d.referrerConfig != "object" || d.referrerConfig === null ? e.referrerConfig : d.referrerConfig;
|
|
18
|
+
u(s, f), u(n, p), u(c, m), u(l, h), u(i, g), u(r, _), u(a, v), u(o, y);
|
|
19
19
|
});
|
|
20
20
|
//#endregion
|
|
21
|
-
export {
|
|
21
|
+
export { p as setSubConfigAtom, f as setWidgetConfigAtom };
|
|
22
22
|
|
|
23
23
|
//# sourceMappingURL=configActionsAtom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configActionsAtom.js","names":["atom","defaultWidgetConfig","defaultSubConfig","destChainsAtom","srcChainsAtom","tokenListsAtom","widgetConfigAtom","IterableConfig","PrimitiveConfig","tradeModesAtom","excludeUIAtom","devURLsAtom","partnerConfigAtom","setWidgetConfigAtom","_","set","config","enableDelta","enableCrossChain","theme","privyAppId","privyClientId","debug","widgetMode","enableDegenMode","setSubConfigAtom","srcChains","Array","isArray","destChains","tokenLists","tradeModes","excludeUI","devURLs","partnerConfig"],"sources":["../../../src/core/state/configActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport {\n defaultWidgetConfig,\n defaultSubConfig,\n destChainsAtom,\n srcChainsAtom,\n tokenListsAtom,\n widgetConfigAtom,\n type IterableConfig,\n type PrimitiveConfig,\n tradeModesAtom,\n excludeUIAtom,\n devURLsAtom,\n partnerConfigAtom,\n} from \"./configAtom\";\n\n// for each config/subConfig property, determine new value:\n// - if provided in config param is not valid, use default value\n// - otherwise, use provided value\n// this way we avoid overwriting with invalid values\n\n// this atom is used to sync widget config provided via props to the widgetConfigAtom without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setWidgetConfigAtom = atom(\n null,\n (_, set, config: PrimitiveConfig) => {\n const enableDelta =\n typeof config.enableDelta !== \"boolean\"\n ? defaultWidgetConfig.enableDelta\n : config.enableDelta;\n const enableCrossChain =\n typeof config.enableCrossChain !== \"boolean\"\n ? defaultWidgetConfig.enableCrossChain\n : config.enableCrossChain;\n const theme =\n config.theme !== \"dark\" && config.theme !== \"light\"\n ? defaultWidgetConfig.theme\n : config.theme;\n const privyAppId =\n typeof config.privyAppId !== \"string\"\n ? defaultWidgetConfig.privyAppId\n : config.privyAppId;\n const privyClientId =\n typeof config.privyClientId !== \"string\"\n ? defaultWidgetConfig.privyClientId\n : config.privyClientId;\n const debug =\n typeof config.debug !== \"boolean\"\n ? defaultWidgetConfig.debug\n : config.debug;\n const widgetMode =\n config.widgetMode !== \"dapp\" && config.widgetMode !== \"standalone\"\n ? defaultWidgetConfig.widgetMode\n : config.widgetMode;\n const enableDegenMode =\n typeof config.enableDegenMode !== \"boolean\"\n ? defaultWidgetConfig.enableDegenMode\n : config.enableDegenMode;\n\n set(widgetConfigAtom, {\n theme,\n enableDelta,\n enableCrossChain,\n privyAppId,\n privyClientId,\n debug,\n widgetMode,\n enableDegenMode,\n });\n }\n);\n\n// this atom is used to sync partial widget config values provided via props to their atoms without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setSubConfigAtom = atom(null, (_, set, config: IterableConfig) => {\n const srcChains = !Array.isArray(config.srcChains)\n ? defaultSubConfig.srcChains\n : config.srcChains;\n const destChains = !Array.isArray(config.destChains)\n ? defaultSubConfig.destChains\n : config.destChains;\n const tokenLists = !Array.isArray(config.tokenLists)\n ? defaultSubConfig.tokenLists\n : config.tokenLists;\n const tradeModes = !Array.isArray(config.tradeModes)\n ? defaultSubConfig.tradeModes\n : config.tradeModes;\n const excludeUI = !Array.isArray(config.excludeUI)\n ? defaultSubConfig.excludeUI\n : config.excludeUI;\n const devURLs =\n typeof config.devURLs !== \"object\" || config.devURLs === null\n ? defaultSubConfig.devURLs\n : config.devURLs;\n const partnerConfig =\n typeof config.partnerConfig !== \"object\" || config.partnerConfig === null\n ? defaultSubConfig.partnerConfig\n : config.partnerConfig;\n\n set(srcChainsAtom, srcChains);\n set(destChainsAtom, destChains);\n set(tokenListsAtom, tokenLists);\n set(tradeModesAtom, tradeModes);\n set(excludeUIAtom, excludeUI);\n set(devURLsAtom, devURLs);\n set(partnerConfigAtom, partnerConfig);\n});\n"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"configActionsAtom.js","names":["atom","defaultWidgetConfig","defaultSubConfig","destChainsAtom","srcChainsAtom","tokenListsAtom","widgetConfigAtom","IterableConfig","PrimitiveConfig","tradeModesAtom","excludeUIAtom","devURLsAtom","partnerConfigAtom","referrerConfigAtom","setWidgetConfigAtom","_","set","config","enableDelta","enableCrossChain","theme","privyAppId","privyClientId","debug","widgetMode","enableDegenMode","setSubConfigAtom","srcChains","Array","isArray","destChains","tokenLists","tradeModes","excludeUI","devURLs","partnerConfig","referrerConfig"],"sources":["../../../src/core/state/configActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport {\n defaultWidgetConfig,\n defaultSubConfig,\n destChainsAtom,\n srcChainsAtom,\n tokenListsAtom,\n widgetConfigAtom,\n type IterableConfig,\n type PrimitiveConfig,\n tradeModesAtom,\n excludeUIAtom,\n devURLsAtom,\n partnerConfigAtom,\n referrerConfigAtom,\n} from \"./configAtom\";\n\n// for each config/subConfig property, determine new value:\n// - if provided in config param is not valid, use default value\n// - otherwise, use provided value\n// this way we avoid overwriting with invalid values\n\n// this atom is used to sync widget config provided via props to the widgetConfigAtom without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setWidgetConfigAtom = atom(\n null,\n (_, set, config: PrimitiveConfig) => {\n const enableDelta =\n typeof config.enableDelta !== \"boolean\"\n ? defaultWidgetConfig.enableDelta\n : config.enableDelta;\n const enableCrossChain =\n typeof config.enableCrossChain !== \"boolean\"\n ? defaultWidgetConfig.enableCrossChain\n : config.enableCrossChain;\n const theme =\n config.theme !== \"dark\" && config.theme !== \"light\"\n ? defaultWidgetConfig.theme\n : config.theme;\n const privyAppId =\n typeof config.privyAppId !== \"string\"\n ? defaultWidgetConfig.privyAppId\n : config.privyAppId;\n const privyClientId =\n typeof config.privyClientId !== \"string\"\n ? defaultWidgetConfig.privyClientId\n : config.privyClientId;\n const debug =\n typeof config.debug !== \"boolean\"\n ? defaultWidgetConfig.debug\n : config.debug;\n const widgetMode =\n config.widgetMode !== \"dapp\" && config.widgetMode !== \"standalone\"\n ? defaultWidgetConfig.widgetMode\n : config.widgetMode;\n const enableDegenMode =\n typeof config.enableDegenMode !== \"boolean\"\n ? defaultWidgetConfig.enableDegenMode\n : config.enableDegenMode;\n\n set(widgetConfigAtom, {\n theme,\n enableDelta,\n enableCrossChain,\n privyAppId,\n privyClientId,\n debug,\n widgetMode,\n enableDegenMode,\n });\n }\n);\n\n// this atom is used to sync partial widget config values provided via props to their atoms without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setSubConfigAtom = atom(null, (_, set, config: IterableConfig) => {\n const srcChains = !Array.isArray(config.srcChains)\n ? defaultSubConfig.srcChains\n : config.srcChains;\n const destChains = !Array.isArray(config.destChains)\n ? defaultSubConfig.destChains\n : config.destChains;\n const tokenLists = !Array.isArray(config.tokenLists)\n ? defaultSubConfig.tokenLists\n : config.tokenLists;\n const tradeModes = !Array.isArray(config.tradeModes)\n ? defaultSubConfig.tradeModes\n : config.tradeModes;\n const excludeUI = !Array.isArray(config.excludeUI)\n ? defaultSubConfig.excludeUI\n : config.excludeUI;\n const devURLs =\n typeof config.devURLs !== \"object\" || config.devURLs === null\n ? defaultSubConfig.devURLs\n : config.devURLs;\n const partnerConfig =\n typeof config.partnerConfig !== \"object\" || config.partnerConfig === null\n ? defaultSubConfig.partnerConfig\n : config.partnerConfig;\n const referrerConfig =\n typeof config.referrerConfig !== \"object\" || config.referrerConfig === null\n ? defaultSubConfig.referrerConfig\n : config.referrerConfig;\n\n set(srcChainsAtom, srcChains);\n set(destChainsAtom, destChains);\n set(tokenListsAtom, tokenLists);\n set(tradeModesAtom, tradeModes);\n set(excludeUIAtom, excludeUI);\n set(devURLsAtom, devURLs);\n set(partnerConfigAtom, partnerConfig);\n set(referrerConfigAtom, referrerConfig);\n});\n"],"mappings":";;;AAwBA,IAAac,IAAsBd,EACjC,OACCe,GAAGC,GAAKC,MAA4B;CACnC,IAAMC,IACJ,OAAOD,EAAOC,eAAgB,YAE1BD,EAAOC,cADPjB,EAAoBiB,aAEpBC,IACJ,OAAOF,EAAOE,oBAAqB,YAE/BF,EAAOE,mBADPlB,EAAoBkB;AA2B1BH,GAAIV,GAAkB;EACpBc,OAzBAH,EAAOG,UAAU,UAAUH,EAAOG,UAAU,UACxCnB,EAAoBmB,QACpBH,EAAOG;EAwBXF;EACAC;EACAE,YAxBA,OAAOJ,EAAOI,cAAe,WAEzBJ,EAAOI,aADPpB,EAAoBoB;EAwBxBC,eArBA,OAAOL,EAAOK,iBAAkB,WAE5BL,EAAOK,gBADPrB,EAAoBqB;EAqBxBC,OAlBA,OAAON,EAAOM,SAAU,YAEpBN,EAAOM,QADPtB,EAAoBsB;EAkBxBC,YAfAP,EAAOO,eAAe,UAAUP,EAAOO,eAAe,eAClDvB,EAAoBuB,aACpBP,EAAOO;EAcXC,iBAZA,OAAOR,EAAOQ,mBAAoB,YAE9BR,EAAOQ,kBADPxB,EAAoBwB;EAYzB,CAAC;EAEL,EAIYC,IAAmB1B,EAAK,OAAOe,GAAGC,GAAKC,MAA2B;CAC7E,IAAMU,IAAaC,MAAMC,QAAQZ,EAAOU,UAAU,GAE9CV,EAAOU,YADPzB,EAAiByB,WAEfG,IAAcF,MAAMC,QAAQZ,EAAOa,WAAW,GAEhDb,EAAOa,aADP5B,EAAiB4B,YAEfC,IAAcH,MAAMC,QAAQZ,EAAOc,WAAW,GAEhDd,EAAOc,aADP7B,EAAiB6B,YAEfC,IAAcJ,MAAMC,QAAQZ,EAAOe,WAAW,GAEhDf,EAAOe,aADP9B,EAAiB8B,YAEfC,IAAaL,MAAMC,QAAQZ,EAAOgB,UAAU,GAE9ChB,EAAOgB,YADP/B,EAAiB+B,WAEfC,IACJ,OAAOjB,EAAOiB,WAAY,YAAYjB,EAAOiB,YAAY,OACrDhC,EAAiBgC,UACjBjB,EAAOiB,SACPC,IACJ,OAAOlB,EAAOkB,iBAAkB,YAAYlB,EAAOkB,kBAAkB,OACjEjC,EAAiBiC,gBACjBlB,EAAOkB,eACPC,IACJ,OAAOnB,EAAOmB,kBAAmB,YAAYnB,EAAOmB,mBAAmB,OACnElC,EAAiBkC,iBACjBnB,EAAOmB;AASbpB,CAPAA,EAAIZ,GAAeuB,EAAU,EAC7BX,EAAIb,GAAgB2B,EAAW,EAC/Bd,EAAIX,GAAgB0B,EAAW,EAC/Bf,EAAIP,GAAgBuB,EAAW,EAC/BhB,EAAIN,GAAeuB,EAAU,EAC7BjB,EAAIL,GAAauB,EAAQ,EACzBlB,EAAIJ,GAAmBuB,EAAc,EACrCnB,EAAIH,GAAoBuB,EAAe;EACvC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { WidgetElements, WidgetConfig, DevURLs, PartnerConfig } from '../types';
|
|
1
|
+
import { WidgetElements, WidgetConfig, DevURLs, PartnerConfig, ReferrerConfig } from '../types';
|
|
2
2
|
import { TradeMode } from './tradeModeAtom';
|
|
3
3
|
export type PrimitiveConfig = Pick<WidgetConfig, "theme" | "enableDelta" | "enableCrossChain" | "privyAppId" | "privyClientId" | "debug" | "widgetMode" | "enableDegenMode">;
|
|
4
|
-
export type IterableConfig = Pick<WidgetConfig, "srcChains" | "destChains" | "tokenLists" | "tradeModes" | "excludeUI" | "devURLs" | "partnerConfig">;
|
|
4
|
+
export type IterableConfig = Pick<WidgetConfig, "srcChains" | "destChains" | "tokenLists" | "tradeModes" | "excludeUI" | "devURLs" | "partnerConfig" | "referrerConfig">;
|
|
5
5
|
export declare const defaultWidgetConfig: {
|
|
6
6
|
readonly theme: "light" | "dark";
|
|
7
7
|
readonly enableDelta: true;
|
|
@@ -51,6 +51,7 @@ export declare const defaultSubConfig: {
|
|
|
51
51
|
readonly excludeUI: never[];
|
|
52
52
|
readonly devURLs: Record<string, never>;
|
|
53
53
|
readonly partnerConfig: Record<string, never>;
|
|
54
|
+
readonly referrerConfig: Record<string, never>;
|
|
54
55
|
};
|
|
55
56
|
export declare const tokenListsAtom: import('jotai').WritableAtom<string[], [string[]], void>;
|
|
56
57
|
export declare const srcChainsAtom: import('jotai').WritableAtom<(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 130)[], [(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 130)[]], void>;
|
|
@@ -59,4 +60,5 @@ export declare const tradeModesAtom: import('jotai').WritableAtom<TradeMode[], [
|
|
|
59
60
|
export declare const excludeUIAtom: import('jotai').WritableAtom<WidgetElements[], [WidgetElements[]], void>;
|
|
60
61
|
export declare const devURLsAtom: import('jotai').WritableAtom<DevURLs, [DevURLs], void>;
|
|
61
62
|
export declare const partnerConfigAtom: import('jotai').WritableAtom<PartnerConfig, [PartnerConfig], void>;
|
|
63
|
+
export declare const referrerConfigAtom: import('jotai').WritableAtom<ReferrerConfig, [ReferrerConfig], void>;
|
|
62
64
|
//# sourceMappingURL=configAtom.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,OAAO,EACP,aAAa,
|
|
1
|
+
{"version":3,"file":"configAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,OAAO,EACP,aAAa,EACb,cAAc,EACf,MAAM,UAAU,CAAC;AAMlB,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,YAAY,EACV,OAAO,GACP,aAAa,GACb,kBAAkB,GAClB,YAAY,GACZ,eAAe,GACf,OAAO,GACP,YAAY,GACZ,iBAAiB,CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,YAAY,EACV,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,SAAS,GACT,eAAe,GACf,gBAAgB,CACnB,CAAC;AAcF,eAAO,MAAM,mBAAmB;;;;;;;;;CASI,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;;;;;CAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;CASM,CAAC;AAIpC,eAAO,MAAM,cAAc,0DAG1B,CAAC;AACF,eAAO,MAAM,aAAa,0JAGzB,CAAC;AACF,eAAO,MAAM,cAAc,0JAG1B,CAAC;AAEF,eAAO,MAAM,cAAc,gEAG1B,CAAC;AAEF,eAAO,MAAM,aAAa,0EAGzB,CAAC;AAEF,eAAO,MAAM,WAAW,wDAIvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,oEAQ7B,CAAC;AAIF,eAAO,MAAM,kBAAkB,sEAG9B,CAAC"}
|
|
@@ -9,8 +9,8 @@ var c = {
|
|
|
9
9
|
theme: o(),
|
|
10
10
|
enableDelta: !0,
|
|
11
11
|
enableCrossChain: !0,
|
|
12
|
-
privyAppId:
|
|
13
|
-
privyClientId:
|
|
12
|
+
privyAppId: "cmb549ngz00omi90lifm9ifv5",
|
|
13
|
+
privyClientId: "client-WY6LzDz2oxeGCDsUEdenrY8z7Qf7WHMmUKVbxSXZ31RqT",
|
|
14
14
|
debug: !1,
|
|
15
15
|
widgetMode: "standalone",
|
|
16
16
|
enableDegenMode: !0
|
|
@@ -21,7 +21,8 @@ var c = {
|
|
|
21
21
|
tradeModes: t,
|
|
22
22
|
excludeUI: t,
|
|
23
23
|
devURLs: n,
|
|
24
|
-
partnerConfig: n
|
|
24
|
+
partnerConfig: n,
|
|
25
|
+
referrerConfig: n
|
|
25
26
|
}, f = r(d.tokenLists, a), p = r(d.srcChains, a), m = r(d.destChains, a), h = r(d.tradeModes, a), g = r(d.excludeUI, a), _ = r(d.devURLs, i([
|
|
26
27
|
"apiProxyURL",
|
|
27
28
|
"apiURL",
|
|
@@ -33,7 +34,9 @@ var c = {
|
|
|
33
34
|
"partnerTakesSurplus"
|
|
34
35
|
]));
|
|
35
36
|
v.debugLabel = "partnerConfigAtom";
|
|
37
|
+
var y = r(d.referrerConfig, i(["referrerAddress"]));
|
|
38
|
+
y.debugLabel = "referrerConfigAtom";
|
|
36
39
|
//#endregion
|
|
37
|
-
export { d as defaultSubConfig, c as defaultWidgetConfig, m as destChainsAtom, _ as devURLsAtom, g as excludeUIAtom, v as partnerConfigAtom, p as srcChainsAtom, f as tokenListsAtom, h as tradeModesAtom, u as useWidgetConfig, l as widgetConfigAtom };
|
|
40
|
+
export { d as defaultSubConfig, c as defaultWidgetConfig, m as destChainsAtom, _ as devURLsAtom, g as excludeUIAtom, v as partnerConfigAtom, y as referrerConfigAtom, p as srcChainsAtom, f as tokenListsAtom, h as tradeModesAtom, u as useWidgetConfig, l as widgetConfigAtom };
|
|
38
41
|
|
|
39
42
|
//# sourceMappingURL=configAtom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configAtom.js","names":["atom","useAtomValue","WidgetElements","WidgetConfig","DevURLs","PartnerConfig","MarkRequired","SupportedChainId","emptyArray","emptyObject","atomWithCompare","constructPropertiesEqual","unorderedShallowEqual","TradeMode","getDefaultTheme","PrimitiveConfig","Pick","IterableConfig","PrimitiveConfigState","defaultWidgetConfig","theme","enableDelta","enableCrossChain","privyAppId","import","meta","env","VITE_PRIVY_APP_ID","privyClientId","VITE_PRIVY_CLIENT_ID","debug","widgetMode","enableDegenMode","const","widgetConfigAtom","useWidgetConfig","defaultSubConfig","tokenLists","srcChains","destChains","tradeModes","excludeUI","devURLs","partnerConfig","tokenListsAtom","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom","devURLsAtom","partnerConfigAtom","debugLabel"],"sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n WidgetElements,\n WidgetConfig,\n DevURLs,\n PartnerConfig,\n} from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray, emptyObject } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { constructPropertiesEqual, unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"enableDegenMode\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n | \"srcChains\"\n | \"destChains\"\n | \"tokenLists\"\n | \"tradeModes\"\n | \"excludeUI\"\n | \"devURLs\"\n | \"partnerConfig\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"enableDegenMode\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n enableDegenMode: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n excludeUI: emptyArray,\n devURLs: emptyObject,\n partnerConfig: emptyObject,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n\nexport const excludeUIAtom = atomWithCompare<WidgetElements[]>(\n defaultSubConfig.excludeUI,\n unorderedShallowEqual\n);\n\nexport const devURLsAtom = atomWithCompare<DevURLs>(\n defaultSubConfig.devURLs,\n // known properties only comparison\n constructPropertiesEqual([\"apiProxyURL\", \"apiURL\", \"explorerURL\"])\n);\n\nexport const partnerConfigAtom = atomWithCompare<PartnerConfig>(\n defaultSubConfig.partnerConfig,\n constructPropertiesEqual([\n \"partner\",\n \"partnerAddress\",\n \"partnerFeeBps\",\n \"partnerTakesSurplus\",\n ])\n);\n\npartnerConfigAtom.debugLabel = \"partnerConfigAtom\";\n"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"configAtom.js","names":["atom","useAtomValue","WidgetElements","WidgetConfig","DevURLs","PartnerConfig","ReferrerConfig","MarkRequired","SupportedChainId","emptyArray","emptyObject","atomWithCompare","constructPropertiesEqual","unorderedShallowEqual","TradeMode","getDefaultTheme","PrimitiveConfig","Pick","IterableConfig","PrimitiveConfigState","defaultWidgetConfig","theme","enableDelta","enableCrossChain","privyAppId","import","meta","env","VITE_PRIVY_APP_ID","privyClientId","VITE_PRIVY_CLIENT_ID","debug","widgetMode","enableDegenMode","const","widgetConfigAtom","useWidgetConfig","defaultSubConfig","tokenLists","srcChains","destChains","tradeModes","excludeUI","devURLs","partnerConfig","referrerConfig","tokenListsAtom","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom","devURLsAtom","partnerConfigAtom","debugLabel","referrerConfigAtom"],"sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n WidgetElements,\n WidgetConfig,\n DevURLs,\n PartnerConfig,\n ReferrerConfig,\n} from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray, emptyObject } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { constructPropertiesEqual, unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"enableDegenMode\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n | \"srcChains\"\n | \"destChains\"\n | \"tokenLists\"\n | \"tradeModes\"\n | \"excludeUI\"\n | \"devURLs\"\n | \"partnerConfig\"\n | \"referrerConfig\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"enableDegenMode\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n enableDegenMode: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n excludeUI: emptyArray,\n devURLs: emptyObject,\n partnerConfig: emptyObject,\n referrerConfig: emptyObject,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n\nexport const excludeUIAtom = atomWithCompare<WidgetElements[]>(\n defaultSubConfig.excludeUI,\n unorderedShallowEqual\n);\n\nexport const devURLsAtom = atomWithCompare<DevURLs>(\n defaultSubConfig.devURLs,\n // known properties only comparison\n constructPropertiesEqual([\"apiProxyURL\", \"apiURL\", \"explorerURL\"])\n);\n\nexport const partnerConfigAtom = atomWithCompare<PartnerConfig>(\n defaultSubConfig.partnerConfig,\n constructPropertiesEqual([\n \"partner\",\n \"partnerAddress\",\n \"partnerFeeBps\",\n \"partnerTakesSurplus\",\n ])\n);\n\npartnerConfigAtom.debugLabel = \"partnerConfigAtom\";\n\nexport const referrerConfigAtom = atomWithCompare<ReferrerConfig>(\n defaultSubConfig.referrerConfig,\n constructPropertiesEqual([\"referrerAddress\"])\n);\n\nreferrerConfigAtom.debugLabel = \"referrerConfigAtom\";\n"],"mappings":";;;;;;;AAqDA,IAAaoB,IAAsB;CACjCC,OAAON,GAAiB;CACxBO,aAAa;CACbC,kBAAkB;CAClBC,YAAAA;CACAK,eAAAA;CACAE,OAAO;CACPC,YAAY;CACZC,iBAAiB;CAClB,EAEYE,IAAmBnC,EAA2BoB,EAAoB,EAElEgB,UACJnC,EAAakC,EAAiB,EAG1BE,IAAmB;CAC9BC,YAAY7B;CACZ8B,WAAW9B;CACX+B,YAAY/B;CACZgC,YAAYhC;CACZiC,WAAWjC;CACXkC,SAASjC;CACTkC,eAAelC;CACfmC,gBAAgBnC;CACjB,EAIYoC,IAAiBnC,EAC5B0B,EAAiBC,YACjBzB,EACD,EACYkC,IAAgBpC,EAC3B0B,EAAiBE,WACjB1B,EACD,EACYmC,IAAiBrC,EAC5B0B,EAAiBG,YACjB3B,EACD,EAEYoC,IAAiBtC,EAC5B0B,EAAiBI,YACjB5B,EACD,EAEYqC,IAAgBvC,EAC3B0B,EAAiBK,WACjB7B,EACD,EAEYsC,IAAcxC,EACzB0B,EAAiBM,SAEjB/B,EAAyB;CAAC;CAAe;CAAU;CAAc,CACnE,CAAC,EAEYwC,IAAoBzC,EAC/B0B,EAAiBO,eACjBhC,EAAyB;CACvB;CACA;CACA;CACA;CACD,CACH,CAAC;AAEDwC,EAAkBC,aAAa;AAE/B,IAAaC,IAAqB3C,EAChC0B,EAAiBQ,gBACjBjC,EAAyB,CAAC,kBAAkB,CAC9C,CAAC;AAED0C,EAAmBD,aAAa"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validatedReferrerConfigAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/validatedReferrerConfigAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,eAAO,MAAM,2BAA2B,sCAStC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { referrerConfigAtom as e } from "./configAtom.js";
|
|
2
|
+
import { atom as t } from "jotai";
|
|
3
|
+
import { isAddress as n } from "viem";
|
|
4
|
+
//#region src/core/state/validatedReferrerConfigAtom.ts
|
|
5
|
+
var r = t((t) => {
|
|
6
|
+
let { referrerAddress: r } = t(e);
|
|
7
|
+
return { referrerAddress: r && n(r) ? r : void 0 };
|
|
8
|
+
});
|
|
9
|
+
//#endregion
|
|
10
|
+
export { r as validatedReferrerConfigAtom };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=validatedReferrerConfigAtom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validatedReferrerConfigAtom.js","names":["atom","referrerConfigAtom","ReferrerConfig","isAddress","validatedReferrerConfigAtom","get","referrerAddress","undefined"],"sources":["../../../src/core/state/validatedReferrerConfigAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { referrerConfigAtom } from \"./configAtom\";\nimport type { ReferrerConfig } from \"../types\";\nimport { isAddress } from \"viem\";\n\nexport const validatedReferrerConfigAtom = atom<ReferrerConfig>((get) => {\n const { referrerAddress } = get(referrerConfigAtom);\n\n return {\n referrerAddress:\n referrerAddress && isAddress(referrerAddress)\n ? referrerAddress\n : undefined,\n };\n});\n"],"mappings":";;;;AAKA,IAAaI,IAA8BJ,GAAsBK,MAAQ;CACvE,IAAM,EAAEC,uBAAoBD,EAAIJ,EAAmB;AAEnD,QAAO,EACLK,iBACEA,KAAmBH,EAAUG,EAAgB,GACzCA,IACAC,KAAAA,GACP;EACD"}
|