@velora-dex/widget 0.7.1 → 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.
Files changed (40) hide show
  1. package/dist/components/ui/drawer.js +1 -1
  2. package/dist/core/index.d.ts.map +1 -1
  3. package/dist/core/index.js +133 -130
  4. package/dist/core/index.js.map +1 -1
  5. package/dist/core/state/configActionsAtom.d.ts.map +1 -1
  6. package/dist/core/state/configActionsAtom.js +8 -8
  7. package/dist/core/state/configActionsAtom.js.map +1 -1
  8. package/dist/core/state/configAtom.d.ts +4 -2
  9. package/dist/core/state/configAtom.d.ts.map +1 -1
  10. package/dist/core/state/configAtom.js +7 -4
  11. package/dist/core/state/configAtom.js.map +1 -1
  12. package/dist/core/state/validatedReferrerConfigAtom.d.ts +3 -0
  13. package/dist/core/state/validatedReferrerConfigAtom.d.ts.map +1 -0
  14. package/dist/core/state/validatedReferrerConfigAtom.js +12 -0
  15. package/dist/core/state/validatedReferrerConfigAtom.js.map +1 -0
  16. package/dist/core/types.d.ts +6 -0
  17. package/dist/core/types.d.ts.map +1 -1
  18. package/dist/external/.pnpm/{vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1 → vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d}/external/vaul/dist/index.js +1 -1
  19. package/dist/external/.pnpm/{vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1 → vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d}/external/vaul/dist/index.js.map +1 -1
  20. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  21. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +203 -201
  22. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  23. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  24. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +85 -82
  25. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  26. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  27. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +156 -154
  28. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  29. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
  30. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +230 -228
  31. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  32. package/dist/hooks/useReferrer.d.ts +2 -0
  33. package/dist/hooks/useReferrer.d.ts.map +1 -0
  34. package/dist/hooks/useReferrer.js +8 -0
  35. package/dist/hooks/useReferrer.js.map +1 -0
  36. package/dist/lib/web3/privy/config.js +1 -1
  37. package/dist/lib/web3/privy/config.js.map +1 -1
  38. package/dist/lib/web3/wagmi/config.js +1 -1
  39. package/dist/lib/web3/wagmi/config.js.map +1 -1
  40. package/package.json +1 -1
