@velora-dex/widget 0.4.14-dev.1 → 0.4.14-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +29 -24
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js +8 -4
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.js +3 -3
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.d.ts +1 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.js +5 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/twap/state/twapReceiverAddressAtom.d.ts +5 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.d.ts.map +1 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.js +10 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.js.map +1 -0
- package/dist/core/twap/useTwapTokenSwitcherProps.d.ts.map +1 -1
- package/dist/core/twap/useTwapTokenSwitcherProps.js +2 -1
- package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -1
- package/dist/events/effects/formInput.d.ts +3 -0
- package/dist/events/effects/formInput.d.ts.map +1 -1
- package/dist/events/effects/formInput.js +17 -1
- package/dist/events/effects/formInput.js.map +1 -1
- package/dist/events/getters/twap.d.ts +6 -0
- package/dist/events/getters/twap.d.ts.map +1 -0
- package/dist/events/getters/twap.js +65 -0
- package/dist/events/getters/twap.js.map +1 -0
- package/dist/events/getters/widgetState.d.ts.map +1 -1
- package/dist/events/getters/widgetState.js +3 -1
- package/dist/events/getters/widgetState.js.map +1 -1
- package/dist/events/hooks/useActivateEffects.d.ts.map +1 -1
- package/dist/events/hooks/useActivateEffects.js +2 -1
- package/dist/events/hooks/useActivateEffects.js.map +1 -1
- package/dist/events/types/common.d.ts +6 -0
- package/dist/events/types/common.d.ts.map +1 -1
- package/dist/events/types/formInput.d.ts +11 -2
- package/dist/events/types/formInput.d.ts.map +1 -1
- package/dist/events/types/twap.d.ts +2 -2
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js +2 -2
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/tokens/defaultTokens.d.ts.map +1 -1
- package/dist/tokens/defaultTokens.js +4 -1
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/package.json +1 -1
|
@@ -125,7 +125,7 @@ const networkSwitcherListClasses = {
|
|
|
125
125
|
root: "rounded-r-xxl"
|
|
126
126
|
};
|
|
127
127
|
const SelectTokenFromContent = (t0) => {
|
|
128
|
-
const $ = distExports.c(
|
|
128
|
+
const $ = distExports.c(47);
|
|
129
129
|
const {
|
|
130
130
|
onClose,
|
|
131
131
|
onSelect: _onSelect,
|
|
@@ -142,6 +142,9 @@ const SelectTokenFromContent = (t0) => {
|
|
|
142
142
|
isOverMd
|
|
143
143
|
} = useBreakpoints();
|
|
144
144
|
const showNetworksSidebar = isOverMd && hasMultipleChains;
|
|
145
|
+
const tradeMode = useTradeMode();
|
|
146
|
+
const isTwap = tradeMode === "twap";
|
|
147
|
+
const includeNativeTokenInList = !isTwap;
|
|
145
148
|
let t1;
|
|
146
149
|
let t2;
|
|
147
150
|
if ($[0] !== appChainId) {
|
|
@@ -281,40 +284,42 @@ const SelectTokenFromContent = (t0) => {
|
|
|
281
284
|
t12 = $[30];
|
|
282
285
|
}
|
|
283
286
|
let t13;
|
|
284
|
-
if ($[31] !==
|
|
285
|
-
t13 = /* @__PURE__ */ jsx(TokenCloud, { onSelectToken: onSelect, forcedChainId: selectedChainId, showNetworkIcon: true });
|
|
286
|
-
$[31] =
|
|
287
|
-
$[32] =
|
|
288
|
-
$[33] =
|
|
287
|
+
if ($[31] !== includeNativeTokenInList || $[32] !== onSelect || $[33] !== selectedChainId) {
|
|
288
|
+
t13 = /* @__PURE__ */ jsx(TokenCloud, { onSelectToken: onSelect, forcedChainId: selectedChainId, showNetworkIcon: true, withETH: includeNativeTokenInList });
|
|
289
|
+
$[31] = includeNativeTokenInList;
|
|
290
|
+
$[32] = onSelect;
|
|
291
|
+
$[33] = selectedChainId;
|
|
292
|
+
$[34] = t13;
|
|
289
293
|
} else {
|
|
290
|
-
t13 = $[
|
|
294
|
+
t13 = $[34];
|
|
291
295
|
}
|
|
292
296
|
let t14;
|
|
293
|
-
if ($[
|
|
294
|
-
t14 = /* @__PURE__ */ jsx(RegularTokenList, { tokenFilter: effectiveInputValue, onSelectToken, forcedChainId: selectedChainId, className: "flex-1" });
|
|
295
|
-
$[
|
|
296
|
-
$[
|
|
297
|
-
$[
|
|
298
|
-
$[
|
|
297
|
+
if ($[35] !== effectiveInputValue || $[36] !== includeNativeTokenInList || $[37] !== onSelectToken || $[38] !== selectedChainId) {
|
|
298
|
+
t14 = /* @__PURE__ */ jsx(RegularTokenList, { tokenFilter: effectiveInputValue, onSelectToken, forcedChainId: selectedChainId, className: "flex-1", withETH: includeNativeTokenInList });
|
|
299
|
+
$[35] = effectiveInputValue;
|
|
300
|
+
$[36] = includeNativeTokenInList;
|
|
301
|
+
$[37] = onSelectToken;
|
|
302
|
+
$[38] = selectedChainId;
|
|
303
|
+
$[39] = t14;
|
|
299
304
|
} else {
|
|
300
|
-
t14 = $[
|
|
305
|
+
t14 = $[39];
|
|
301
306
|
}
|
|
302
307
|
let t15;
|
|
303
|
-
if ($[
|
|
308
|
+
if ($[40] !== headerProps || $[41] !== showNetworksSidebar || $[42] !== t12 || $[43] !== t13 || $[44] !== t14 || $[45] !== t8) {
|
|
304
309
|
t15 = /* @__PURE__ */ jsxs(SelectTokenLayout, { showNetworksSidebar, headerProps, networkSwitcherListProps: t8, children: [
|
|
305
310
|
t12,
|
|
306
311
|
t13,
|
|
307
312
|
t14
|
|
308
313
|
] });
|
|
309
|
-
$[
|
|
310
|
-
$[
|
|
311
|
-
$[
|
|
312
|
-
$[
|
|
313
|
-
$[
|
|
314
|
-
$[
|
|
315
|
-
$[
|
|
316
|
-
} else {
|
|
317
|
-
t15 = $[
|
|
314
|
+
$[40] = headerProps;
|
|
315
|
+
$[41] = showNetworksSidebar;
|
|
316
|
+
$[42] = t12;
|
|
317
|
+
$[43] = t13;
|
|
318
|
+
$[44] = t14;
|
|
319
|
+
$[45] = t8;
|
|
320
|
+
$[46] = t15;
|
|
321
|
+
} else {
|
|
322
|
+
t15 = $[46];
|
|
318
323
|
}
|
|
319
324
|
return t15;
|
|
320
325
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTokenDialog.js","sources":["../../../../../src/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.tsx"],"sourcesContent":["import type { SelectTokenDialogProps } from \"./types\";\nimport {\n RegularTokenList,\n type RegularTokenListProps,\n} from \"./TokenListBody/RegularTokenList\";\nimport { AcrossTokenLists } from \"./TokenListBody/AcrossTokenList\";\nimport { TokenSearch } from \"./TokenSearch\";\nimport { useDeferredInputState } from \"@/hooks/useDebouncedInputState\";\nimport { useEffect, useState, type PropsWithChildren } from \"react\";\nimport { useChainId } from \"wagmi\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n useLimitChainTo,\n useSwapChainTo,\n useTwapChainTo,\n} from \"@/core/state/chainToAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TokenCloud } from \"./TokenListBody/TokenCloud\";\nimport { useTradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { UseImportTokenDrawerReturn } from \"../../ImportToken/types\";\nimport { assertProp, cn } from \"@/lib/utils\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport {\n GenericScreen,\n GenericScreenHeader,\n type GenericScreenHeaderProps,\n} from \"../../Screen/GenericScreen\";\nimport { useImportTokenDrawer } from \"../../ImportToken/useImportTokenDrawer\";\nimport { useBreakpoints } from \"@/hooks/useBreakpoints\";\nimport { NetworkSwitcherList } from \"../../NetworkSwitcher/NetworkSwitcherList\";\nimport type { Prettify } from \"ts-essentials\";\nimport type {\n ArbitraryNetworkSwitcherProps,\n NetworkSwitcherListProps,\n} from \"../../NetworkSwitcher/types\";\n\nexport type SelectTokenScreenProps = Prettify<\n Pick<\n SelectTokenProps,\n \"onClose\" | \"onSelect\" | \"selectableChains\" | \"tokenType\"\n > & {\n drawerContainer?: HTMLElement | null;\n }\n>;\n\nconst headerClasses = {\n root: \"px-4 pt-5 pb-4\",\n title: \"text-[16px]\",\n} as const;\n\nexport const SelectTokenScreen = ({\n drawerContainer,\n ...props\n}: SelectTokenScreenProps) => {\n const { onOpenImportTokenDrawer, importTokenDrawer } = useImportTokenDrawer({\n drawerContainer,\n tokenType: props.tokenType,\n onImported: props.onClose,\n });\n\n const headerProps: GenericScreenHeaderProps = {\n title: \"Select Token\",\n showBackButton: true,\n onGoBack: props.onClose,\n classes: headerClasses,\n };\n\n return (\n <GenericScreen>\n <SelectTokenContent\n {...props}\n headerProps={headerProps}\n onSelectImportToken={onOpenImportTokenDrawer}\n />\n {importTokenDrawer}\n </GenericScreen>\n );\n};\n\ntype SelectTokenProps = SelectTokenDialogProps & SelectTokenContentProps;\n\nconst SelectTokenContent = ({\n tokenType,\n ...tokenContentProps\n}: SelectTokenProps) => {\n const SelectTokenContentComp =\n tokenType === \"from\" ? SelectTokenFromContent : SelectTokenToContent;\n\n return <SelectTokenContentComp {...tokenContentProps} />;\n};\n\ntype SelectTokenContentProps = {\n onSelectImportToken: UseImportTokenDrawerReturn[\"onOpenImportTokenDrawer\"];\n onClose?: () => void;\n onSelect?: (token: Token) => void;\n selectableChains?: SupportedChainId[];\n headerProps: GenericScreenHeaderProps;\n};\n\nconst networkSwitcherListClasses = {\n root: \"rounded-r-xxl\",\n} as const;\n\nconst SelectTokenFromContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n headerProps,\n}: SelectTokenContentProps) => {\n const appChainId = useChainId();\n\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(appChainId);\n\n const enabledSrcChains = useEnabledSrcChains();\n const selectableChains = _selectableChains ?? enabledSrcChains;\n const hasMultipleChains = selectableChains.length > 1;\n\n const { isOverMd } = useBreakpoints();\n const showNetworksSidebar = isOverMd && hasMultipleChains;\n\n useEffect(() => {\n // keep selectedChainId in sync with appChainId\n setSelectedChainId(appChainId);\n }, [appChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-from\" });\n } else {\n onSelect(token);\n }\n };\n\n const networkSwitcherProps: ArbitraryNetworkSwitcherProps = {\n onSelect: (chainId) => chainId !== \"all\" && setSelectedChainId(chainId),\n selectedNetwork: selectedChainId,\n networks: selectableChains,\n showCheckIcon: !showNetworksSidebar,\n };\n\n return (\n <SelectTokenLayout\n showNetworksSidebar={showNetworksSidebar}\n headerProps={headerProps}\n networkSwitcherListProps={\n showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n classes: networkSwitcherListClasses,\n }\n : undefined\n }\n >\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={\n !showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n dropdownProps: { align: \"end\" },\n disabled: !hasMultipleChains,\n }\n : undefined\n }\n classes={{\n input: cn({\n \"pr-[42px] h-[40px] dark:bg-contrast-2\": showNetworksSidebar,\n }),\n }}\n />\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n />\n </SelectTokenLayout>\n );\n};\n\nconst SelectTokenToContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n headerProps,\n}: SelectTokenContentProps) => {\n const tradeMode = useTradeMode();\n const isSwap = tradeMode === \"swap\";\n const isLimit = tradeMode === \"limit\";\n const isOTC = tradeMode === \"otc\";\n const isTwap = tradeMode === \"twap\";\n\n // types also expect \"otc\" here,\n // but only \"swap\", \"limit\" and \"twap\" are actually possible for across mode\n const acrossMode = isLimit ? \"limit\" : \"swap\";\n\n const modeSupportsCrosschain = isSwap || isLimit || isTwap;\n\n // otc doesn't support destToken=ETH\n const includeNativeTokenInList = !isOTC;\n\n const appChainId = useChainId();\n const swapChainTo = useSwapChainTo();\n const limitChainTo = useLimitChainTo();\n const twapChainTo = useTwapChainTo();\n\n let initialChainId = appChainId;\n if (isSwap && swapChainTo) {\n initialChainId = swapChainTo;\n } else if (isLimit && limitChainTo) {\n initialChainId = limitChainTo;\n } else if (isTwap && twapChainTo) {\n initialChainId = twapChainTo;\n }\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(initialChainId);\n\n const enabledDestChains = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n }).selectableChains;\n const selectableChains = _selectableChains ?? enabledDestChains;\n const hasMultipleChains = selectableChains.length > 1;\n\n const { isOverMd } = useBreakpoints();\n\n const chainSwitchingDisabled = !modeSupportsCrosschain || !hasMultipleChains;\n const showNetworksSidebar = isOverMd && !chainSwitchingDisabled;\n\n const isChainSelectable = (chainId: SupportedChainId) =>\n selectableChains?.includes(chainId) ?? false;\n\n // keep track if selectedChainId is still selectable\n // - if yes, keep it and don't change\n // - if not, try to set to appChainId\n // - else set to first selectable chain\n const chainToSet = isChainSelectable(selectedChainId)\n ? selectedChainId\n : isChainSelectable(appChainId)\n ? appChainId\n : selectableChains[0];\n const shouldSetChainId = chainToSet !== selectedChainId;\n\n useEffect(() => {\n if (!shouldSetChainId) return;\n\n if (chainToSet) {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setSelectedChainId(chainToSet);\n } else {\n onClose?.();\n }\n }, [chainToSet, onClose, shouldSetChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const isCrossChain = selectedChainId !== appChainId;\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-to\" });\n } else {\n onSelect(token);\n }\n };\n\n const networkSwitcherProps: ArbitraryNetworkSwitcherProps = {\n onSelect: (chainId) => chainId !== \"all\" && setSelectedChainId(chainId),\n selectedNetwork: selectedChainId,\n networks: selectableChains,\n showCheckIcon: !showNetworksSidebar,\n };\n\n return (\n <SelectTokenLayout\n showNetworksSidebar={showNetworksSidebar}\n headerProps={headerProps}\n networkSwitcherListProps={\n showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n classes: networkSwitcherListClasses,\n }\n : undefined\n }\n >\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={\n !showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n disabled: chainSwitchingDisabled,\n dropdownProps: {\n align: \"end\",\n },\n }\n : undefined\n }\n classes={{\n input: cn({\n \"pr-[42px] h-[40px] dark:bg-contrast-2\": showNetworksSidebar,\n }),\n }}\n />\n {!isCrossChain ? (\n <>\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n withETH={includeNativeTokenInList}\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n withETH={includeNativeTokenInList}\n // when crosschain disallowed, don't search on other chains by tokenFilter\n singleChainTokensOnly={chainSwitchingDisabled}\n selectableChains={selectableChains}\n />\n </>\n ) : (\n <AcrossTokenLists\n tokenFilter={effectiveInputValue}\n onSelect={onSelect}\n fromChainId={appChainId}\n toChainId={selectedChainId}\n className=\"flex-1\"\n mode={acrossMode}\n />\n )}\n </SelectTokenLayout>\n );\n};\n\nconst SelectTokenLayout = ({\n showNetworksSidebar,\n networkSwitcherListProps,\n headerProps,\n children,\n}: PropsWithChildren<{\n showNetworksSidebar: boolean;\n networkSwitcherListProps?: NetworkSwitcherListProps;\n headerProps: GenericScreenHeaderProps;\n}>) => {\n return (\n <div\n className={cn({\n \"grid grid-cols-[auto_minmax(0,140px)] bg-contrast-9 dark:bg-contrast-2 rounded-xxl\":\n showNetworksSidebar,\n })}\n >\n <div\n className={cn({\n \"bg-contrast-8 dark:bg-contrast-1 rounded-xxl\": showNetworksSidebar,\n })}\n >\n <GenericScreenHeader {...headerProps} />\n {/* 448px height to fit search bar + two rows of token cloud + five token rows */}\n <div className=\"flex flex-col gap-y-3 h-[448px] pb-6\">{children}</div>\n </div>\n {showNetworksSidebar && networkSwitcherListProps && (\n <NetworkSwitcherList {...networkSwitcherListProps} />\n )}\n </div>\n );\n};\n"],"names":["headerClasses","root","title","SelectTokenScreen","t0","$","_c","drawerContainer","props","t1","onClose","tokenType","onImported","onOpenImportTokenDrawer","importTokenDrawer","useImportTokenDrawer","t2","showBackButton","onGoBack","classes","headerProps","t3","t4","SelectTokenContent","tokenContentProps","SelectTokenContentComp","SelectTokenFromContent","SelectTokenToContent","networkSwitcherListClasses","onSelect","_onSelect","onSelectImportToken","selectableChains","_selectableChains","appChainId","useChainId","selectedChainId","setSelectedChainId","useState","enabledSrcChains","useEnabledSrcChains","hasMultipleChains","length","isOverMd","useBreakpoints","showNetworksSidebar","useEffect","effectiveInputValue","inputValue","handleInputValueChange","clearInputValue","useDeferredInputState","token","token_0","fetchedOnChain","assertProp","onConfirmAction","onSelectToken","t5","Symbol","for","chainId","t6","t7","selectedNetwork","networks","showCheckIcon","networkSwitcherProps","t8","undefined","t9","dropdownProps","align","disabled","t10","cn","t11","input","t12","t13","t14","t15","tradeMode","useTradeMode","isSwap","isLimit","isOTC","isTwap","acrossMode","modeSupportsCrosschain","includeNativeTokenInList","swapChainTo","useSwapChainTo","limitChainTo","useLimitChainTo","twapChainTo","useTwapChainTo","initialChainId","fromChainId","mode","enabledDestChains","useSelectableDestChains","chainSwitchingDisabled","isChainSelectable","includes","chainToSet","shouldSetChainId","isCrossChain","chainId_0","t16","SelectTokenLayout","networkSwitcherListProps","children"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectTokenDialog.js","sources":["../../../../../src/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.tsx"],"sourcesContent":["import type { SelectTokenDialogProps } from \"./types\";\nimport {\n RegularTokenList,\n type RegularTokenListProps,\n} from \"./TokenListBody/RegularTokenList\";\nimport { AcrossTokenLists } from \"./TokenListBody/AcrossTokenList\";\nimport { TokenSearch } from \"./TokenSearch\";\nimport { useDeferredInputState } from \"@/hooks/useDebouncedInputState\";\nimport { useEffect, useState, type PropsWithChildren } from \"react\";\nimport { useChainId } from \"wagmi\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n useLimitChainTo,\n useSwapChainTo,\n useTwapChainTo,\n} from \"@/core/state/chainToAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TokenCloud } from \"./TokenListBody/TokenCloud\";\nimport { useTradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { UseImportTokenDrawerReturn } from \"../../ImportToken/types\";\nimport { assertProp, cn } from \"@/lib/utils\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport {\n GenericScreen,\n GenericScreenHeader,\n type GenericScreenHeaderProps,\n} from \"../../Screen/GenericScreen\";\nimport { useImportTokenDrawer } from \"../../ImportToken/useImportTokenDrawer\";\nimport { useBreakpoints } from \"@/hooks/useBreakpoints\";\nimport { NetworkSwitcherList } from \"../../NetworkSwitcher/NetworkSwitcherList\";\nimport type { Prettify } from \"ts-essentials\";\nimport type {\n ArbitraryNetworkSwitcherProps,\n NetworkSwitcherListProps,\n} from \"../../NetworkSwitcher/types\";\n\nexport type SelectTokenScreenProps = Prettify<\n Pick<\n SelectTokenProps,\n \"onClose\" | \"onSelect\" | \"selectableChains\" | \"tokenType\"\n > & {\n drawerContainer?: HTMLElement | null;\n }\n>;\n\nconst headerClasses = {\n root: \"px-4 pt-5 pb-4\",\n title: \"text-[16px]\",\n} as const;\n\nexport const SelectTokenScreen = ({\n drawerContainer,\n ...props\n}: SelectTokenScreenProps) => {\n const { onOpenImportTokenDrawer, importTokenDrawer } = useImportTokenDrawer({\n drawerContainer,\n tokenType: props.tokenType,\n onImported: props.onClose,\n });\n\n const headerProps: GenericScreenHeaderProps = {\n title: \"Select Token\",\n showBackButton: true,\n onGoBack: props.onClose,\n classes: headerClasses,\n };\n\n return (\n <GenericScreen>\n <SelectTokenContent\n {...props}\n headerProps={headerProps}\n onSelectImportToken={onOpenImportTokenDrawer}\n />\n {importTokenDrawer}\n </GenericScreen>\n );\n};\n\ntype SelectTokenProps = SelectTokenDialogProps & SelectTokenContentProps;\n\nconst SelectTokenContent = ({\n tokenType,\n ...tokenContentProps\n}: SelectTokenProps) => {\n const SelectTokenContentComp =\n tokenType === \"from\" ? SelectTokenFromContent : SelectTokenToContent;\n\n return <SelectTokenContentComp {...tokenContentProps} />;\n};\n\ntype SelectTokenContentProps = {\n onSelectImportToken: UseImportTokenDrawerReturn[\"onOpenImportTokenDrawer\"];\n onClose?: () => void;\n onSelect?: (token: Token) => void;\n selectableChains?: SupportedChainId[];\n headerProps: GenericScreenHeaderProps;\n};\n\nconst networkSwitcherListClasses = {\n root: \"rounded-r-xxl\",\n} as const;\n\nconst SelectTokenFromContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n headerProps,\n}: SelectTokenContentProps) => {\n const appChainId = useChainId();\n\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(appChainId);\n\n const enabledSrcChains = useEnabledSrcChains();\n const selectableChains = _selectableChains ?? enabledSrcChains;\n const hasMultipleChains = selectableChains.length > 1;\n\n const { isOverMd } = useBreakpoints();\n const showNetworksSidebar = isOverMd && hasMultipleChains;\n\n const tradeMode = useTradeMode();\n const isTwap = tradeMode === \"twap\";\n // @TODO revert this change when ETH cancelAndWithdraw is supported for TWAP\n const includeNativeTokenInList = !isTwap;\n\n useEffect(() => {\n // keep selectedChainId in sync with appChainId\n setSelectedChainId(appChainId);\n }, [appChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-from\" });\n } else {\n onSelect(token);\n }\n };\n\n const networkSwitcherProps: ArbitraryNetworkSwitcherProps = {\n onSelect: (chainId) => chainId !== \"all\" && setSelectedChainId(chainId),\n selectedNetwork: selectedChainId,\n networks: selectableChains,\n showCheckIcon: !showNetworksSidebar,\n };\n\n return (\n <SelectTokenLayout\n showNetworksSidebar={showNetworksSidebar}\n headerProps={headerProps}\n networkSwitcherListProps={\n showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n classes: networkSwitcherListClasses,\n }\n : undefined\n }\n >\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={\n !showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n dropdownProps: { align: \"end\" },\n disabled: !hasMultipleChains,\n }\n : undefined\n }\n classes={{\n input: cn({\n \"pr-[42px] h-[40px] dark:bg-contrast-2\": showNetworksSidebar,\n }),\n }}\n />\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n withETH={includeNativeTokenInList}\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n withETH={includeNativeTokenInList}\n />\n </SelectTokenLayout>\n );\n};\n\nconst SelectTokenToContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n headerProps,\n}: SelectTokenContentProps) => {\n const tradeMode = useTradeMode();\n const isSwap = tradeMode === \"swap\";\n const isLimit = tradeMode === \"limit\";\n const isOTC = tradeMode === \"otc\";\n const isTwap = tradeMode === \"twap\";\n\n // types also expect \"otc\" here,\n // but only \"swap\", \"limit\" and \"twap\" are actually possible for across mode\n const acrossMode = isLimit ? \"limit\" : \"swap\";\n\n const modeSupportsCrosschain = isSwap || isLimit || isTwap;\n\n // otc doesn't support destToken=ETH\n const includeNativeTokenInList = !isOTC;\n\n const appChainId = useChainId();\n const swapChainTo = useSwapChainTo();\n const limitChainTo = useLimitChainTo();\n const twapChainTo = useTwapChainTo();\n\n let initialChainId = appChainId;\n if (isSwap && swapChainTo) {\n initialChainId = swapChainTo;\n } else if (isLimit && limitChainTo) {\n initialChainId = limitChainTo;\n } else if (isTwap && twapChainTo) {\n initialChainId = twapChainTo;\n }\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(initialChainId);\n\n const enabledDestChains = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n }).selectableChains;\n const selectableChains = _selectableChains ?? enabledDestChains;\n const hasMultipleChains = selectableChains.length > 1;\n\n const { isOverMd } = useBreakpoints();\n\n const chainSwitchingDisabled = !modeSupportsCrosschain || !hasMultipleChains;\n const showNetworksSidebar = isOverMd && !chainSwitchingDisabled;\n\n const isChainSelectable = (chainId: SupportedChainId) =>\n selectableChains?.includes(chainId) ?? false;\n\n // keep track if selectedChainId is still selectable\n // - if yes, keep it and don't change\n // - if not, try to set to appChainId\n // - else set to first selectable chain\n const chainToSet = isChainSelectable(selectedChainId)\n ? selectedChainId\n : isChainSelectable(appChainId)\n ? appChainId\n : selectableChains[0];\n const shouldSetChainId = chainToSet !== selectedChainId;\n\n useEffect(() => {\n if (!shouldSetChainId) return;\n\n if (chainToSet) {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setSelectedChainId(chainToSet);\n } else {\n onClose?.();\n }\n }, [chainToSet, onClose, shouldSetChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const isCrossChain = selectedChainId !== appChainId;\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-to\" });\n } else {\n onSelect(token);\n }\n };\n\n const networkSwitcherProps: ArbitraryNetworkSwitcherProps = {\n onSelect: (chainId) => chainId !== \"all\" && setSelectedChainId(chainId),\n selectedNetwork: selectedChainId,\n networks: selectableChains,\n showCheckIcon: !showNetworksSidebar,\n };\n\n return (\n <SelectTokenLayout\n showNetworksSidebar={showNetworksSidebar}\n headerProps={headerProps}\n networkSwitcherListProps={\n showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n classes: networkSwitcherListClasses,\n }\n : undefined\n }\n >\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={\n !showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n disabled: chainSwitchingDisabled,\n dropdownProps: {\n align: \"end\",\n },\n }\n : undefined\n }\n classes={{\n input: cn({\n \"pr-[42px] h-[40px] dark:bg-contrast-2\": showNetworksSidebar,\n }),\n }}\n />\n {!isCrossChain ? (\n <>\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n withETH={includeNativeTokenInList}\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n withETH={includeNativeTokenInList}\n // when crosschain disallowed, don't search on other chains by tokenFilter\n singleChainTokensOnly={chainSwitchingDisabled}\n selectableChains={selectableChains}\n />\n </>\n ) : (\n <AcrossTokenLists\n tokenFilter={effectiveInputValue}\n onSelect={onSelect}\n fromChainId={appChainId}\n toChainId={selectedChainId}\n className=\"flex-1\"\n mode={acrossMode}\n />\n )}\n </SelectTokenLayout>\n );\n};\n\nconst SelectTokenLayout = ({\n showNetworksSidebar,\n networkSwitcherListProps,\n headerProps,\n children,\n}: PropsWithChildren<{\n showNetworksSidebar: boolean;\n networkSwitcherListProps?: NetworkSwitcherListProps;\n headerProps: GenericScreenHeaderProps;\n}>) => {\n return (\n <div\n className={cn({\n \"grid grid-cols-[auto_minmax(0,140px)] bg-contrast-9 dark:bg-contrast-2 rounded-xxl\":\n showNetworksSidebar,\n })}\n >\n <div\n className={cn({\n \"bg-contrast-8 dark:bg-contrast-1 rounded-xxl\": showNetworksSidebar,\n })}\n >\n <GenericScreenHeader {...headerProps} />\n {/* 448px height to fit search bar + two rows of token cloud + five token rows */}\n <div className=\"flex flex-col gap-y-3 h-[448px] pb-6\">{children}</div>\n </div>\n {showNetworksSidebar && networkSwitcherListProps && (\n <NetworkSwitcherList {...networkSwitcherListProps} />\n )}\n </div>\n );\n};\n"],"names":["headerClasses","root","title","SelectTokenScreen","t0","$","_c","drawerContainer","props","t1","onClose","tokenType","onImported","onOpenImportTokenDrawer","importTokenDrawer","useImportTokenDrawer","t2","showBackButton","onGoBack","classes","headerProps","t3","t4","SelectTokenContent","tokenContentProps","SelectTokenContentComp","SelectTokenFromContent","SelectTokenToContent","networkSwitcherListClasses","onSelect","_onSelect","onSelectImportToken","selectableChains","_selectableChains","appChainId","useChainId","selectedChainId","setSelectedChainId","useState","enabledSrcChains","useEnabledSrcChains","hasMultipleChains","length","isOverMd","useBreakpoints","showNetworksSidebar","tradeMode","useTradeMode","isTwap","includeNativeTokenInList","useEffect","effectiveInputValue","inputValue","handleInputValueChange","clearInputValue","useDeferredInputState","token","token_0","fetchedOnChain","assertProp","onConfirmAction","onSelectToken","t5","Symbol","for","chainId","t6","t7","selectedNetwork","networks","showCheckIcon","networkSwitcherProps","t8","undefined","t9","dropdownProps","align","disabled","t10","cn","t11","input","t12","t13","t14","t15","isSwap","isLimit","isOTC","acrossMode","modeSupportsCrosschain","swapChainTo","useSwapChainTo","limitChainTo","useLimitChainTo","twapChainTo","useTwapChainTo","initialChainId","fromChainId","mode","enabledDestChains","useSelectableDestChains","chainSwitchingDisabled","isChainSelectable","includes","chainToSet","shouldSetChainId","isCrossChain","chainId_0","t16","SelectTokenLayout","networkSwitcherListProps","children"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/ReceiverAddress/state/subscriptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/ReceiverAddress/state/subscriptions.ts"],"names":[],"mappings":"AA2BA,wBAAgB,yBAAyB,iDA0DxC"}
|
|
@@ -11,7 +11,13 @@ import { enabledSrcChainsAtom } from '../../../../core/state/enabledChainsAtom.j
|
|
|
11
11
|
import { limitReceiverAddressAtom } from '../../../../core/limit/state/receiverAddressAtom.js';
|
|
12
12
|
import { openDrawerAtom } from '../../Drawer/state/useDrawerControls.js';
|
|
13
13
|
import { screenAtom } from '../../../../core/screen/state/screenAtom.js';
|
|
14
|
+
import { twapReceiverAddressAtom } from '../../../../core/twap/state/twapReceiverAddressAtom.js';
|
|
14
15
|
|
|
16
|
+
function setReceiverAddress(address) {
|
|
17
|
+
jotaiStore.set(receiverAddressAtom, address);
|
|
18
|
+
jotaiStore.set(limitReceiverAddressAtom, address);
|
|
19
|
+
jotaiStore.set(twapReceiverAddressAtom, address);
|
|
20
|
+
}
|
|
15
21
|
function subscribeToAccountChanges() {
|
|
16
22
|
return watchAccount(wagmiConfig, {
|
|
17
23
|
onChange: async (account, {
|
|
@@ -33,8 +39,7 @@ function subscribeToAccountChanges() {
|
|
|
33
39
|
connector
|
|
34
40
|
});
|
|
35
41
|
if (!address || chainId === void 0 || !isSupportedChainId(chainId) || !enabledSrcChains.includes(chainId)) {
|
|
36
|
-
|
|
37
|
-
jotaiStore.set(limitReceiverAddressAtom, void 0);
|
|
42
|
+
setReceiverAddress(void 0);
|
|
38
43
|
return;
|
|
39
44
|
}
|
|
40
45
|
jotaiStore.set(resetOrdersCountAtom);
|
|
@@ -56,8 +61,7 @@ function subscribeToAccountChanges() {
|
|
|
56
61
|
chainId
|
|
57
62
|
})
|
|
58
63
|
});
|
|
59
|
-
|
|
60
|
-
jotaiStore.set(limitReceiverAddressAtom, isEOA ? address : void 0);
|
|
64
|
+
setReceiverAddress(isEOA ? address : void 0);
|
|
61
65
|
}
|
|
62
66
|
});
|
|
63
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.js","sources":["../../../../../src/components/widget/ReceiverAddress/state/subscriptions.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { watchAccount } from \"@wagmi/core\";\nimport { receiverAddressAtom } from \"./receiverAddressAtom\";\n\nimport { queryClient } from \"@/lib/queryClient\";\n\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport {\n constructIsContractAtAddressQueryKey,\n getIsContractAtAddress,\n} from \"@/hooks/getCode/query\";\nimport { jotaiStore } from \"@/core/store\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\nimport { resetOrdersCountAtom } from \"../../AppHeader/state/showMoreAtom\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { limitReceiverAddressAtom } from \"@/core/limit/state/receiverAddressAtom\";\nimport { openDrawerAtom } from \"../../Drawer/state/useDrawerControls\";\nimport { screenAtom } from \"@/core/screen/state/screenAtom\";\n\nexport function subscribeToAccountChanges() {\n // subscribes to wallet account changes\n // config.subscribe(() => getAccount(config), onChange)\n return watchAccount(wagmiConfig, {\n onChange: async (account, { address: prevAddress }) => {\n const { address, chainId, connector } = account;\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n\n // close any open drawer and screen on account change\n // enforce account specific Widget state\n if (address !== prevAddress) {\n jotaiStore.set(openDrawerAtom, null);\n jotaiStore.set(screenAtom, null);\n }\n\n // internal account atom to trigger atomEffects\n jotaiStore.set(accountAtom, {\n address,\n chainId,\n connector,\n });\n\n // reset the receiver address if the address is not valid or chainId is not supported\n if (\n !address ||\n chainId === undefined ||\n !isSupportedChainId(chainId) ||\n !enabledSrcChains.includes(chainId)\n ) {\n
|
|
1
|
+
{"version":3,"file":"subscriptions.js","sources":["../../../../../src/components/widget/ReceiverAddress/state/subscriptions.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { watchAccount } from \"@wagmi/core\";\nimport { receiverAddressAtom } from \"./receiverAddressAtom\";\n\nimport { queryClient } from \"@/lib/queryClient\";\n\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport {\n constructIsContractAtAddressQueryKey,\n getIsContractAtAddress,\n} from \"@/hooks/getCode/query\";\nimport { jotaiStore } from \"@/core/store\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\nimport { resetOrdersCountAtom } from \"../../AppHeader/state/showMoreAtom\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { limitReceiverAddressAtom } from \"@/core/limit/state/receiverAddressAtom\";\nimport { openDrawerAtom } from \"../../Drawer/state/useDrawerControls\";\nimport { screenAtom } from \"@/core/screen/state/screenAtom\";\nimport { twapReceiverAddressAtom } from \"@/core/twap/state/twapReceiverAddressAtom\";\nimport type { Address } from \"viem\";\n\nfunction setReceiverAddress(address: Address | undefined) {\n jotaiStore.set(receiverAddressAtom, address);\n jotaiStore.set(limitReceiverAddressAtom, address);\n jotaiStore.set(twapReceiverAddressAtom, address);\n}\n\nexport function subscribeToAccountChanges() {\n // subscribes to wallet account changes\n // config.subscribe(() => getAccount(config), onChange)\n return watchAccount(wagmiConfig, {\n onChange: async (account, { address: prevAddress }) => {\n const { address, chainId, connector } = account;\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n\n // close any open drawer and screen on account change\n // enforce account specific Widget state\n if (address !== prevAddress) {\n jotaiStore.set(openDrawerAtom, null);\n jotaiStore.set(screenAtom, null);\n }\n\n // internal account atom to trigger atomEffects\n jotaiStore.set(accountAtom, {\n address,\n chainId,\n connector,\n });\n\n // reset the receiver address if the address is not valid or chainId is not supported\n if (\n !address ||\n chainId === undefined ||\n !isSupportedChainId(chainId) ||\n !enabledSrcChains.includes(chainId)\n ) {\n setReceiverAddress(undefined);\n return;\n }\n\n // reset activities pagination\n jotaiStore.set(resetOrdersCountAtom);\n\n if (chainId !== wagmiConfig.state.chainId)\n // wallet chainId takes precedence\n wagmiConfig.setState((prev) => ({ ...prev, chainId }));\n\n const queryKey = constructIsContractAtAddressQueryKey({\n chainId,\n address,\n });\n\n const { isEOA } = await queryClient.ensureQueryData({\n queryKey,\n queryFn: () =>\n getIsContractAtAddress({\n address,\n chainId,\n }),\n });\n\n // save if address is EOA, otherwise reset\n setReceiverAddress(isEOA ? address : undefined);\n },\n });\n}\n"],"names":["setReceiverAddress","address","jotaiStore","set","receiverAddressAtom","limitReceiverAddressAtom","twapReceiverAddressAtom","subscribeToAccountChanges","watchAccount","wagmiConfig","onChange","account","prevAddress","chainId","connector","enabledSrcChains","get","enabledSrcChainsAtom","openDrawerAtom","screenAtom","accountAtom","undefined","isSupportedChainId","includes","resetOrdersCountAtom","state","setState","prev","queryKey","constructIsContractAtAddressQueryKey","isEOA","queryClient","ensureQueryData","queryFn","getIsContractAtAddress"],"mappings":";;;;;;;;;;;;;;;AAqBA,SAASA,mBAAmBC,OAAAA,EAA8B;AACxDC,EAAAA,UAAAA,CAAWC,GAAAA,CAAIC,qBAAqBH,OAAO,CAAA;AAC3CC,EAAAA,UAAAA,CAAWC,GAAAA,CAAIE,0BAA0BJ,OAAO,CAAA;AAChDC,EAAAA,UAAAA,CAAWC,GAAAA,CAAIG,yBAAyBL,OAAO,CAAA;AACjD;AAEO,SAASM,yBAAAA,GAA4B;AAG1C,EAAA,OAAOC,aAAaC,WAAAA,EAAa;AAAA,IAC/BC,QAAAA,EAAU,OAAOC,OAAAA,EAAS;AAAA,MAAEV,OAAAA,EAASW;AAAAA,KAAY,KAAM;AACrD,MAAA,MAAM;AAAA,QAAEX,OAAAA;AAAAA,QAASY,OAAAA;AAAAA,QAASC;AAAAA,OAAU,GAAIH,OAAAA;AACxC,MAAA,MAAMI,gBAAAA,GAAmBb,UAAAA,CAAWc,GAAAA,CAAIC,oBAAoB,CAAA;AAI5D,MAAA,IAAIhB,YAAYW,WAAAA,EAAa;AAC3BV,QAAAA,UAAAA,CAAWC,GAAAA,CAAIe,gBAAgB,IAAI,CAAA;AACnChB,QAAAA,UAAAA,CAAWC,GAAAA,CAAIgB,YAAY,IAAI,CAAA;AAAA,MACjC;AAGAjB,MAAAA,UAAAA,CAAWC,IAAIiB,WAAAA,EAAa;AAAA,QAC1BnB,OAAAA;AAAAA,QACAY,OAAAA;AAAAA,QACAC;AAAAA,OACD,CAAA;AAGD,MAAA,IACE,CAACb,OAAAA,IACDY,OAAAA,KAAYQ,MAAAA,IACZ,CAACC,kBAAAA,CAAmBT,OAAO,CAAA,IAC3B,CAACE,gBAAAA,CAAiBQ,QAAAA,CAASV,OAAO,CAAA,EAClC;AACAb,QAAAA,kBAAAA,CAAmBqB,MAAS,CAAA;AAC5B,QAAA;AAAA,MACF;AAGAnB,MAAAA,UAAAA,CAAWC,IAAIqB,oBAAoB,CAAA;AAEnC,MAAA,IAAIX,OAAAA,KAAYJ,YAAYgB,KAAAA,CAAMZ,OAAAA;AAEhCJ,QAAAA,WAAAA,CAAYiB,SAAUC,CAAAA,IAAAA,MAAU;AAAA,UAAE,GAAGA,IAAAA;AAAAA,UAAMd;AAAAA,SAAQ,CAAE,CAAA;AAEvD,MAAA,MAAMe,WAAWC,oCAAAA,CAAqC;AAAA,QACpDhB,OAAAA;AAAAA,QACAZ;AAAAA,OACD,CAAA;AAED,MAAA,MAAM;AAAA,QAAE6B;AAAAA,OAAM,GAAI,MAAMC,WAAAA,CAAYC,eAAAA,CAAgB;AAAA,QAClDJ,QAAAA;AAAAA,QACAK,OAAAA,EAASA,MACPC,sBAAAA,CAAuB;AAAA,UACrBjC,OAAAA;AAAAA,UACAY;AAAAA,SACD;AAAA,OACJ,CAAA;AAGDb,MAAAA,kBAAAA,CAAmB8B,KAAAA,GAAQ7B,UAAUoB,MAAS,CAAA;AAAA,IAChD;AAAA,GACD,CAAA;AACH;;;;"}
|
|
@@ -26,14 +26,14 @@ const widgetEventsAtom = atom({}, (get, set, callbacks) => {
|
|
|
26
26
|
const onTwapOrder = (payload) => {
|
|
27
27
|
if (!callbacks.onTwapOrder) return;
|
|
28
28
|
const widgetState = getWidgetState(get);
|
|
29
|
-
const
|
|
30
|
-
assert(isFullTokenFormState(
|
|
29
|
+
const twapFormState = widgetState.formState.twap;
|
|
30
|
+
assert(isFullTokenFormState(twapFormState), "Twap form state is required to perform twap order");
|
|
31
31
|
const payloadWithState = {
|
|
32
32
|
event: {
|
|
33
33
|
...payload.event,
|
|
34
34
|
params: {
|
|
35
35
|
...payload.event.params,
|
|
36
|
-
...
|
|
36
|
+
...twapFormState
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
state: widgetState
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetEventsAtom.js","sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\ntype Callbacks = Required<WidgetEventCallbacksMin>;\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: Callbacks[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onTwapOrder: Callbacks[\"onTwapOrder\"] = (payload) => {\n if (!callbacks.onTwapOrder) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform twap order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onTwapOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onTwapOrder(payloadWithState);\n };\n\n const onLimitOrder: Callbacks[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: Callbacks[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: Callbacks[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: Callbacks[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: Callbacks[\"onSettingsChange\"] = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: Callbacks[\"onConnectWallet\"] = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: Callbacks[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onFillOTCOrder: Callbacks[\"onFillOTCOrder\"] = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: Callbacks[\"onFormInputChange\"] = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const _onPriceChange = callbacks.onPriceChange;\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = _onPriceChange\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onPriceChange(payloadWithState);\n }\n : undefined;\n\n set(widgetEventsAtom, {\n onSwap,\n onTwapOrder,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onTwapOrder: callbacks?.onTwapOrder,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onTwapOrder,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"names":["widgetEventsAtom","atom","get","set","callbacks","onSwap","payload","widgetState","getWidgetState","swapFormState","formState","swap","assert","isFullTokenFormState","payloadWithState","event","params","state","onTwapOrder","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onFillOTCOrder","onFormInputChange","_onPriceChange","onPriceChange","useWidgetEvents","useAtomValue","useWidgetEventsSetter","$","_c","setWidgetEvents","useSetAtom","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","useLayoutEffect","tokenTo","receiverAddress","destChainId","connectedAccount"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"widgetEventsAtom.js","sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\ntype Callbacks = Required<WidgetEventCallbacksMin>;\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: Callbacks[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onTwapOrder: Callbacks[\"onTwapOrder\"] = (payload) => {\n if (!callbacks.onTwapOrder) return;\n const widgetState = getWidgetState(get);\n\n const twapFormState = widgetState.formState.twap;\n assert(\n isFullTokenFormState(twapFormState),\n \"Twap form state is required to perform twap order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onTwapOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...twapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onTwapOrder(payloadWithState);\n };\n\n const onLimitOrder: Callbacks[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: Callbacks[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: Callbacks[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: Callbacks[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: Callbacks[\"onSettingsChange\"] = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: Callbacks[\"onConnectWallet\"] = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: Callbacks[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onFillOTCOrder: Callbacks[\"onFillOTCOrder\"] = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: Callbacks[\"onFormInputChange\"] = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const _onPriceChange = callbacks.onPriceChange;\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = _onPriceChange\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onPriceChange(payloadWithState);\n }\n : undefined;\n\n set(widgetEventsAtom, {\n onSwap,\n onTwapOrder,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onTwapOrder: callbacks?.onTwapOrder,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onTwapOrder,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"names":["widgetEventsAtom","atom","get","set","callbacks","onSwap","payload","widgetState","getWidgetState","swapFormState","formState","swap","assert","isFullTokenFormState","payloadWithState","event","params","state","onTwapOrder","twapFormState","twap","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onFillOTCOrder","onFormInputChange","_onPriceChange","onPriceChange","useWidgetEvents","useAtomValue","useWidgetEventsSetter","$","_c","setWidgetEvents","useSetAtom","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","useLayoutEffect","tokenTo","receiverAddress","destChainId","connectedAccount"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { SupportedChainId } from '../../../lib/web3/wagmi/types';
|
|
|
3
3
|
export declare const switchTwapTokensAtom: import('jotai').WritableAtom<null, [], Promise<void>> & {
|
|
4
4
|
init: null;
|
|
5
5
|
};
|
|
6
|
-
export declare const selectTwapTokenFromAtom: import('jotai').WritableAtom<null, [
|
|
6
|
+
export declare const selectTwapTokenFromAtom: import('jotai').WritableAtom<null, [_newTokenFrom: Token], Promise<void>> & {
|
|
7
7
|
init: null;
|
|
8
8
|
};
|
|
9
9
|
export declare const selectTwapTokenToAtom: import('jotai').WritableAtom<null, [newTokenTo: Token], Promise<void>> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAYlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAYlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,eAAO,MAAM,oBAAoB;;CAwB/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;CAqEnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;CAoGjC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,SAAS,gBAAgB,SA+DvE,CAAC"}
|
|
@@ -10,6 +10,9 @@ import { allTokensByChainAtom } from '../../../tokens/state/allTokensByChainAtom
|
|
|
10
10
|
import { getSelectableDestChains } from '../../state/getSelectableDestChains.js';
|
|
11
11
|
import { enabledSrcChainsAtom } from '../../state/enabledChainsAtom.js';
|
|
12
12
|
import { jotaiStore } from '../../store.js';
|
|
13
|
+
import { isETH } from '../../../tokens/utils/eth.js';
|
|
14
|
+
import { constructWrappedNativeToken } from '../../../tokens/constructor.js';
|
|
15
|
+
import { chainConfigMap } from '../../../lib/web3/wagmi/constants.js';
|
|
13
16
|
|
|
14
17
|
const switchTwapTokensAtom = atom(null, async (get, set) => {
|
|
15
18
|
const tokenTo = get(twapTokenToAtom);
|
|
@@ -27,7 +30,8 @@ const switchTwapTokensAtom = atom(null, async (get, set) => {
|
|
|
27
30
|
});
|
|
28
31
|
}
|
|
29
32
|
});
|
|
30
|
-
const selectTwapTokenFromAtom = atom(null, async (get, set,
|
|
33
|
+
const selectTwapTokenFromAtom = atom(null, async (get, set, _newTokenFrom) => {
|
|
34
|
+
const newTokenFrom = isETH(_newTokenFrom) ? constructWrappedNativeToken(chainConfigMap[_newTokenFrom.network]) : _newTokenFrom;
|
|
31
35
|
let tokenFrom = get(twapTokenFromAtom);
|
|
32
36
|
let tokenTo = get(twapTokenToAtom);
|
|
33
37
|
const initTokenFrom = tokenFrom;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectedTokenActionsAtom.js","sources":["../../../../src/core/twap/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isCrosschainPossible } from \"@/core/across/isCrosschainPossible\";\nimport {\n findFirstTokenFromAcross,\n isTokenFromAcross,\n} from \"@/core/across/utils\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport { getSelectableDestChains } from \"@/core/state/getSelectableDestChains\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { jotaiStore } from \"@/core/store\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport const switchTwapTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(tokenTo.network)) return;\n\n const tokenFrom = get(twapTokenFromAtom);\n const initChainFrom = tokenFrom.network;\n\n // set tokenFrom as is\n set(twapTokenFromAtom, tokenTo);\n // set tokenTo, including running all crosschain logic inside\n set(selectTwapTokenToAtom, tokenFrom);\n\n const currentTokenFrom = get(twapTokenFromAtom);\n\n // switch a token from a different chain?\n if (currentTokenFrom.network !== initChainFrom) {\n switchChain({\n chainId: currentTokenFrom.network,\n });\n }\n});\n\nexport const selectTwapTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n let tokenFrom = get(twapTokenFromAtom);\n let tokenTo = get(twapTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // then set the tokenFrom\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"limit\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"limit\",\n });\n\n set(twapTokenToAtom, maybeAcrossToken);\n }\n } else {\n if (tokenFrom.network !== tokenTo.network) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"twap\"\n );\n\n tokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(twapTokenToAtom, tokenTo);\n } else {\n if (areTokensSame(tokenFrom, tokenTo)) {\n tokenTo = initTokenFrom;\n set(twapTokenToAtom, tokenTo);\n }\n }\n }\n }\n);\n\nexport const selectTwapTokenToAtom = atom(\n null,\n async (get, set, newTokenTo: Token) => {\n let tokenFrom = get(twapTokenFromAtom);\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: tokenFrom.network,\n mode: \"limit\",\n });\n if (!selectableDestChains.includes(newTokenTo.network)) return;\n\n let tokenTo = get(twapTokenToAtom);\n const initTokenTo = tokenTo;\n\n set(twapTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n if (areTokensSame(tokenTo, tokenFrom)) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"twap\"\n );\n\n const defaultToken = areTokensSame(tokenFrom, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n const wasCrosschain =\n initTokenTo && tokenFrom.network !== initTokenTo.network;\n\n const newTokenFrom = wasCrosschain\n ? defaultToken\n : (initTokenTo ?? defaultToken);\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n let needResetTokenFrom = false;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"limit\",\n });\n\n if (!isTokenToFromAcross) {\n needResetTokenFrom = true;\n }\n }\n\n if (tokenFrom.network !== tokenTo.network && !crosschainPossible) {\n needResetTokenFrom = true;\n }\n const enabledSrcChains = get(enabledSrcChainsAtom);\n\n if (needResetTokenFrom) {\n let firstPossibleSrcChain = tokenTo.network;\n if (!enabledSrcChains.includes(tokenTo.network)) {\n for (const srcChain of enabledSrcChains) {\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: srcChain,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n if (crosschainPossible) {\n firstPossibleSrcChain = srcChain;\n break;\n }\n }\n }\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n firstPossibleSrcChain,\n \"twap\"\n );\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // ended up changing tokenFrom network?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const syncTwapTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainId)) return;\n\n let tokenFrom = jotaiStore.get(twapTokenFromAtom);\n\n // chains are the same? do nothing\n if (tokenFrom.network === chainId) return;\n\n // get default tokens for the new chain\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"twap\"\n );\n\n // update tokenFrom\n jotaiStore.set(twapTokenFromAtom, defaultTokenFrom);\n tokenFrom = defaultTokenFrom;\n\n let tokenTo = jotaiStore.get(twapTokenToAtom);\n\n // toChainId derives from tokenTo.network, if no tokenTo - do nothing\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get: jotaiStore.get,\n chainIdFrom: chainId,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: chainId,\n toChainId: tokenTo.network,\n mode: \"limit\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: chainId,\n toChainId: tokenTo.network,\n listByChainId: jotaiStore.get(allTokensByChainAtom).listByChainId,\n mode: \"limit\",\n });\n\n tokenTo = maybeAcrossToken;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n } else {\n const selectableDestChains = getSelectableDestChains(jotaiStore.get, {\n fromChainId: tokenFrom.network,\n mode: \"limit\",\n });\n if (selectableDestChains.includes(chainId)) {\n tokenTo = defaultTokenTo;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n } else {\n tokenTo = undefined;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n }\n};\n"],"names":["switchTwapTokensAtom","atom","get","set","tokenTo","twapTokenToAtom","enabledSrcChains","enabledSrcChainsAtom","includes","network","tokenFrom","twapTokenFromAtom","initChainFrom","selectTwapTokenToAtom","currentTokenFrom","switchChain","chainId","selectTwapTokenFromAtom","newTokenFrom","initTokenFrom","wagmiConfig","state","crosschainPossible","isCrosschainPossible","chainIdFrom","chainIdTo","mode","isTokenToFromAcross","isTokenFromAcross","token","fromChainId","toChainId","maybeAcrossToken","findFirstTokenFromAcross","listByChainId","allTokensByChainAtom","defaultTokenFrom","defaultTokenTo","pickDefaultTokenPair","areTokensSame","newTokenTo","selectableDestChains","getSelectableDestChains","initTokenTo","defaultToken","wasCrosschain","needResetTokenFrom","firstPossibleSrcChain","srcChain","syncTwapTokensAfterChainSwitch","jotaiStore","undefined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selectedTokenActionsAtom.js","sources":["../../../../src/core/twap/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isCrosschainPossible } from \"@/core/across/isCrosschainPossible\";\nimport {\n findFirstTokenFromAcross,\n isTokenFromAcross,\n} from \"@/core/across/utils\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport { getSelectableDestChains } from \"@/core/state/getSelectableDestChains\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { jotaiStore } from \"@/core/store\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport { constructWrappedNativeToken } from \"@/tokens/constructor\";\nimport { chainConfigMap } from \"@/lib/web3/wagmi/constants\";\n\nexport const switchTwapTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(tokenTo.network)) return;\n\n const tokenFrom = get(twapTokenFromAtom);\n const initChainFrom = tokenFrom.network;\n\n // set tokenFrom as is\n set(twapTokenFromAtom, tokenTo);\n // set tokenTo, including running all crosschain logic inside\n set(selectTwapTokenToAtom, tokenFrom);\n\n const currentTokenFrom = get(twapTokenFromAtom);\n\n // switch a token from a different chain?\n if (currentTokenFrom.network !== initChainFrom) {\n switchChain({\n chainId: currentTokenFrom.network,\n });\n }\n});\n\nexport const selectTwapTokenFromAtom = atom(\n null,\n async (get, set, _newTokenFrom: Token) => {\n // @TODO revert this change when ETH cancelAndWithdraw is supported for TWAP\n const newTokenFrom = isETH(_newTokenFrom)\n ? constructWrappedNativeToken(chainConfigMap[_newTokenFrom.network])\n : _newTokenFrom;\n\n let tokenFrom = get(twapTokenFromAtom);\n let tokenTo = get(twapTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // set the tokenFrom\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"limit\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"limit\",\n });\n\n set(twapTokenToAtom, maybeAcrossToken);\n }\n } else {\n if (tokenFrom.network !== tokenTo.network) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"twap\"\n );\n\n tokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(twapTokenToAtom, tokenTo);\n } else {\n if (areTokensSame(tokenFrom, tokenTo)) {\n tokenTo = initTokenFrom;\n set(twapTokenToAtom, tokenTo);\n }\n }\n }\n }\n);\n\nexport const selectTwapTokenToAtom = atom(\n null,\n async (get, set, newTokenTo: Token) => {\n let tokenFrom = get(twapTokenFromAtom);\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: tokenFrom.network,\n mode: \"limit\",\n });\n if (!selectableDestChains.includes(newTokenTo.network)) return;\n\n let tokenTo = get(twapTokenToAtom);\n const initTokenTo = tokenTo;\n\n set(twapTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n if (areTokensSame(tokenTo, tokenFrom)) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"twap\"\n );\n\n const defaultToken = areTokensSame(tokenFrom, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n const wasCrosschain =\n initTokenTo && tokenFrom.network !== initTokenTo.network;\n\n const newTokenFrom = wasCrosschain\n ? defaultToken\n : (initTokenTo ?? defaultToken);\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n let needResetTokenFrom = false;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"limit\",\n });\n\n if (!isTokenToFromAcross) {\n needResetTokenFrom = true;\n }\n }\n\n if (tokenFrom.network !== tokenTo.network && !crosschainPossible) {\n needResetTokenFrom = true;\n }\n const enabledSrcChains = get(enabledSrcChainsAtom);\n\n if (needResetTokenFrom) {\n let firstPossibleSrcChain = tokenTo.network;\n if (!enabledSrcChains.includes(tokenTo.network)) {\n for (const srcChain of enabledSrcChains) {\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: srcChain,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n if (crosschainPossible) {\n firstPossibleSrcChain = srcChain;\n break;\n }\n }\n }\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n firstPossibleSrcChain,\n \"twap\"\n );\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // ended up changing tokenFrom network?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const syncTwapTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainId)) return;\n\n let tokenFrom = jotaiStore.get(twapTokenFromAtom);\n\n // chains are the same? do nothing\n if (tokenFrom.network === chainId) return;\n\n // get default tokens for the new chain\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"twap\"\n );\n\n // update tokenFrom\n jotaiStore.set(twapTokenFromAtom, defaultTokenFrom);\n tokenFrom = defaultTokenFrom;\n\n let tokenTo = jotaiStore.get(twapTokenToAtom);\n\n // toChainId derives from tokenTo.network, if no tokenTo - do nothing\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get: jotaiStore.get,\n chainIdFrom: chainId,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: chainId,\n toChainId: tokenTo.network,\n mode: \"limit\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: chainId,\n toChainId: tokenTo.network,\n listByChainId: jotaiStore.get(allTokensByChainAtom).listByChainId,\n mode: \"limit\",\n });\n\n tokenTo = maybeAcrossToken;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n } else {\n const selectableDestChains = getSelectableDestChains(jotaiStore.get, {\n fromChainId: tokenFrom.network,\n mode: \"limit\",\n });\n if (selectableDestChains.includes(chainId)) {\n tokenTo = defaultTokenTo;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n } else {\n tokenTo = undefined;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n }\n};\n"],"names":["switchTwapTokensAtom","atom","get","set","tokenTo","twapTokenToAtom","enabledSrcChains","enabledSrcChainsAtom","includes","network","tokenFrom","twapTokenFromAtom","initChainFrom","selectTwapTokenToAtom","currentTokenFrom","switchChain","chainId","selectTwapTokenFromAtom","_newTokenFrom","newTokenFrom","isETH","constructWrappedNativeToken","chainConfigMap","initTokenFrom","wagmiConfig","state","crosschainPossible","isCrosschainPossible","chainIdFrom","chainIdTo","mode","isTokenToFromAcross","isTokenFromAcross","token","fromChainId","toChainId","maybeAcrossToken","findFirstTokenFromAcross","listByChainId","allTokensByChainAtom","defaultTokenFrom","defaultTokenTo","pickDefaultTokenPair","areTokensSame","newTokenTo","selectableDestChains","getSelectableDestChains","initTokenTo","defaultToken","wasCrosschain","needResetTokenFrom","firstPossibleSrcChain","srcChain","syncTwapTokensAfterChainSwitch","jotaiStore","undefined"],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const twapReceiverAddressAtom: import('jotai').PrimitiveAtom<`0x${string}` | undefined> & {
|
|
2
|
+
init: `0x${string}` | undefined;
|
|
3
|
+
};
|
|
4
|
+
export declare const useTwapReceiverAddressValue: () => `0x${string}` | undefined;
|
|
5
|
+
//# sourceMappingURL=twapReceiverAddressAtom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twapReceiverAddressAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/twapReceiverAddressAtom.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,uBAAuB;;CAA8B,CAAC;AAEnE,eAAO,MAAM,2BAA2B,iCAEvC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useAtomValue } from '../../store.js';
|
|
2
|
+
import { atom } from 'jotai';
|
|
3
|
+
|
|
4
|
+
const twapReceiverAddressAtom = atom();
|
|
5
|
+
const useTwapReceiverAddressValue = () => {
|
|
6
|
+
return useAtomValue(twapReceiverAddressAtom);
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export { twapReceiverAddressAtom, useTwapReceiverAddressValue };
|
|
10
|
+
//# sourceMappingURL=twapReceiverAddressAtom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twapReceiverAddressAtom.js","sources":["../../../../src/core/twap/state/twapReceiverAddressAtom.ts"],"sourcesContent":["import { useAtomValue } from \"@/core/store\";\nimport { atom } from \"jotai\";\nimport type { Address } from \"viem\";\n\n// no way to change this for the user for now, defaults to connected account\nexport const twapReceiverAddressAtom = atom<Address | undefined>();\n\nexport const useTwapReceiverAddressValue = () => {\n return useAtomValue(twapReceiverAddressAtom);\n};\n"],"names":["twapReceiverAddressAtom","atom","useTwapReceiverAddressValue","useAtomValue"],"mappings":";;;AAKO,MAAMA,0BAA0BC,IAAAA;AAEhC,MAAMC,8BAA8BA,MAAA;AAAA,EAAA,OAClCC,aAAaH,uBAAuB,CAAA;AAAC;;;;"}
|