@@ -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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"}
@@ -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,EAKrB,MAAM,cAAc,CAAC;AAStB,eAAO,MAAM,mBAAmB;;CA+C/B,CAAC;AAIF,eAAO,MAAM,gBAAgB;;CAgC3B,CAAC"}
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, srcChainsAtom as o, tokenListsAtom as s, tradeModesAtom as c, widgetConfigAtom as l } from "./configAtom.js";
2
- import { atom as u } from "jotai";
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 d = u(null, (e, n, r) => {
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(l, {
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
- }), f = u(null, (t, l, u) => {
17
- let d = Array.isArray(u.srcChains) ? u.srcChains : e.srcChains, f = Array.isArray(u.destChains) ? u.destChains : e.destChains, p = Array.isArray(u.tokenLists) ? u.tokenLists : e.tokenLists, m = Array.isArray(u.tradeModes) ? u.tradeModes : e.tradeModes, h = Array.isArray(u.excludeUI) ? u.excludeUI : e.excludeUI, g = typeof u.devURLs != "object" || u.devURLs === null ? e.devURLs : u.devURLs, _ = typeof u.partnerConfig != "object" || u.partnerConfig === null ? e.partnerConfig : u.partnerConfig;
18
- l(o, d), l(n, f), l(s, p), l(c, m), l(i, h), l(r, g), l(a, _);
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 { f as setSubConfigAtom, d as setWidgetConfigAtom };
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":";;;AAuBA,IAAaa,IAAsBb,EACjC,OACCc,GAAGC,GAAKC,MAA4B;CACnC,IAAMC,IACJ,OAAOD,EAAOC,eAAgB,YAE1BD,EAAOC,cADPhB,EAAoBgB,aAEpBC,IACJ,OAAOF,EAAOE,oBAAqB,YAE/BF,EAAOE,mBADPjB,EAAoBiB;AA2B1BH,GAAIT,GAAkB;EACpBa,OAzBAH,EAAOG,UAAU,UAAUH,EAAOG,UAAU,UACxClB,EAAoBkB,QACpBH,EAAOG;EAwBXF;EACAC;EACAE,YAxBA,OAAOJ,EAAOI,cAAe,WAEzBJ,EAAOI,aADPnB,EAAoBmB;EAwBxBC,eArBA,OAAOL,EAAOK,iBAAkB,WAE5BL,EAAOK,gBADPpB,EAAoBoB;EAqBxBC,OAlBA,OAAON,EAAOM,SAAU,YAEpBN,EAAOM,QADPrB,EAAoBqB;EAkBxBC,YAfAP,EAAOO,eAAe,UAAUP,EAAOO,eAAe,eAClDtB,EAAoBsB,aACpBP,EAAOO;EAcXC,iBAZA,OAAOR,EAAOQ,mBAAoB,YAE9BR,EAAOQ,kBADPvB,EAAoBuB;EAYzB,CAAC;EAEL,EAIYC,IAAmBzB,EAAK,OAAOc,GAAGC,GAAKC,MAA2B;CAC7E,IAAMU,IAAaC,MAAMC,QAAQZ,EAAOU,UAAU,GAE9CV,EAAOU,YADPxB,EAAiBwB,WAEfG,IAAcF,MAAMC,QAAQZ,EAAOa,WAAW,GAEhDb,EAAOa,aADP3B,EAAiB2B,YAEfC,IAAcH,MAAMC,QAAQZ,EAAOc,WAAW,GAEhDd,EAAOc,aADP5B,EAAiB4B,YAEfC,IAAcJ,MAAMC,QAAQZ,EAAOe,WAAW,GAEhDf,EAAOe,aADP7B,EAAiB6B,YAEfC,IAAaL,MAAMC,QAAQZ,EAAOgB,UAAU,GAE9ChB,EAAOgB,YADP9B,EAAiB8B,WAEfC,IACJ,OAAOjB,EAAOiB,WAAY,YAAYjB,EAAOiB,YAAY,OACrD/B,EAAiB+B,UACjBjB,EAAOiB,SACPC,IACJ,OAAOlB,EAAOkB,iBAAkB,YAAYlB,EAAOkB,kBAAkB,OACjEhC,EAAiBgC,gBACjBlB,EAAOkB;AAQbnB,CANAA,EAAIX,GAAesB,EAAU,EAC7BX,EAAIZ,GAAgB0B,EAAW,EAC/Bd,EAAIV,GAAgByB,EAAW,EAC/Bf,EAAIN,GAAgBsB,EAAW,EAC/BhB,EAAIL,GAAesB,EAAU,EAC7BjB,EAAIJ,GAAasB,EAAQ,EACzBlB,EAAIH,GAAmBsB,EAAc;EACrC"}
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,EACd,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,CAClB,CAAC;AAcF,eAAO,MAAM,mBAAmB;;;;;;;;;CASI,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;;;;;CAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;CAQM,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"}
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: void 0,
13
- privyClientId: void 0,
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":";;;;;;;AAmDA,IAAamB,IAAsB;CACjCC,OAAON,GAAiB;CACxBO,aAAa;CACbC,kBAAkB;CAClBC,YAAAA,KAAAA;CACAK,eAAAA,KAAAA;CACAE,OAAO;CACPC,YAAY;CACZC,iBAAiB;CAClB,EAEYE,IAAmBlC,EAA2BmB,EAAoB,EAElEgB,UACJlC,EAAaiC,EAAiB,EAG1BE,IAAmB;CAC9BC,YAAY7B;CACZ8B,WAAW9B;CACX+B,YAAY/B;CACZgC,YAAYhC;CACZiC,WAAWjC;CACXkC,SAASjC;CACTkC,eAAelC;CAChB,EAIYmC,IAAiBlC,EAC5B0B,EAAiBC,YACjBzB,EACD,EACYiC,IAAgBnC,EAC3B0B,EAAiBE,WACjB1B,EACD,EACYkC,IAAiBpC,EAC5B0B,EAAiBG,YACjB3B,EACD,EAEYmC,IAAiBrC,EAC5B0B,EAAiBI,YACjB5B,EACD,EAEYoC,IAAgBtC,EAC3B0B,EAAiBK,WACjB7B,EACD,EAEYqC,IAAcvC,EACzB0B,EAAiBM,SAEjB/B,EAAyB;CAAC;CAAe;CAAU;CAAc,CACnE,CAAC,EAEYuC,IAAoBxC,EAC/B0B,EAAiBO,eACjBhC,EAAyB;CACvB;CACA;CACA;CACA;CACD,CACH,CAAC;AAEDuC,EAAkBC,aAAa"}
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,3 @@
1
+ import { ReferrerConfig } from '../types';
2
+ export declare const validatedReferrerConfigAtom: import('jotai').Atom<ReferrerConfig>;
3
+ //# sourceMappingURL=validatedReferrerConfigAtom.d.ts.map
@@ -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"}
@@ -22,6 +22,8 @@ export interface WidgetConfig {
22
22
  enableCrossChain?: boolean;
23
23
  /** Partner configuration for revenue sharing. */
24
24
  partnerConfig?: PartnerConfig;
25
+ /** Referrer configuration for revenue sharing. */
26
+ referrerConfig?: ReferrerConfig;
25
27
  /** Privy app ID. Required for Privy integration. */
26
28
  privyAppId?: string;
27
29
  /** Privy client ID. Won't take effect if `privyAppId` is not provided. */
@@ -59,6 +61,10 @@ export type PartnerConfig = {
59
61
  /** Partner fee in basis points (bps) for revenue sharing. Defaults to 0, max is 200 (2%). Partners can receive either fee or surplus. If both provided, `partnerFeeBps` takes precedence. */
60
62
  partnerFeeBps?: number;
61
63
  };
64
+ export type ReferrerConfig = {
65
+ /** Referrer wallet address for revenue sharing */
66
+ referrerAddress?: string;
67
+ };
62
68
  interface RequestArguments {
63
69
  readonly method: any;
64
70
  readonly params?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,mBAAmB,GAAG,WAAW,CAAC;AAE9E,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iDAAiD;IACjD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kDAAkD;IAClD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,2FAA2F;IAC3F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,uGAAuG;IACvG,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,4GAA4G;IAC5G,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,6GAA6G;IAC7G,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+JAA+J;IAC/J,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mLAAmL;IACnL,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6LAA6L;IAC7L,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAGF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;CACvB;AAOD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;CACxE,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import * as e from "react";
3
3
  import t, { useEffect as n, useLayoutEffect as r, useMemo as i } from "react";
4
4
  import * as a from "@radix-ui/react-dialog";
5
- //#region ../../node_modules/.pnpm/vaul@1.1.2_patch_hash=07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1/node_modules/vaul/dist/index.mjs
5
+ //#region ../../node_modules/.pnpm/vaul@1.1.2_patch_hash=07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d/node_modules/vaul/dist/index.mjs
6
6
  function o(e) {
7
7
  if (!e || typeof document > "u") return;
8
8
  let t = document.head || document.getElementsByTagName("head")[0], n = document.createElement("style");