@velora-dex/widget 0.1.0 → 0.1.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/AppHeader/Activities/hooks.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.js +9 -5
- package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
- package/dist/components/widget/OtcOrdersDrawer/utils.d.ts.map +1 -1
- package/dist/components/widget/OtcOrdersDrawer/utils.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js +128 -104
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/types.d.ts +5 -1
- package/dist/components/widget/SwapModeSwitcher/types.d.ts.map +1 -1
- package/dist/core/index.js +14 -5
- package/dist/core/index.js.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.js +0 -1
- package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/AppHeader/Activities/hooks.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAW/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAQpE,OAAO,EAML,KAAK,SAAS,EACf,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/AppHeader/Activities/hooks.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAW/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAQpE,OAAO,EAML,KAAK,SAAS,EACf,MAAM,SAAS,CAAC;AAgNjB,wBAAgB,aAAa,CAAC,EAC5B,eAAe,GAChB,EAAE;IACD,eAAe,EAAE,gBAAgB,GAAG,KAAK,CAAC;CAC3C;;;;;;;;;;;;;EAgDA;AAkFD,eAAO,MAAM,sBAAsB,eAUlC,CAAC;AAEF,wBAAgB,gBAAgB;;;;2BA6BA,SAAS;;;;;;;EAqCxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../../../../../src/components/widget/AppHeader/Activities/hooks.ts"],"sourcesContent":["import { useUserLimitOrdersQuery } from \"@/hooks/otc/queries/useLimitOrders\";\nimport { DeltaOrderStatusChecker } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { useUserDeltaOrdersQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaOrders\";\nimport { useFetchTokens } from \"@/hooks/tokens/data/useFetchTokens\";\nimport type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport {\n prepTokenKey,\n useTokensByAddressAllChains,\n} from \"@/hooks/tokens/useTokensByAddress\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { constructTokenFromFetchedTokenInfo } from \"@/tokens/constructor\";\nimport type {\n DeltaOrderFromAPI,\n LimitOrdersApiResponse,\n} from \"@velora-dex/sdk\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport {\n defaultOrderParams,\n activeOrderParams,\n} from \"../../LimitOrdersDrawer/constants\";\nimport type { LimitOrderItem } from \"../../LimitOrdersDrawer/types\";\nimport { constructLimitOrderItem } from \"../../LimitOrdersDrawer/utils\";\nimport { OTC_ORDERS_QUERY_PARAMS } from \"../../OtcOrdersDrawer/constants\";\nimport {\n constructOtcOrderItem,\n filterByActiveAndCompletedOrders,\n isFillableOrderItem,\n} from \"../../OtcOrdersDrawer/utils\";\nimport {\n getNotAvailableTokens,\n isLimitOrderItem,\n isOtcOrderItem,\n isTransactionListItem,\n sortOrdersFn,\n type OrderItem,\n} from \"./utils\";\nimport { useState } from \"react\";\nimport { useDrawerControls } from \"../../Drawer/state/useDrawerControls\";\nimport { LimitOrderStateChecker } from \"@/hooks/otc/queries/utils\";\nimport { useSwapTxHistory } from \"@/hooks/txs/queries/useTxHistory\";\nimport {\n useUserPendingTransactions,\n useUserSwapTransactions,\n} from \"@/transactions/state/hooks/useTransactions\";\nimport { constructSwapTransactionsData } from \"../../TransactionDetails/utils\";\n\nfunction useSwapTransactionItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { address: account } = useAccount();\n\n const { data: swapTxsHistory = emptyArray, isLoading } = useSwapTxHistory({\n params: { account, limit: 500 },\n });\n const localSwapTxs = useUserSwapTransactions();\n\n const missingTokens = getNotAvailableTokens(\n [...localSwapTxs, ...swapTxsHistory],\n tokensAllChains\n );\n\n const { tokens } = useFetchTokens(missingTokens);\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n return {\n ...constructSwapTransactionsData({\n swapTxsHistory,\n localSwapTxs,\n allChainsTokenMap: allTokens,\n selectedNetwork,\n }),\n isLoading,\n };\n}\n\nfunction useOtcOrderItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId;\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { address: account } = useAccount();\n\n const asMaker = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: selectedNetwork,\n asMaker: true,\n query: {\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n const asTaker = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: selectedNetwork,\n asMaker: false,\n query: {\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n const otcOrdersAsMaker = asMaker.data?.orders ?? emptyArray;\n const otcOrdersAsTaker = asTaker.data?.orders ?? emptyArray;\n\n const { tokens } = useFetchTokens(\n getNotAvailableTokens(\n [...otcOrdersAsMaker, ...otcOrdersAsTaker],\n tokensAllChains\n )\n );\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n const otcOrderItemsAsMaker = otcOrdersAsMaker.map((order) =>\n constructOtcOrderItem(order, allTokens, account)\n );\n const otcOrderItemsAsTaker = otcOrdersAsTaker.map((order) =>\n constructOtcOrderItem(order, allTokens, account)\n );\n\n const {\n completedOrders: completedOrdersAsMaker = emptyArray,\n activeOrders: activeOrdersAsMaker = emptyArray,\n } =\n otcOrdersAsMaker.length > 0\n ? filterByActiveAndCompletedOrders(otcOrderItemsAsMaker)\n : {};\n\n const {\n completedOrders: completedOrdersAsTaker = emptyArray,\n activeOrders: activeOrdersAsTaker = emptyArray,\n } =\n otcOrdersAsTaker.length > 0\n ? filterByActiveAndCompletedOrders(otcOrderItemsAsTaker)\n : {};\n\n const asMakerIsLoading = asMaker.isLoading;\n const asTakerIsLoading = asTaker.isLoading;\n\n return {\n asMaker: {\n allOrders: otcOrderItemsAsMaker,\n activeOrders: activeOrdersAsMaker,\n completedOrders: completedOrdersAsMaker,\n isLoading: asMakerIsLoading,\n },\n asTaker: {\n allOrders: otcOrderItemsAsTaker,\n activeOrders: activeOrdersAsTaker,\n completedOrders: completedOrdersAsTaker,\n isLoading: asTakerIsLoading,\n },\n };\n}\n\nfunction useLimitOrderItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { data: allOrdersData = emptyArray, isLoading: allOrdersIsLoading } =\n useUserDeltaOrdersQuery({\n orderParams: defaultOrderParams,\n query: { staleTime: LONG_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const {\n data: activeOrdersData = emptyArray,\n isLoading: activeOrdersIsLoading,\n } = useUserDeltaOrdersQuery({\n orderParams: activeOrderParams,\n query: { staleTime: LONG_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { tokens } = useFetchTokens(\n getNotAvailableTokens(\n [...allOrdersData, ...activeOrdersData],\n tokensAllChains\n )\n );\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n const { allOrders, completedOrders } = allLimitOrdersSelect({\n orders: allOrdersData,\n selectedNetwork,\n tokens: allTokens,\n });\n\n const activeOrders = activeLimitOrdersSelect({\n orders: activeOrdersData,\n selectedNetwork,\n tokens: allTokens,\n });\n\n const isLoading = allOrdersIsLoading || activeOrdersIsLoading;\n\n return {\n allOrders,\n activeOrders,\n completedOrders,\n isLoading,\n };\n}\n\nexport function useOrderItems({\n selectedNetwork,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n}) {\n const appChainId = useChainId();\n const tokensAllChains = useTokensByAddressAllChains();\n\n const otcOrders = useOtcOrderItems({\n // @TODO add all networks support on lorders API\n selectedNetwork: selectedNetwork === \"all\" ? appChainId : selectedNetwork,\n tokensAllChains,\n });\n const limitOrders = useLimitOrderItems({\n selectedNetwork,\n tokensAllChains,\n });\n\n const swapTxs = useSwapTransactionItems({\n selectedNetwork,\n tokensAllChains,\n });\n\n return {\n asMaker: {\n allOrders: [\n ...otcOrders.asMaker.allOrders,\n ...limitOrders.allOrders,\n ...swapTxs.allTxs,\n ].sort(sortOrdersFn),\n activeOrders: [\n ...otcOrders.asMaker.activeOrders,\n ...limitOrders.activeOrders,\n ...swapTxs.activeTxs,\n ].sort(sortOrdersFn),\n completedOrders: [\n ...otcOrders.asMaker.completedOrders,\n ...limitOrders.completedOrders,\n ...swapTxs.completedTxs,\n ].sort(sortOrdersFn),\n isLoading:\n otcOrders.asMaker.isLoading ||\n limitOrders.isLoading ||\n swapTxs.isLoading,\n },\n asTaker: {\n allOrders: otcOrders.asTaker.allOrders,\n activeOrders: otcOrders.asTaker.activeOrders,\n completedOrders: otcOrders.asTaker.completedOrders,\n isLoading: otcOrders.asTaker.isLoading,\n },\n };\n}\n\nconst allLimitOrdersSelect = ({\n orders,\n selectedNetwork,\n tokens,\n}: {\n orders: DeltaOrderFromAPI[];\n selectedNetwork: SupportedChainId | \"all\";\n tokens: AllChainsTokenMap;\n}) => {\n const allOrders: LimitOrderItem[] = [];\n const completedOrders: LimitOrderItem[] = [];\n\n for (const order of orders) {\n if (selectedNetwork === \"all\" || order.chainId === selectedNetwork) {\n const orderItem = constructLimitOrderItem(order, tokens);\n allOrders.push(orderItem);\n\n if (DeltaOrderStatusChecker.completed.has(order.status)) {\n completedOrders.push(orderItem);\n }\n }\n }\n\n return { allOrders, completedOrders };\n};\n\nconst activeLimitOrdersSelect = ({\n orders,\n selectedNetwork,\n tokens,\n}: {\n orders: DeltaOrderFromAPI[];\n selectedNetwork: SupportedChainId | \"all\";\n tokens: AllChainsTokenMap;\n}) => {\n const orderItems: LimitOrderItem[] = [];\n\n for (const order of orders) {\n if (selectedNetwork === \"all\" || order.chainId === selectedNetwork) {\n const orderItem = constructLimitOrderItem(order, tokens);\n orderItems.push(orderItem);\n }\n }\n\n return orderItems;\n};\n\n// @TODO these two hasOrders hooks are duplicates, need to clean up\nconst selectLimit = (auctions: DeltaOrderFromAPI[]) => auctions.length > 0;\n\nconst useUserHasActiveLimitOrders = () =>\n useUserDeltaOrdersQuery({\n orderParams: activeOrderParams,\n query: { select: selectLimit },\n });\n\nconst selectOtc = ({ orders }: LimitOrdersApiResponse) =>\n orders.filter(({ state }) => LimitOrderStateChecker.active.has(state))\n .length > 0;\n\nconst useUserHasActiveOtcOrders = () => {\n const appChainId = useChainId();\n\n const { data: hasActiveAsMaker } = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: appChainId,\n asMaker: true,\n query: { select: selectOtc },\n });\n\n const { data: hasActiveAsTaker } = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: appChainId,\n asMaker: false,\n query: { select: selectOtc },\n });\n\n return !!(hasActiveAsMaker || hasActiveAsTaker);\n};\n\nexport const useUserHasActiveOrders = () => {\n const hasActiveLimitOrders = useUserHasActiveLimitOrders();\n const hasActiveOtcOrders = useUserHasActiveOtcOrders();\n const pendingTransactions = useUserPendingTransactions();\n\n return (\n hasActiveLimitOrders.data ||\n hasActiveOtcOrders ||\n pendingTransactions.length > 0\n );\n};\n\nexport function useActivityProps() {\n const [selectedNetwork, setSelectedNetwork] = useState<\n SupportedChainId | \"all\"\n >(\"all\");\n const [selectedOrder, setSelectedOrder] = useState<OrderItem | null>(null);\n\n const resetState = () => {\n setSelectedNetwork(\"all\");\n setSelectedOrder(null);\n };\n\n const activitiesDrawerControls = useDrawerControls({\n drawerId: \"activities-drawer\",\n });\n const orderDetailsDrawerControls = useDrawerControls({\n drawerId: \"order-details\",\n onClose: resetState,\n });\n const reviewAndConfirmDrawerControls = useDrawerControls({\n drawerId: \"fill-order-review-and-confirm-drawer\",\n onClose: resetState,\n });\n const fillOrderDrawerControls = useDrawerControls({\n drawerId: \"fill-otc-order-flow-drawer\",\n onClose: resetState,\n });\n\n const hasActiveOrders = useUserHasActiveOrders();\n\n const onSelectOrder = (order: OrderItem) => {\n setSelectedOrder(order);\n\n if (isLimitOrderItem(order)) {\n orderDetailsDrawerControls.onOpen();\n return;\n }\n\n if (isOtcOrderItem(order)) {\n if (isFillableOrderItem(order)) {\n reviewAndConfirmDrawerControls.onOpen();\n } else {\n orderDetailsDrawerControls.onOpen();\n }\n return;\n }\n\n if (isTransactionListItem(order)) {\n orderDetailsDrawerControls.onOpen();\n return;\n }\n\n throw new Error(\"Unsupported order item type\");\n };\n\n return {\n selectedNetwork,\n setSelectedNetwork,\n selectedOrder,\n onSelectOrder,\n setSelectedOrder,\n activitiesDrawerControls,\n orderDetailsDrawerControls,\n reviewAndConfirmDrawerControls,\n fillOrderDrawerControls,\n hasActiveOrders,\n };\n}\n"],"names":["useSwapTransactionItems","t0","$","_c","selectedNetwork","tokensAllChains","address","account","useAccount","t1","params","limit","data","t2","isLoading","useSwapTxHistory","swapTxsHistory","undefined","emptyArray","localSwapTxs","useUserSwapTransactions","t3","getNotAvailableTokens","missingTokens","tokens","useFetchTokens","t4","fetchedTokens","gatherObjectsByProp","map","constructTokenFromFetchedTokenInfo","prepTokenKey","allTokens","constructSwapTransactionsData","allChainsTokenMap","t5","useOtcOrderItems","Symbol","for","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","orderParams","OTC_ORDERS_QUERY_PARAMS","chainId","asMaker","query","useUserLimitOrdersQuery","asTaker","otcOrdersAsMaker","orders","otcOrdersAsTaker","activeOrdersAsMaker","completedOrdersAsMaker","otcOrderItemsAsMaker","otcOrderItemsAsTaker","t6","order","constructOtcOrderItem","order_0","completedOrders","t7","activeOrders","t8","length","filterByActiveAndCompletedOrders","completedOrdersAsTaker","activeOrdersAsTaker","asMakerIsLoading","asTakerIsLoading","t9","allOrders","t10","t11","useLimitOrderItems","defaultOrderParams","allOrdersIsLoading","useUserDeltaOrdersQuery","allOrdersData","activeOrderParams","activeOrdersIsLoading","activeOrdersData","allLimitOrdersSelect","activeLimitOrdersSelect","useOrderItems","appChainId","useChainId","useTokensByAddressAllChains","otcOrders","limitOrders","swapTxs","allTxs","sort","sortOrdersFn","activeTxs","completedTxs","orderItem","constructLimitOrderItem","push","DeltaOrderStatusChecker","completed","has","status","orderItems","selectLimit","auctions","useUserHasActiveLimitOrders","select","selectOtc","filter","state","LimitOrderStateChecker","active","useUserHasActiveOtcOrders","hasActiveAsMaker","hasActiveAsTaker","useUserHasActiveOrders","hasActiveLimitOrders","hasActiveOtcOrders","pendingTransactions","useUserPendingTransactions","useActivityProps","setSelectedNetwork","useState","selectedOrder","setSelectedOrder","resetState","drawerId","activitiesDrawerControls","useDrawerControls","onClose","orderDetailsDrawerControls","reviewAndConfirmDrawerControls","fillOrderDrawerControls","hasActiveOrders","isLimitOrderItem","onOpen","isOtcOrderItem","isFillableOrderItem","isTransactionListItem","Error","onSelectOrder"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../../../../../src/components/widget/AppHeader/Activities/hooks.ts"],"sourcesContent":["import { useUserLimitOrdersQuery } from \"@/hooks/otc/queries/useLimitOrders\";\nimport { DeltaOrderStatusChecker } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { useUserDeltaOrdersQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaOrders\";\nimport { useFetchTokens } from \"@/hooks/tokens/data/useFetchTokens\";\nimport type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport {\n prepTokenKey,\n useTokensByAddressAllChains,\n} from \"@/hooks/tokens/useTokensByAddress\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { constructTokenFromFetchedTokenInfo } from \"@/tokens/constructor\";\nimport type {\n DeltaOrderFromAPI,\n LimitOrdersApiResponse,\n} from \"@velora-dex/sdk\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport {\n defaultOrderParams,\n activeOrderParams,\n} from \"../../LimitOrdersDrawer/constants\";\nimport type { LimitOrderItem } from \"../../LimitOrdersDrawer/types\";\nimport { constructLimitOrderItem } from \"../../LimitOrdersDrawer/utils\";\nimport { OTC_ORDERS_QUERY_PARAMS } from \"../../OtcOrdersDrawer/constants\";\nimport {\n constructOtcOrderItem,\n filterByActiveAndCompletedOrders,\n isFillableOrderItem,\n} from \"../../OtcOrdersDrawer/utils\";\nimport {\n getNotAvailableTokens,\n isLimitOrderItem,\n isOtcOrderItem,\n isTransactionListItem,\n sortOrdersFn,\n type OrderItem,\n} from \"./utils\";\nimport { useState } from \"react\";\nimport { useDrawerControls } from \"../../Drawer/state/useDrawerControls\";\nimport { LimitOrderStateChecker } from \"@/hooks/otc/queries/utils\";\nimport { useSwapTxHistory } from \"@/hooks/txs/queries/useTxHistory\";\nimport {\n useUserPendingTransactions,\n useUserSwapTransactions,\n} from \"@/transactions/state/hooks/useTransactions\";\nimport { constructSwapTransactionsData } from \"../../TransactionDetails/utils\";\n\nfunction useSwapTransactionItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { address: account } = useAccount();\n\n const { data: swapTxsHistory = emptyArray, isLoading } = useSwapTxHistory({\n params: { account, limit: 500 },\n });\n const localSwapTxs = useUserSwapTransactions();\n\n const missingTokens = getNotAvailableTokens(\n [...localSwapTxs, ...swapTxsHistory],\n tokensAllChains\n );\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(missingTokens);\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n return {\n ...constructSwapTransactionsData({\n swapTxsHistory,\n localSwapTxs,\n allChainsTokenMap: allTokens,\n selectedNetwork,\n }),\n isLoading,\n };\n}\n\nfunction useOtcOrderItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId;\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { address: account } = useAccount();\n\n const asMaker = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: selectedNetwork,\n asMaker: true,\n query: {\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n const asTaker = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: selectedNetwork,\n asMaker: false,\n query: {\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n const otcOrdersAsMaker = asMaker.data?.orders ?? emptyArray;\n const otcOrdersAsTaker = asTaker.data?.orders ?? emptyArray;\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(\n getNotAvailableTokens(\n [...otcOrdersAsMaker, ...otcOrdersAsTaker],\n tokensAllChains\n )\n );\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n const otcOrderItemsAsMaker = otcOrdersAsMaker.map((order) =>\n constructOtcOrderItem(order, allTokens, account)\n );\n const otcOrderItemsAsTaker = otcOrdersAsTaker.map((order) =>\n constructOtcOrderItem(order, allTokens, account)\n );\n\n const {\n completedOrders: completedOrdersAsMaker = emptyArray,\n activeOrders: activeOrdersAsMaker = emptyArray,\n } =\n otcOrdersAsMaker.length > 0\n ? filterByActiveAndCompletedOrders(otcOrderItemsAsMaker)\n : {};\n\n const {\n completedOrders: completedOrdersAsTaker = emptyArray,\n activeOrders: activeOrdersAsTaker = emptyArray,\n } =\n otcOrdersAsTaker.length > 0\n ? filterByActiveAndCompletedOrders(otcOrderItemsAsTaker)\n : {};\n\n const asMakerIsLoading = asMaker.isLoading;\n const asTakerIsLoading = asTaker.isLoading;\n\n return {\n asMaker: {\n allOrders: otcOrderItemsAsMaker,\n activeOrders: activeOrdersAsMaker,\n completedOrders: completedOrdersAsMaker,\n isLoading: asMakerIsLoading,\n },\n asTaker: {\n allOrders: otcOrderItemsAsTaker,\n activeOrders: activeOrdersAsTaker,\n completedOrders: completedOrdersAsTaker,\n isLoading: asTakerIsLoading,\n },\n };\n}\n\nfunction useLimitOrderItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { data: allOrdersData = emptyArray, isLoading: allOrdersIsLoading } =\n useUserDeltaOrdersQuery({\n orderParams: defaultOrderParams,\n query: { staleTime: LONG_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const {\n data: activeOrdersData = emptyArray,\n isLoading: activeOrdersIsLoading,\n } = useUserDeltaOrdersQuery({\n orderParams: activeOrderParams,\n query: { staleTime: LONG_STALE_TIME_FOR_REACTIVENESS },\n });\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(\n getNotAvailableTokens(\n [...allOrdersData, ...activeOrdersData],\n tokensAllChains\n )\n );\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n const { allOrders, completedOrders } = allLimitOrdersSelect({\n orders: allOrdersData,\n selectedNetwork,\n tokens: allTokens,\n });\n\n const activeOrders = activeLimitOrdersSelect({\n orders: activeOrdersData,\n selectedNetwork,\n tokens: allTokens,\n });\n\n const isLoading = allOrdersIsLoading || activeOrdersIsLoading;\n\n return {\n allOrders,\n activeOrders,\n completedOrders,\n isLoading,\n };\n}\n\nexport function useOrderItems({\n selectedNetwork,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n}) {\n const appChainId = useChainId();\n const tokensAllChains = useTokensByAddressAllChains();\n\n const otcOrders = useOtcOrderItems({\n // @TODO add all networks support on lorders API\n selectedNetwork: selectedNetwork === \"all\" ? appChainId : selectedNetwork,\n tokensAllChains,\n });\n const limitOrders = useLimitOrderItems({\n selectedNetwork,\n tokensAllChains,\n });\n\n const swapTxs = useSwapTransactionItems({\n selectedNetwork,\n tokensAllChains,\n });\n\n return {\n asMaker: {\n allOrders: [\n ...otcOrders.asMaker.allOrders,\n ...limitOrders.allOrders,\n ...swapTxs.allTxs,\n ].sort(sortOrdersFn),\n activeOrders: [\n ...otcOrders.asMaker.activeOrders,\n ...limitOrders.activeOrders,\n ...swapTxs.activeTxs,\n ].sort(sortOrdersFn),\n completedOrders: [\n ...otcOrders.asMaker.completedOrders,\n ...limitOrders.completedOrders,\n ...swapTxs.completedTxs,\n ].sort(sortOrdersFn),\n isLoading:\n otcOrders.asMaker.isLoading ||\n limitOrders.isLoading ||\n swapTxs.isLoading,\n },\n asTaker: {\n allOrders: otcOrders.asTaker.allOrders,\n activeOrders: otcOrders.asTaker.activeOrders,\n completedOrders: otcOrders.asTaker.completedOrders,\n isLoading: otcOrders.asTaker.isLoading,\n },\n };\n}\n\nconst allLimitOrdersSelect = ({\n orders,\n selectedNetwork,\n tokens,\n}: {\n orders: DeltaOrderFromAPI[];\n selectedNetwork: SupportedChainId | \"all\";\n tokens: AllChainsTokenMap;\n}) => {\n const allOrders: LimitOrderItem[] = [];\n const completedOrders: LimitOrderItem[] = [];\n\n for (const order of orders) {\n if (selectedNetwork === \"all\" || order.chainId === selectedNetwork) {\n const orderItem = constructLimitOrderItem(order, tokens);\n allOrders.push(orderItem);\n\n if (DeltaOrderStatusChecker.completed.has(order.status)) {\n completedOrders.push(orderItem);\n }\n }\n }\n\n return { allOrders, completedOrders };\n};\n\nconst activeLimitOrdersSelect = ({\n orders,\n selectedNetwork,\n tokens,\n}: {\n orders: DeltaOrderFromAPI[];\n selectedNetwork: SupportedChainId | \"all\";\n tokens: AllChainsTokenMap;\n}) => {\n const orderItems: LimitOrderItem[] = [];\n\n for (const order of orders) {\n if (selectedNetwork === \"all\" || order.chainId === selectedNetwork) {\n const orderItem = constructLimitOrderItem(order, tokens);\n orderItems.push(orderItem);\n }\n }\n\n return orderItems;\n};\n\n// @TODO these two hasOrders hooks are duplicates, need to clean up\nconst selectLimit = (auctions: DeltaOrderFromAPI[]) => auctions.length > 0;\n\nconst useUserHasActiveLimitOrders = () =>\n useUserDeltaOrdersQuery({\n orderParams: activeOrderParams,\n query: { select: selectLimit },\n });\n\nconst selectOtc = ({ orders }: LimitOrdersApiResponse) =>\n orders.filter(({ state }) => LimitOrderStateChecker.active.has(state))\n .length > 0;\n\nconst useUserHasActiveOtcOrders = () => {\n const appChainId = useChainId();\n\n const { data: hasActiveAsMaker } = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: appChainId,\n asMaker: true,\n query: { select: selectOtc },\n });\n\n const { data: hasActiveAsTaker } = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: appChainId,\n asMaker: false,\n query: { select: selectOtc },\n });\n\n return !!(hasActiveAsMaker || hasActiveAsTaker);\n};\n\nexport const useUserHasActiveOrders = () => {\n const hasActiveLimitOrders = useUserHasActiveLimitOrders();\n const hasActiveOtcOrders = useUserHasActiveOtcOrders();\n const pendingTransactions = useUserPendingTransactions();\n\n return (\n hasActiveLimitOrders.data ||\n hasActiveOtcOrders ||\n pendingTransactions.length > 0\n );\n};\n\nexport function useActivityProps() {\n const [selectedNetwork, setSelectedNetwork] = useState<\n SupportedChainId | \"all\"\n >(\"all\");\n const [selectedOrder, setSelectedOrder] = useState<OrderItem | null>(null);\n\n const resetState = () => {\n setSelectedNetwork(\"all\");\n setSelectedOrder(null);\n };\n\n const activitiesDrawerControls = useDrawerControls({\n drawerId: \"activities-drawer\",\n });\n const orderDetailsDrawerControls = useDrawerControls({\n drawerId: \"order-details\",\n onClose: resetState,\n });\n const reviewAndConfirmDrawerControls = useDrawerControls({\n drawerId: \"fill-order-review-and-confirm-drawer\",\n onClose: resetState,\n });\n const fillOrderDrawerControls = useDrawerControls({\n drawerId: \"fill-otc-order-flow-drawer\",\n onClose: resetState,\n });\n\n const hasActiveOrders = useUserHasActiveOrders();\n\n const onSelectOrder = (order: OrderItem) => {\n setSelectedOrder(order);\n\n if (isLimitOrderItem(order)) {\n orderDetailsDrawerControls.onOpen();\n return;\n }\n\n if (isOtcOrderItem(order)) {\n if (isFillableOrderItem(order)) {\n reviewAndConfirmDrawerControls.onOpen();\n } else {\n orderDetailsDrawerControls.onOpen();\n }\n return;\n }\n\n if (isTransactionListItem(order)) {\n orderDetailsDrawerControls.onOpen();\n return;\n }\n\n throw new Error(\"Unsupported order item type\");\n };\n\n return {\n selectedNetwork,\n setSelectedNetwork,\n selectedOrder,\n onSelectOrder,\n setSelectedOrder,\n activitiesDrawerControls,\n orderDetailsDrawerControls,\n reviewAndConfirmDrawerControls,\n fillOrderDrawerControls,\n hasActiveOrders,\n };\n}\n"],"names":["useSwapTransactionItems","t0","$","_c","selectedNetwork","tokensAllChains","address","account","useAccount","t1","params","limit","data","t2","isLoading","useSwapTxHistory","swapTxsHistory","undefined","emptyArray","localSwapTxs","useUserSwapTransactions","t3","getNotAvailableTokens","missingTokens","tokens","useFetchTokens","t4","fetchedTokens","gatherObjectsByProp","map","constructTokenFromFetchedTokenInfo","prepTokenKey","allTokens","constructSwapTransactionsData","allChainsTokenMap","t5","useOtcOrderItems","Symbol","for","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","orderParams","OTC_ORDERS_QUERY_PARAMS","chainId","asMaker","query","useUserLimitOrdersQuery","asTaker","otcOrdersAsMaker","orders","otcOrdersAsTaker","activeOrdersAsMaker","completedOrdersAsMaker","otcOrderItemsAsMaker","otcOrderItemsAsTaker","t6","order","constructOtcOrderItem","order_0","completedOrders","t7","activeOrders","t8","length","filterByActiveAndCompletedOrders","completedOrdersAsTaker","activeOrdersAsTaker","asMakerIsLoading","asTakerIsLoading","t9","allOrders","t10","t11","useLimitOrderItems","defaultOrderParams","allOrdersIsLoading","useUserDeltaOrdersQuery","allOrdersData","activeOrderParams","activeOrdersIsLoading","activeOrdersData","allLimitOrdersSelect","activeLimitOrdersSelect","useOrderItems","appChainId","useChainId","useTokensByAddressAllChains","otcOrders","limitOrders","swapTxs","allTxs","sort","sortOrdersFn","activeTxs","completedTxs","orderItem","constructLimitOrderItem","push","DeltaOrderStatusChecker","completed","has","status","orderItems","selectLimit","auctions","useUserHasActiveLimitOrders","select","selectOtc","filter","state","LimitOrderStateChecker","active","useUserHasActiveOtcOrders","hasActiveAsMaker","hasActiveAsTaker","useUserHasActiveOrders","hasActiveLimitOrders","hasActiveOtcOrders","pendingTransactions","useUserPendingTransactions","useActivityProps","setSelectedNetwork","useState","selectedOrder","setSelectedOrder","resetState","drawerId","activitiesDrawerControls","useDrawerControls","onClose","orderDetailsDrawerControls","reviewAndConfirmDrawerControls","fillOrderDrawerControls","hasActiveOrders","isLimitOrderItem","onOpen","isOtcOrderItem","isFillableOrderItem","isTransactionListItem","Error","onSelectOrder"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/AppHeader/Activities/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,cAAc,GAAG,mBAAmB,CAAC;AAC5E,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,CAAC;AAExB,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,IAAI,YAAY,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,IAAI,cAAc,CAExE;AACD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,GACd,IAAI,IAAI,mBAAmB,CAE7B;AAED,KAAK,mBAAmB,GAAG,QAAQ,CAC/B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,EAAE,WAAW,CAAC,GACxD,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CACzC,CAAC;AAEF,wBAAgB,YAAY,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,mBAAmB,UAe1E;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/AppHeader/Activities/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,cAAc,GAAG,mBAAmB,CAAC;AAC5E,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,CAAC;AAExB,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,IAAI,YAAY,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,IAAI,cAAc,CAExE;AACD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,GACd,IAAI,IAAI,mBAAmB,CAE7B;AAED,KAAK,mBAAmB,GAAG,QAAQ,CAC/B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,EAAE,WAAW,CAAC,GACxD,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CACzC,CAAC;AAEF,wBAAgB,YAAY,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,mBAAmB,UAe1E;AAuBD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,YAAY,EAAE,EAC1B,QAAQ,EAAE,iBAAiB,GAC1B;IACD,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CAyCA"}
|
|
@@ -41,22 +41,26 @@ function getNotAvailableTokens(orderItems, tokenMap) {
|
|
|
41
41
|
srcToken,
|
|
42
42
|
destToken
|
|
43
43
|
} = getTokenAddresses(item);
|
|
44
|
-
|
|
44
|
+
const srcChainId = item.chainId;
|
|
45
|
+
const destChainId = "order" in item && isOrderCrosschain(item.order) ? item.order.bridge.destinationChainId : item.chainId;
|
|
46
|
+
if (isSupportedChainId(srcChainId)) {
|
|
45
47
|
const srcTokenKey = prepTokenKey({
|
|
46
48
|
address: srcToken,
|
|
47
|
-
network:
|
|
49
|
+
network: srcChainId
|
|
48
50
|
});
|
|
49
51
|
if (!tokenMap[srcTokenKey]) {
|
|
50
52
|
addresses.add(srcToken);
|
|
51
|
-
chainIds.add(
|
|
53
|
+
chainIds.add(srcChainId);
|
|
52
54
|
}
|
|
55
|
+
}
|
|
56
|
+
if (isSupportedChainId(destChainId)) {
|
|
53
57
|
const destTokenKey = prepTokenKey({
|
|
54
58
|
address: destToken,
|
|
55
|
-
network:
|
|
59
|
+
network: destChainId
|
|
56
60
|
});
|
|
57
61
|
if (!tokenMap[destTokenKey]) {
|
|
58
62
|
addresses.add(destToken);
|
|
59
|
-
chainIds.add(
|
|
63
|
+
chainIds.add(destChainId);
|
|
60
64
|
}
|
|
61
65
|
}
|
|
62
66
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../src/components/widget/AppHeader/Activities/utils.ts"],"sourcesContent":["import type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport type { LimitOrderItem } from \"../../LimitOrdersDrawer/types\";\nimport type { OtcOrderItem } from \"../../OtcOrdersDrawer/types\";\nimport type { Address, Prettify } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { prepTokenKey } from \"@/hooks/tokens/useTokensByAddress\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { isOrderCrosschain } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport type { DeltaOrderFromAPI, LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport type { TransactionListItem } from \"../../TransactionDetails/types\";\nimport type { TransactionItemSwap } from \"@/transactions/types\";\n\nexport type OrderItem = OtcOrderItem | LimitOrderItem | TransactionListItem;\nexport type RawOrderItem =\n | LimitOrderFromApi\n | DeltaOrderFromAPI\n | TransactionItemSwap;\n\nexport function isOtcOrderItem(item: OrderItem): item is OtcOrderItem {\n return item.itemType === \"otc-order\";\n}\n\nexport function isLimitOrderItem(item: OrderItem): item is LimitOrderItem {\n return item.itemType === \"limit-order\";\n}\nexport function isTransactionListItem(\n item: OrderItem\n): item is TransactionListItem {\n return item.itemType === \"transaction\";\n}\n\ntype OrderComparisonData = Prettify<\n | Pick<DeltaOrderFromAPI | LimitOrderFromApi, \"createdAt\">\n | Pick<TransactionItemSwap, \"timestamp\">\n>;\n\nexport function sortOrdersFn(a: OrderComparisonData, b: OrderComparisonData) {\n const itemAComparisonValue = \"createdAt\" in a ? a.createdAt : a.timestamp;\n const itemBComparisonValue = \"createdAt\" in b ? b.createdAt : b.timestamp;\n\n if (\n itemAComparisonValue === undefined ||\n itemBComparisonValue === undefined\n ) {\n return 0;\n }\n\n return (\n new Date(itemBComparisonValue).getTime() -\n new Date(itemAComparisonValue).getTime()\n );\n}\n\nfunction getTokenAddresses(item: RawOrderItem) {\n if (\"makerAsset\" in item)\n return {\n srcToken: item.makerAsset,\n destToken: item.takerAsset,\n };\n\n if (\"order\" in item)\n return {\n srcToken: item.order.srcToken,\n destToken: isOrderCrosschain(item.order)\n ? item.order.bridge.outputToken\n : item.order.destToken,\n };\n\n return {\n srcToken: item.transactionSpecificData.srcTokenAddress,\n destToken: item.transactionSpecificData.destTokenAddress,\n };\n}\n\
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../src/components/widget/AppHeader/Activities/utils.ts"],"sourcesContent":["import type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport type { LimitOrderItem } from \"../../LimitOrdersDrawer/types\";\nimport type { OtcOrderItem } from \"../../OtcOrdersDrawer/types\";\nimport type { Address, Prettify } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { prepTokenKey } from \"@/hooks/tokens/useTokensByAddress\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { isOrderCrosschain } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport type { DeltaOrderFromAPI, LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport type { TransactionListItem } from \"../../TransactionDetails/types\";\nimport type { TransactionItemSwap } from \"@/transactions/types\";\n\nexport type OrderItem = OtcOrderItem | LimitOrderItem | TransactionListItem;\nexport type RawOrderItem =\n | LimitOrderFromApi\n | DeltaOrderFromAPI\n | TransactionItemSwap;\n\nexport function isOtcOrderItem(item: OrderItem): item is OtcOrderItem {\n return item.itemType === \"otc-order\";\n}\n\nexport function isLimitOrderItem(item: OrderItem): item is LimitOrderItem {\n return item.itemType === \"limit-order\";\n}\nexport function isTransactionListItem(\n item: OrderItem\n): item is TransactionListItem {\n return item.itemType === \"transaction\";\n}\n\ntype OrderComparisonData = Prettify<\n | Pick<DeltaOrderFromAPI | LimitOrderFromApi, \"createdAt\">\n | Pick<TransactionItemSwap, \"timestamp\">\n>;\n\nexport function sortOrdersFn(a: OrderComparisonData, b: OrderComparisonData) {\n const itemAComparisonValue = \"createdAt\" in a ? a.createdAt : a.timestamp;\n const itemBComparisonValue = \"createdAt\" in b ? b.createdAt : b.timestamp;\n\n if (\n itemAComparisonValue === undefined ||\n itemBComparisonValue === undefined\n ) {\n return 0;\n }\n\n return (\n new Date(itemBComparisonValue).getTime() -\n new Date(itemAComparisonValue).getTime()\n );\n}\n\nfunction getTokenAddresses(item: RawOrderItem) {\n if (\"makerAsset\" in item)\n return {\n srcToken: item.makerAsset,\n destToken: item.takerAsset,\n };\n\n if (\"order\" in item)\n return {\n srcToken: item.order.srcToken,\n destToken: isOrderCrosschain(item.order)\n ? item.order.bridge.outputToken\n : item.order.destToken,\n };\n\n return {\n srcToken: item.transactionSpecificData.srcTokenAddress,\n destToken: item.transactionSpecificData.destTokenAddress,\n };\n}\n\nexport function getNotAvailableTokens(\n orderItems: RawOrderItem[],\n tokenMap: AllChainsTokenMap\n): {\n addresses: Address[];\n chainIds: SupportedChainId[];\n} {\n const addresses = new Set<Address>();\n const chainIds = new Set<SupportedChainId>();\n\n orderItems.forEach((item) => {\n const { srcToken, destToken } = getTokenAddresses(item);\n const srcChainId = item.chainId;\n const destChainId =\n \"order\" in item && isOrderCrosschain(item.order)\n ? item.order.bridge.destinationChainId\n : item.chainId;\n\n if (isSupportedChainId(srcChainId)) {\n const srcTokenKey = prepTokenKey({\n address: srcToken,\n network: srcChainId,\n });\n\n if (!tokenMap[srcTokenKey]) {\n addresses.add(srcToken as Address);\n chainIds.add(srcChainId);\n }\n }\n\n if (isSupportedChainId(destChainId)) {\n const destTokenKey = prepTokenKey({\n address: destToken,\n network: destChainId,\n });\n\n if (!tokenMap[destTokenKey]) {\n addresses.add(destToken as Address);\n chainIds.add(destChainId);\n }\n }\n });\n\n return {\n addresses: Array.from(addresses),\n chainIds: Array.from(chainIds),\n };\n}\n"],"names":["isOtcOrderItem","item","itemType","isLimitOrderItem","isTransactionListItem","sortOrdersFn","a","b","itemAComparisonValue","createdAt","timestamp","itemBComparisonValue","undefined","Date","getTime","getTokenAddresses","srcToken","makerAsset","destToken","takerAsset","order","isOrderCrosschain","bridge","outputToken","transactionSpecificData","srcTokenAddress","destTokenAddress","getNotAvailableTokens","orderItems","tokenMap","addresses","Set","chainIds","forEach","srcChainId","chainId","destChainId","destinationChainId","isSupportedChainId","srcTokenKey","prepTokenKey","address","network","add","destTokenKey","Array","from"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/OtcOrdersDrawer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAGjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,iBAAiB,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,CAAC,EAAE,OAAO,GAChB,YAAY,CA6Dd;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/OtcOrdersDrawer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAGjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,iBAAiB,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,CAAC,EAAE,OAAO,GAChB,YAAY,CA6Dd;AAGD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,QAAQ,EAAE,iBAAiB,GAC1B;IACD,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CAgCA;AAED,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,YAAY,EAAE;;;EAa3E;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,GAClB,KAAK,IAAI,qBAAqB,CAGhC;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,GAClB,KAAK,IAAI,oBAAoB,CAM/B;AAED,eAAO,MAAM,qBAAqB,GAChC,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EACnC,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,eAOpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../src/components/widget/OtcOrdersDrawer/utils.ts"],"sourcesContent":["import type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport { prepTokenKey } from \"@/hooks/tokens/useTokensByAddress\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport type { LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport type {\n OtcOrderItem,\n OtcOrderItemWithExtra,\n FillableOtcOrderItem,\n} from \"./types\";\nimport { formatUnits, type Address } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { LimitOrderStateChecker } from \"@/hooks/otc/queries/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport function constructOtcOrderItem(\n order: LimitOrderFromApi,\n allChainsTokenMap: AllChainsTokenMap,\n account?: Address\n): OtcOrderItem {\n const srcAmount = order.makerAmount;\n const destAmount = order.takerAmount;\n\n let srcToken: Token | undefined;\n let destToken: Token | undefined;\n\n let srcAmountUnit: string | undefined;\n let destAmountUnit: string | undefined;\n\n if (isSupportedChainId(order.chainId)) {\n const srcTokenKey = prepTokenKey({\n address: order.makerAsset,\n network: order.chainId,\n });\n\n const foundSrcToken = allChainsTokenMap[srcTokenKey];\n if (foundSrcToken) {\n srcToken = foundSrcToken;\n srcAmountUnit = formatUnits(BigInt(srcAmount), foundSrcToken.decimals);\n }\n\n const destTokenKey = prepTokenKey({\n address: order.takerAsset,\n network: order.chainId,\n });\n\n const foundDestToken = allChainsTokenMap[destTokenKey];\n if (foundDestToken) {\n destToken = foundDestToken;\n destAmountUnit = formatUnits(BigInt(destAmount), foundDestToken.decimals);\n }\n }\n\n const userIsTaker =\n !!account && account.toLowerCase() === order.taker.toLowerCase();\n\n const extra = userIsTaker\n ? {\n srcToken: destToken,\n destToken: srcToken,\n srcAmount: destAmount,\n destAmount: srcAmount,\n srcAmountUnit: destAmountUnit,\n destAmountUnit: srcAmountUnit,\n }\n : {\n srcToken,\n destToken,\n srcAmount,\n destAmount,\n srcAmountUnit,\n destAmountUnit,\n };\n\n return {\n ...order,\n extra,\n userIsTaker,\n itemType: \"otc-order\",\n };\n}\n\nexport function getNotAvailableTokens(\n orderItems: LimitOrderFromApi[],\n tokenMap: AllChainsTokenMap\n): {\n addresses: Address[];\n chainIds: SupportedChainId[];\n} {\n const addresses = new Set<Address>();\n const chainIds = new Set<SupportedChainId>();\n\n orderItems.forEach((item) => {\n if (isSupportedChainId(item.chainId)) {\n const srcTokenKey = prepTokenKey({\n address: item.makerAsset,\n network: item.chainId,\n });\n\n if (!tokenMap[srcTokenKey]) {\n addresses.add(item.makerAsset as Address);\n chainIds.add(item.chainId);\n }\n\n const destTokenKey = prepTokenKey({\n address: item.takerAsset,\n network: item.chainId,\n });\n\n if (!tokenMap[destTokenKey]) {\n addresses.add(item.takerAsset as Address);\n chainIds.add(item.chainId);\n }\n }\n });\n\n return {\n addresses: Array.from(addresses),\n chainIds: Array.from(chainIds),\n };\n}\n\nexport function filterByActiveAndCompletedOrders(limitOrders: OtcOrderItem[]) {\n const activeOrders: OtcOrderItem[] = [];\n const completedOrders: OtcOrderItem[] = [];\n\n limitOrders.forEach((order) => {\n if (LimitOrderStateChecker.active.has(order.state)) {\n activeOrders.push(order);\n } else {\n completedOrders.push(order);\n }\n });\n\n return { activeOrders, completedOrders };\n}\n\nexport function isOtcOrderWithExtra(\n order: OtcOrderItem\n): order is OtcOrderItemWithExtra {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = order.extra;\n return !!(srcToken && destToken && srcAmountUnit && destAmountUnit);\n}\n\nexport function isFillableOrderItem(\n order: OtcOrderItem\n): order is FillableOtcOrderItem {\n return !!(\n isOtcOrderWithExtra(order) &&\n order.userIsTaker &&\n LimitOrderStateChecker.active.has(order.state)\n );\n}\n\nexport const sortOrdersActiveFirst = (\n a: Pick<LimitOrderFromApi, \"state\">,\n b: Pick<LimitOrderFromApi, \"state\">\n) => {\n const aIsPending = LimitOrderStateChecker.active.has(a.state);\n const bIsPending = LimitOrderStateChecker.active.has(b.state);\n if (aIsPending && !bIsPending) return -1;\n if (!aIsPending && bIsPending) return 1;\n return 0;\n};\n"],"names":["constructOtcOrderItem","order","allChainsTokenMap","account","srcAmount","makerAmount","destAmount","takerAmount","srcToken","destToken","srcAmountUnit","destAmountUnit","isSupportedChainId","chainId","srcTokenKey","prepTokenKey","address","makerAsset","network","foundSrcToken","formatUnits","BigInt","decimals","destTokenKey","takerAsset","foundDestToken","userIsTaker","toLowerCase","taker","extra","itemType","filterByActiveAndCompletedOrders","limitOrders","activeOrders","completedOrders","forEach","LimitOrderStateChecker","active","has","state","push","isOtcOrderWithExtra","isFillableOrderItem"],"mappings":";;;;;AAcO,SAASA,qBAAAA,CACdC,KAAAA,EACAC,iBAAAA,EACAC,OAAAA,EACc;AACd,EAAA,MAAMC,YAAYH,KAAAA,CAAMI,WAAAA;AACxB,EAAA,MAAMC,aAAaL,KAAAA,CAAMM,WAAAA;AAEzB,EAAA,IAAIC,QAAAA;AACJ,EAAA,IAAIC,SAAAA;AAEJ,EAAA,IAAIC,aAAAA;AACJ,EAAA,IAAIC,cAAAA;AAEJ,EAAA,IAAIC,kBAAAA,CAAmBX,KAAAA,CAAMY,OAAO,CAAA,EAAG;AACrC,IAAA,MAAMC,cAAcC,YAAAA,CAAa;AAAA,MAC/BC,SAASf,KAAAA,CAAMgB,UAAAA;AAAAA,MACfC,SAASjB,KAAAA,CAAMY;AAAAA,KAChB,CAAA;AAED,IAAA,MAAMM,aAAAA,GAAgBjB,kBAAkBY,WAAW,CAAA;AACnD,IAAA,IAAIK,aAAAA,EAAe;AACjBX,MAAAA,QAAAA,GAAWW,aAAAA;AACXT,MAAAA,aAAAA,GAAgBU,WAAAA,CAAYC,MAAAA,CAAOjB,SAAS,CAAA,EAAGe,cAAcG,QAAQ,CAAA;AAAA,IACvE;AAEA,IAAA,MAAMC,eAAeR,YAAAA,CAAa;AAAA,MAChCC,SAASf,KAAAA,CAAMuB,UAAAA;AAAAA,MACfN,SAASjB,KAAAA,CAAMY;AAAAA,KAChB,CAAA;AAED,IAAA,MAAMY,cAAAA,GAAiBvB,kBAAkBqB,YAAY,CAAA;AACrD,IAAA,IAAIE,cAAAA,EAAgB;AAClBhB,MAAAA,SAAAA,GAAYgB,cAAAA;AACZd,MAAAA,cAAAA,GAAiBS,WAAAA,CAAYC,MAAAA,CAAOf,UAAU,CAAA,EAAGmB,eAAeH,QAAQ,CAAA;AAAA,IAC1E;AAAA,EACF;AAEA,EAAA,MAAMI,WAAAA,GACJ,CAAC,CAACvB,OAAAA,IAAWA,QAAQwB,WAAAA,EAAY,KAAM1B,KAAAA,CAAM2B,KAAAA,CAAMD,WAAAA,EAAY;AAEjE,EAAA,MAAME,QAAQH,WAAAA,GACV;AAAA,IACElB,QAAAA,EAAUC,SAAAA;AAAAA,IACVA,SAAAA,EAAWD,QAAAA;AAAAA,IACXJ,SAAAA,EAAWE,UAAAA;AAAAA,IACXA,UAAAA,EAAYF,SAAAA;AAAAA,IACZM,aAAAA,EAAeC,cAAAA;AAAAA,IACfA,cAAAA,EAAgBD;AAAAA,GAClB,GACA;AAAA,IACEF,QAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAL,SAAAA;AAAAA,IACAE,UAAAA;AAAAA,IACAI,aAAAA;AAAAA,IACAC;AAAAA,GACF;AAEJ,EAAA,OAAO;AAAA,IACL,GAAGV,KAAAA;AAAAA,IACH4B,KAAAA;AAAAA,IACAH,WAAAA;AAAAA,IACAI,QAAAA,EAAU;AAAA,GACZ;AACF;
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/components/widget/OtcOrdersDrawer/utils.ts"],"sourcesContent":["import type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport { prepTokenKey } from \"@/hooks/tokens/useTokensByAddress\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport type { LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport type {\n OtcOrderItem,\n OtcOrderItemWithExtra,\n FillableOtcOrderItem,\n} from \"./types\";\nimport { formatUnits, type Address } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { LimitOrderStateChecker } from \"@/hooks/otc/queries/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport function constructOtcOrderItem(\n order: LimitOrderFromApi,\n allChainsTokenMap: AllChainsTokenMap,\n account?: Address\n): OtcOrderItem {\n const srcAmount = order.makerAmount;\n const destAmount = order.takerAmount;\n\n let srcToken: Token | undefined;\n let destToken: Token | undefined;\n\n let srcAmountUnit: string | undefined;\n let destAmountUnit: string | undefined;\n\n if (isSupportedChainId(order.chainId)) {\n const srcTokenKey = prepTokenKey({\n address: order.makerAsset,\n network: order.chainId,\n });\n\n const foundSrcToken = allChainsTokenMap[srcTokenKey];\n if (foundSrcToken) {\n srcToken = foundSrcToken;\n srcAmountUnit = formatUnits(BigInt(srcAmount), foundSrcToken.decimals);\n }\n\n const destTokenKey = prepTokenKey({\n address: order.takerAsset,\n network: order.chainId,\n });\n\n const foundDestToken = allChainsTokenMap[destTokenKey];\n if (foundDestToken) {\n destToken = foundDestToken;\n destAmountUnit = formatUnits(BigInt(destAmount), foundDestToken.decimals);\n }\n }\n\n const userIsTaker =\n !!account && account.toLowerCase() === order.taker.toLowerCase();\n\n const extra = userIsTaker\n ? {\n srcToken: destToken,\n destToken: srcToken,\n srcAmount: destAmount,\n destAmount: srcAmount,\n srcAmountUnit: destAmountUnit,\n destAmountUnit: srcAmountUnit,\n }\n : {\n srcToken,\n destToken,\n srcAmount,\n destAmount,\n srcAmountUnit,\n destAmountUnit,\n };\n\n return {\n ...order,\n extra,\n userIsTaker,\n itemType: \"otc-order\",\n };\n}\n\n// @TODO Activities cleanup\nexport function getNotAvailableTokens(\n orderItems: LimitOrderFromApi[],\n tokenMap: AllChainsTokenMap\n): {\n addresses: Address[];\n chainIds: SupportedChainId[];\n} {\n const addresses = new Set<Address>();\n const chainIds = new Set<SupportedChainId>();\n\n orderItems.forEach((item) => {\n if (isSupportedChainId(item.chainId)) {\n const srcTokenKey = prepTokenKey({\n address: item.makerAsset,\n network: item.chainId,\n });\n\n if (!tokenMap[srcTokenKey]) {\n addresses.add(item.makerAsset as Address);\n chainIds.add(item.chainId);\n }\n\n const destTokenKey = prepTokenKey({\n address: item.takerAsset,\n network: item.chainId,\n });\n\n if (!tokenMap[destTokenKey]) {\n addresses.add(item.takerAsset as Address);\n chainIds.add(item.chainId);\n }\n }\n });\n\n return {\n addresses: Array.from(addresses),\n chainIds: Array.from(chainIds),\n };\n}\n\nexport function filterByActiveAndCompletedOrders(limitOrders: OtcOrderItem[]) {\n const activeOrders: OtcOrderItem[] = [];\n const completedOrders: OtcOrderItem[] = [];\n\n limitOrders.forEach((order) => {\n if (LimitOrderStateChecker.active.has(order.state)) {\n activeOrders.push(order);\n } else {\n completedOrders.push(order);\n }\n });\n\n return { activeOrders, completedOrders };\n}\n\nexport function isOtcOrderWithExtra(\n order: OtcOrderItem\n): order is OtcOrderItemWithExtra {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = order.extra;\n return !!(srcToken && destToken && srcAmountUnit && destAmountUnit);\n}\n\nexport function isFillableOrderItem(\n order: OtcOrderItem\n): order is FillableOtcOrderItem {\n return !!(\n isOtcOrderWithExtra(order) &&\n order.userIsTaker &&\n LimitOrderStateChecker.active.has(order.state)\n );\n}\n\nexport const sortOrdersActiveFirst = (\n a: Pick<LimitOrderFromApi, \"state\">,\n b: Pick<LimitOrderFromApi, \"state\">\n) => {\n const aIsPending = LimitOrderStateChecker.active.has(a.state);\n const bIsPending = LimitOrderStateChecker.active.has(b.state);\n if (aIsPending && !bIsPending) return -1;\n if (!aIsPending && bIsPending) return 1;\n return 0;\n};\n"],"names":["constructOtcOrderItem","order","allChainsTokenMap","account","srcAmount","makerAmount","destAmount","takerAmount","srcToken","destToken","srcAmountUnit","destAmountUnit","isSupportedChainId","chainId","srcTokenKey","prepTokenKey","address","makerAsset","network","foundSrcToken","formatUnits","BigInt","decimals","destTokenKey","takerAsset","foundDestToken","userIsTaker","toLowerCase","taker","extra","itemType","filterByActiveAndCompletedOrders","limitOrders","activeOrders","completedOrders","forEach","LimitOrderStateChecker","active","has","state","push","isOtcOrderWithExtra","isFillableOrderItem"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwapModeSwitcherExpandable.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SwapModeSwitcherExpandable.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAa/D,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAC/C,+BAA+B,CA6BhC,CAAC"}
|
|
@@ -5,8 +5,7 @@ import { AccordionTrigger, AccordionContent, AccordionItem, Accordion } from '..
|
|
|
5
5
|
import { DetailWithTooltip } from '../Details/DetailWithTooltip.js';
|
|
6
6
|
import { DeltaIcon } from '../Icon/DeltaIcon.js';
|
|
7
7
|
import { MarketIcon } from '../Icon/MarketIcon.js';
|
|
8
|
-
import {
|
|
9
|
-
import { swapModeAtom } from './state/swapModeAtom.js';
|
|
8
|
+
import { useSetAtom } from 'jotai';
|
|
10
9
|
import { setSwapModeAtom } from './state/swapModeActionsAtom.js';
|
|
11
10
|
import { useSwapPrices } from '../../../hooks/swap/prices/useSwapPrices.js';
|
|
12
11
|
import { formatFiatPrice } from '../../../lib/utils/formatFiatPrice.js';
|
|
@@ -18,11 +17,11 @@ import { ErrorBoundary } from 'react-error-boundary';
|
|
|
18
17
|
import { useWidgetEvents } from '../../../core/state/widgetEventsAtom.js';
|
|
19
18
|
|
|
20
19
|
const SwapModeSwitcherExpandable = (t0) => {
|
|
21
|
-
const $ = distExports.c(
|
|
20
|
+
const $ = distExports.c(16);
|
|
22
21
|
const {
|
|
23
|
-
classes
|
|
22
|
+
classes,
|
|
23
|
+
currentEffectiveMode
|
|
24
24
|
} = t0;
|
|
25
|
-
const swapMode = useAtomValue(swapModeAtom);
|
|
26
25
|
const t1 = classes?.root;
|
|
27
26
|
let t2;
|
|
28
27
|
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -32,12 +31,12 @@ const SwapModeSwitcherExpandable = (t0) => {
|
|
|
32
31
|
t2 = $[0];
|
|
33
32
|
}
|
|
34
33
|
let t3;
|
|
35
|
-
if ($[1] !==
|
|
36
|
-
t3 =
|
|
34
|
+
if ($[1] !== currentEffectiveMode) {
|
|
35
|
+
t3 = currentEffectiveMode === "delta" ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
|
|
37
36
|
/* @__PURE__ */ jsx(DeltaIcon, {}),
|
|
38
37
|
" Delta"
|
|
39
38
|
] }) : "Market";
|
|
40
|
-
$[1] =
|
|
39
|
+
$[1] = currentEffectiveMode;
|
|
41
40
|
$[2] = t3;
|
|
42
41
|
} else {
|
|
43
42
|
t3 = $[2];
|
|
@@ -54,52 +53,69 @@ const SwapModeSwitcherExpandable = (t0) => {
|
|
|
54
53
|
t4 = $[4];
|
|
55
54
|
}
|
|
56
55
|
let t5;
|
|
57
|
-
if ($[5]
|
|
58
|
-
t5 = /* @__PURE__ */ jsxs(
|
|
59
|
-
/* @__PURE__ */
|
|
60
|
-
|
|
61
|
-
/* @__PURE__ */ jsx(MarketModeItem, {})
|
|
62
|
-
] }),
|
|
63
|
-
/* @__PURE__ */ jsx(DexesListWithErrorBoundary, {})
|
|
56
|
+
if ($[5] !== currentEffectiveMode) {
|
|
57
|
+
t5 = /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
58
|
+
/* @__PURE__ */ jsx(DeltaModeItem, { currentEffectiveMode }),
|
|
59
|
+
/* @__PURE__ */ jsx(MarketModeItem, { currentEffectiveMode })
|
|
64
60
|
] });
|
|
65
|
-
$[5] =
|
|
61
|
+
$[5] = currentEffectiveMode;
|
|
62
|
+
$[6] = t5;
|
|
66
63
|
} else {
|
|
67
|
-
t5 = $[
|
|
64
|
+
t5 = $[6];
|
|
68
65
|
}
|
|
69
66
|
let t6;
|
|
70
|
-
if ($[
|
|
71
|
-
t6 = /* @__PURE__ */
|
|
72
|
-
t4,
|
|
73
|
-
t5
|
|
74
|
-
] });
|
|
75
|
-
$[6] = t4;
|
|
67
|
+
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
68
|
+
t6 = /* @__PURE__ */ jsx(DexesListWithErrorBoundary, {});
|
|
76
69
|
$[7] = t6;
|
|
77
70
|
} else {
|
|
78
71
|
t6 = $[7];
|
|
79
72
|
}
|
|
80
73
|
let t7;
|
|
81
|
-
if ($[8] !==
|
|
82
|
-
t7 = /* @__PURE__ */
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
74
|
+
if ($[8] !== t5) {
|
|
75
|
+
t7 = /* @__PURE__ */ jsxs(AccordionContent, { children: [
|
|
76
|
+
t5,
|
|
77
|
+
t6
|
|
78
|
+
] });
|
|
79
|
+
$[8] = t5;
|
|
80
|
+
$[9] = t7;
|
|
86
81
|
} else {
|
|
87
|
-
t7 = $[
|
|
82
|
+
t7 = $[9];
|
|
88
83
|
}
|
|
89
|
-
|
|
84
|
+
let t8;
|
|
85
|
+
if ($[10] !== t4 || $[11] !== t7) {
|
|
86
|
+
t8 = /* @__PURE__ */ jsxs(AccordionItem, { value: "item-1", children: [
|
|
87
|
+
t4,
|
|
88
|
+
t7
|
|
89
|
+
] });
|
|
90
|
+
$[10] = t4;
|
|
91
|
+
$[11] = t7;
|
|
92
|
+
$[12] = t8;
|
|
93
|
+
} else {
|
|
94
|
+
t8 = $[12];
|
|
95
|
+
}
|
|
96
|
+
let t9;
|
|
97
|
+
if ($[13] !== t1 || $[14] !== t8) {
|
|
98
|
+
t9 = /* @__PURE__ */ jsx(Accordion, { type: "single", collapsible: true, className: t1, children: t8 });
|
|
99
|
+
$[13] = t1;
|
|
100
|
+
$[14] = t8;
|
|
101
|
+
$[15] = t9;
|
|
102
|
+
} else {
|
|
103
|
+
t9 = $[15];
|
|
104
|
+
}
|
|
105
|
+
return t9;
|
|
90
106
|
};
|
|
91
107
|
const SwapModeItem = (t0) => {
|
|
92
108
|
const $ = distExports.c(23);
|
|
93
109
|
const {
|
|
94
110
|
icon,
|
|
95
111
|
mode,
|
|
112
|
+
currentEffectiveMode,
|
|
96
113
|
fees,
|
|
97
114
|
tooltip,
|
|
98
115
|
classes,
|
|
99
116
|
onClick
|
|
100
117
|
} = t0;
|
|
101
|
-
const
|
|
102
|
-
const t1 = swapMode === mode;
|
|
118
|
+
const t1 = currentEffectiveMode === mode;
|
|
103
119
|
let t2;
|
|
104
120
|
if ($[0] !== classes?.root || $[1] !== t1) {
|
|
105
121
|
t2 = cn("py-[14px] px-4 flex flex-1 gap-3 items-center bg-contrast-7 dark:bg-contrast-3 cursor-pointer rounded-md", {
|
|
@@ -194,8 +210,11 @@ const SwapModeItem = (t0) => {
|
|
|
194
210
|
}
|
|
195
211
|
return t11;
|
|
196
212
|
};
|
|
197
|
-
const DeltaModeItem = () => {
|
|
198
|
-
const $ = distExports.c(
|
|
213
|
+
const DeltaModeItem = (t0) => {
|
|
214
|
+
const $ = distExports.c(14);
|
|
215
|
+
const {
|
|
216
|
+
currentEffectiveMode
|
|
217
|
+
} = t0;
|
|
199
218
|
const setSwapMode = useSetAtom(setSwapModeAtom);
|
|
200
219
|
const {
|
|
201
220
|
onSettingsChange
|
|
@@ -205,9 +224,9 @@ const DeltaModeItem = () => {
|
|
|
205
224
|
enabledOnCurrentChain
|
|
206
225
|
} = useGlobalDeltaEnabled();
|
|
207
226
|
const isEnabled = enabledInConfig && enabledOnCurrentChain;
|
|
208
|
-
let
|
|
227
|
+
let t1;
|
|
209
228
|
if ($[0] !== isEnabled || $[1] !== onSettingsChange || $[2] !== setSwapMode) {
|
|
210
|
-
|
|
229
|
+
t1 = !isEnabled ? void 0 : () => {
|
|
211
230
|
setSwapMode("delta");
|
|
212
231
|
onSettingsChange?.({
|
|
213
232
|
event: {
|
|
@@ -221,59 +240,63 @@ const DeltaModeItem = () => {
|
|
|
221
240
|
$[0] = isEnabled;
|
|
222
241
|
$[1] = onSettingsChange;
|
|
223
242
|
$[2] = setSwapMode;
|
|
224
|
-
$[3] =
|
|
243
|
+
$[3] = t1;
|
|
225
244
|
} else {
|
|
226
|
-
|
|
245
|
+
t1 = $[3];
|
|
227
246
|
}
|
|
228
|
-
const onClick =
|
|
229
|
-
let
|
|
247
|
+
const onClick = t1;
|
|
248
|
+
let t2;
|
|
230
249
|
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
231
|
-
|
|
232
|
-
$[4] =
|
|
250
|
+
t2 = /* @__PURE__ */ jsx(DeltaIcon, {});
|
|
251
|
+
$[4] = t2;
|
|
233
252
|
} else {
|
|
234
|
-
|
|
253
|
+
t2 = $[4];
|
|
235
254
|
}
|
|
236
|
-
let
|
|
255
|
+
let t3;
|
|
237
256
|
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
238
|
-
|
|
239
|
-
$[5] =
|
|
257
|
+
t3 = /* @__PURE__ */ jsx("div", { className: "text-[#A5D712]", children: "Gasless" });
|
|
258
|
+
$[5] = t3;
|
|
240
259
|
} else {
|
|
241
|
-
|
|
260
|
+
t3 = $[5];
|
|
242
261
|
}
|
|
243
|
-
const
|
|
244
|
-
let
|
|
245
|
-
if ($[6] !==
|
|
246
|
-
|
|
247
|
-
"cursor-not-allowed":
|
|
262
|
+
const t4 = !isEnabled;
|
|
263
|
+
let t5;
|
|
264
|
+
if ($[6] !== t4) {
|
|
265
|
+
t5 = cn({
|
|
266
|
+
"cursor-not-allowed": t4
|
|
248
267
|
});
|
|
249
|
-
$[6] =
|
|
250
|
-
$[7] =
|
|
268
|
+
$[6] = t4;
|
|
269
|
+
$[7] = t5;
|
|
251
270
|
} else {
|
|
252
|
-
|
|
271
|
+
t5 = $[7];
|
|
253
272
|
}
|
|
254
|
-
let
|
|
255
|
-
if ($[8] !==
|
|
256
|
-
|
|
257
|
-
root:
|
|
273
|
+
let t6;
|
|
274
|
+
if ($[8] !== t5) {
|
|
275
|
+
t6 = {
|
|
276
|
+
root: t5
|
|
258
277
|
};
|
|
259
|
-
$[8] =
|
|
260
|
-
$[9] =
|
|
278
|
+
$[8] = t5;
|
|
279
|
+
$[9] = t6;
|
|
261
280
|
} else {
|
|
262
|
-
|
|
281
|
+
t6 = $[9];
|
|
263
282
|
}
|
|
264
|
-
let
|
|
265
|
-
if ($[10] !==
|
|
266
|
-
|
|
267
|
-
$[10] =
|
|
268
|
-
$[11] =
|
|
283
|
+
let t7;
|
|
284
|
+
if ($[10] !== currentEffectiveMode || $[11] !== onClick || $[12] !== t6) {
|
|
285
|
+
t7 = /* @__PURE__ */ jsx(SwapModeItem, { icon: t2, mode: "delta", currentEffectiveMode, fees: t3, tooltip: "Estimated network fees", onClick, classes: t6 });
|
|
286
|
+
$[10] = currentEffectiveMode;
|
|
287
|
+
$[11] = onClick;
|
|
269
288
|
$[12] = t6;
|
|
289
|
+
$[13] = t7;
|
|
270
290
|
} else {
|
|
271
|
-
|
|
291
|
+
t7 = $[13];
|
|
272
292
|
}
|
|
273
|
-
return
|
|
293
|
+
return t7;
|
|
274
294
|
};
|
|
275
|
-
const MarketModeItem = () => {
|
|
276
|
-
const $ = distExports.c(
|
|
295
|
+
const MarketModeItem = (t0) => {
|
|
296
|
+
const $ = distExports.c(16);
|
|
297
|
+
const {
|
|
298
|
+
currentEffectiveMode
|
|
299
|
+
} = t0;
|
|
277
300
|
const setSwapMode = useSetAtom(setSwapModeAtom);
|
|
278
301
|
const {
|
|
279
302
|
onSettingsChange
|
|
@@ -281,20 +304,20 @@ const MarketModeItem = () => {
|
|
|
281
304
|
const gasCostUSD = useSwapPrices({
|
|
282
305
|
enabled: false
|
|
283
306
|
}).market.price?.gasCostUSD;
|
|
284
|
-
let
|
|
307
|
+
let t1;
|
|
285
308
|
if ($[0] !== gasCostUSD) {
|
|
286
|
-
|
|
309
|
+
t1 = gasCostUSD !== void 0 ? formatFiatPrice(Number(gasCostUSD)) : void 0;
|
|
287
310
|
$[0] = gasCostUSD;
|
|
288
|
-
$[1] =
|
|
311
|
+
$[1] = t1;
|
|
289
312
|
} else {
|
|
290
|
-
|
|
313
|
+
t1 = $[1];
|
|
291
314
|
}
|
|
292
|
-
const formattedGasCostUSD =
|
|
315
|
+
const formattedGasCostUSD = t1;
|
|
293
316
|
const marketNetworkFees = formattedGasCostUSD !== void 0 ? formattedGasCostUSD === "$0.00" ? "<$0.01" : formattedGasCostUSD : "N/A";
|
|
294
317
|
const isCrossChain = useIsCrossChain();
|
|
295
|
-
let
|
|
318
|
+
let t2;
|
|
296
319
|
if ($[2] !== isCrossChain || $[3] !== onSettingsChange || $[4] !== setSwapMode) {
|
|
297
|
-
|
|
320
|
+
t2 = isCrossChain ? void 0 : () => {
|
|
298
321
|
setSwapMode("market");
|
|
299
322
|
onSettingsChange?.({
|
|
300
323
|
event: {
|
|
@@ -308,49 +331,50 @@ const MarketModeItem = () => {
|
|
|
308
331
|
$[2] = isCrossChain;
|
|
309
332
|
$[3] = onSettingsChange;
|
|
310
333
|
$[4] = setSwapMode;
|
|
311
|
-
$[5] =
|
|
334
|
+
$[5] = t2;
|
|
312
335
|
} else {
|
|
313
|
-
|
|
336
|
+
t2 = $[5];
|
|
314
337
|
}
|
|
315
|
-
const onClick =
|
|
316
|
-
let
|
|
338
|
+
const onClick = t2;
|
|
339
|
+
let t3;
|
|
317
340
|
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
318
|
-
|
|
319
|
-
$[6] =
|
|
341
|
+
t3 = /* @__PURE__ */ jsx(MarketIcon, {});
|
|
342
|
+
$[6] = t3;
|
|
320
343
|
} else {
|
|
321
|
-
|
|
344
|
+
t3 = $[6];
|
|
322
345
|
}
|
|
323
|
-
let
|
|
346
|
+
let t4;
|
|
324
347
|
if ($[7] !== isCrossChain) {
|
|
325
|
-
|
|
348
|
+
t4 = cn({
|
|
326
349
|
"cursor-not-allowed": isCrossChain
|
|
327
350
|
});
|
|
328
351
|
$[7] = isCrossChain;
|
|
329
|
-
$[8] =
|
|
352
|
+
$[8] = t4;
|
|
330
353
|
} else {
|
|
331
|
-
|
|
354
|
+
t4 = $[8];
|
|
332
355
|
}
|
|
333
|
-
let
|
|
334
|
-
if ($[9] !==
|
|
335
|
-
|
|
336
|
-
root:
|
|
356
|
+
let t5;
|
|
357
|
+
if ($[9] !== t4) {
|
|
358
|
+
t5 = {
|
|
359
|
+
root: t4
|
|
337
360
|
};
|
|
338
|
-
$[9] =
|
|
339
|
-
$[10] =
|
|
361
|
+
$[9] = t4;
|
|
362
|
+
$[10] = t5;
|
|
340
363
|
} else {
|
|
341
|
-
|
|
364
|
+
t5 = $[10];
|
|
342
365
|
}
|
|
343
|
-
let
|
|
344
|
-
if ($[11] !==
|
|
345
|
-
|
|
346
|
-
$[11] =
|
|
347
|
-
$[12] =
|
|
348
|
-
$[13] =
|
|
366
|
+
let t6;
|
|
367
|
+
if ($[11] !== currentEffectiveMode || $[12] !== marketNetworkFees || $[13] !== onClick || $[14] !== t5) {
|
|
368
|
+
t6 = /* @__PURE__ */ jsx(SwapModeItem, { icon: t3, mode: "market", currentEffectiveMode, fees: marketNetworkFees, tooltip: "Estimated network fees", onClick, classes: t5 });
|
|
369
|
+
$[11] = currentEffectiveMode;
|
|
370
|
+
$[12] = marketNetworkFees;
|
|
371
|
+
$[13] = onClick;
|
|
349
372
|
$[14] = t5;
|
|
373
|
+
$[15] = t6;
|
|
350
374
|
} else {
|
|
351
|
-
|
|
375
|
+
t6 = $[15];
|
|
352
376
|
}
|
|
353
|
-
return
|
|
377
|
+
return t6;
|
|
354
378
|
};
|
|
355
379
|
const DexesListWithErrorBoundary = () => {
|
|
356
380
|
const $ = distExports.c(5);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwapModeSwitcherExpandable.js","sources":["../../../../src/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport { DetailWithTooltip } from \"@/components/widget/Details/DetailWithTooltip\";\nimport { DeltaIcon } from \"@/components/widget/Icon/DeltaIcon\";\nimport { MarketIcon } from \"@/components/widget/Icon/MarketIcon\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { swapModeAtom } from \"./state/swapModeAtom\";\nimport { setSwapModeAtom } from \"./state/swapModeActionsAtom\";\nimport type { SwapModeSwitcherExpandableProps } from \"./types\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\n\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { DexesList } from \"../DexesList/DexesList\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\n\nexport const SwapModeSwitcherExpandable: React.FC<\n SwapModeSwitcherExpandableProps\n> = ({ classes }) => {\n const swapMode = useAtomValue(swapModeAtom);\n\n return (\n <Accordion type=\"single\" collapsible className={classes?.root}>\n <AccordionItem value=\"item-1\">\n <AccordionTrigger>\n <div className=\"flex items-center justify-between flex-1 gap-2\">\n <div>Swap Mode</div>\n <div>\n {swapMode === \"delta\" ? (\n <div className=\"flex items-center gap-1\">\n <DeltaIcon /> Delta\n </div>\n ) : (\n \"Market\"\n )}\n </div>\n </div>\n </AccordionTrigger>\n <AccordionContent>\n <div className=\"flex items-center justify-between gap-4\">\n <DeltaModeItem />\n <MarketModeItem />\n </div>\n <DexesListWithErrorBoundary />\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n};\n\nconst SwapModeItem: React.FC<\n {\n icon: React.ReactNode;\n mode: \"delta\" | \"market\";\n fees: React.ReactNode;\n tooltip: string;\n onClick?: () => void;\n } & WithClasses<\"root\">\n> = ({ icon, mode, fees, tooltip, classes, onClick }) => {\n const swapMode = useAtomValue(swapModeAtom);\n\n return (\n <div\n className={cn(\n \"py-[14px] px-4 flex flex-1 gap-3 items-center bg-contrast-7 dark:bg-contrast-3 cursor-pointer rounded-md\",\n {\n \"outline outline-primary-azul-1\": swapMode === mode,\n },\n classes?.root\n )}\n onClick={onClick}\n >\n <div>{icon}</div>\n <div className=\"flex flex-1 flex-col gap-1\">\n <div className=\"dark:text-contrast-9 text-sm\">\n {mode === \"delta\" ? \"Delta\" : \"Market\"}\n </div>\n <div className=\"flex items-center justify-between\">\n <DetailWithTooltip\n detail={\"Fees\"}\n tooltip={tooltip}\n classes={{\n icon: \"dark:fill-contrast-5 size-[12px]\",\n root: \"text-[10px]\",\n }}\n />\n <div className=\"text-[10px] font-geist-mono\">{fees}</div>\n </div>\n </div>\n </div>\n );\n};\n\nconst DeltaModeItem = () => {\n const setSwapMode = useSetAtom(setSwapModeAtom);\n const { onSettingsChange } = useWidgetEvents();\n\n const { enabledInConfig, enabledOnCurrentChain } = useGlobalDeltaEnabled();\n const isEnabled = enabledInConfig && enabledOnCurrentChain;\n\n const onClick = !isEnabled\n ? undefined\n : () => {\n setSwapMode(\"delta\");\n onSettingsChange?.({\n event: {\n name: \"Settings:switchSwapMode\",\n params: {\n swapMode: \"delta\",\n },\n },\n });\n };\n\n return (\n <SwapModeItem\n icon={<DeltaIcon />}\n mode=\"delta\"\n fees={<div className=\"text-[#A5D712]\">Gasless</div>}\n tooltip=\"Estimated network fees\"\n onClick={onClick}\n classes={{\n root: cn({\n \"cursor-not-allowed\": !isEnabled,\n }),\n }}\n />\n );\n};\n\nconst MarketModeItem = () => {\n const setSwapMode = useSetAtom(setSwapModeAtom);\n const { onSettingsChange } = useWidgetEvents();\n\n const gasCostUSD = useSwapPrices({\n enabled: false,\n }).market.price?.gasCostUSD;\n\n const formattedGasCostUSD =\n gasCostUSD !== undefined ? formatFiatPrice(Number(gasCostUSD)) : undefined;\n const marketNetworkFees =\n formattedGasCostUSD !== undefined\n ? formattedGasCostUSD === \"$0.00\"\n ? \"<$0.01\"\n : formattedGasCostUSD\n : \"N/A\";\n\n const isCrossChain = useIsCrossChain();\n\n const onClick = isCrossChain\n ? undefined\n : () => {\n setSwapMode(\"market\");\n onSettingsChange?.({\n event: {\n name: \"Settings:switchSwapMode\",\n params: {\n swapMode: \"market\",\n },\n },\n });\n };\n\n return (\n <SwapModeItem\n icon={<MarketIcon />}\n mode=\"market\"\n fees={marketNetworkFees}\n tooltip=\"Estimated network fees\"\n onClick={onClick}\n classes={{\n root: cn({\n \"cursor-not-allowed\": isCrossChain,\n }),\n }}\n />\n );\n};\n\nconst DexesListWithErrorBoundary = () => {\n const { priceMode, market } = useSwapPrices({ enabled: false });\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n if (priceMode !== \"market\" || !market.price || !tokenTo) return null;\n\n return (\n <ErrorBoundary fallback={null}>\n <DexesList\n marketPrice={market.price}\n tokenFrom={tokenFrom}\n tokenTo={tokenTo}\n />\n </ErrorBoundary>\n );\n};\n"],"names":["SwapModeSwitcherExpandable","t0","$","_c","classes","swapMode","useAtomValue","swapModeAtom","t1","root","t2","Symbol","for","t3","t4","t5","t6","t7","SwapModeItem","icon","mode","fees","tooltip","onClick","cn","t8","t9","t10","t11","DeltaModeItem","setSwapMode","useSetAtom","setSwapModeAtom","onSettingsChange","useWidgetEvents","enabledInConfig","enabledOnCurrentChain","useGlobalDeltaEnabled","isEnabled","undefined","event","name","params","MarketModeItem","gasCostUSD","useSwapPrices","enabled","market","price","formatFiatPrice","Number","formattedGasCostUSD","marketNetworkFees","isCrossChain","useIsCrossChain","DexesListWithErrorBoundary","priceMode","tokenFrom","tokenTo","useWidgetTokens"],"mappings":";;;;;;;;;;;;;;;;;;;AAyBO,MAAMA,6BAETC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AACH,EAAA,MAAAI,QAAAA,GAAiBC,aAAAC,YAAyB,CAAA;AAGQ,EAAA,MAAAC,KAAAJ,OAAAA,EAAOK,IAAAA;AAAM,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAR,EAAA,CAAA,CAAA,KAAAS,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAIrDF,IAAAA,EAAAA,mBAAA,GAAA,CAAA,SAAK,QAAA,EAAA,WAAA,EAAS,CAAA;AAAMR,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAG,QAAAA,EAAA;AAEjBQ,IAAAA,EAAAA,GAAAR,QAAAA,KAAa,OAAA,mBACZ,IAAA,CAAA,KAAA,EAAA,EAAe,WAAA,yBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,SAAA,EAAA,EAAS,CAAA;AAAA,MAAG;AAAA,KAAA,EACf,CAAA,GAEA,QAAA;AACDH,IAAAA,CAAAA,MAAAG,QAAAA;AAAAH,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAW,EAAAA,EAAA;AAVPC,IAAAA,EAAAA,mBAAA,GAAA,CAAC,gBAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,WAAA,gDAAA,EACbJ,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,sBACA,GAAA,UACGG,QAAAA,EAAAA,EAAAA,EAOH;AAAA,KAAA,EACF,CAAA,EACF,CAAA;AAAmBX,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAS,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACnBG,IAAAA,EAAAA,wBAAC,gBAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,WAAA,yCAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,aAAA,EAAA;4BACA,cAAA,EAAA,EAAc;AAAA,OAAA,EACjB,CAAA;AAAA,0BACC,0BAAA,EAAA,EAA0B;AAAA,KAAA,EAC7B,CAAA;AAAmBb,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAd,CAAAA,QAAAY,EAAAA,EAAA;AArBrBE,IAAAA,EAAAA,mBAAA,IAAA,CAAC,aAAA,EAAA,EAAoB,KAAA,EAAA,QAAA,EACnBF,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAcAC;AAAAA,KAAAA,EAOF,CAAA;AAAgBb,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAe,EAAAA;AAAA,EAAA,IAAAf,EAAA,CAAA,CAAA,KAAAM,MAAAN,CAAAA,QAAAc,EAAAA,EAAA;AAvBlBC,IAAAA,EAAAA,mBAAA,GAAA,CAAC,aAAe,IAAA,EAAA,QAAA,EAAS,aAAA,IAAA,EAAuB,SAAA,EAAAT,IAC9CQ,QAAAA,EAAAA,EAAAA,EAuBF,CAAA;AAAYd,IAAAA,CAAAA,MAAAM,EAAAA;AAAAN,IAAAA,CAAAA,MAAAc,EAAAA;AAAAd,IAAAA,CAAAA,OAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAxBZe,EAAAA;AAwBY;AAIhB,MAAMC,eAQFjB,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAgB,IAAAA;AAAAA,IAAAC,IAAAA;AAAAA,IAAAC,IAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAlB,OAAAA;AAAAA,IAAAmB;AAAAA,GAAA,GAAAtB,EAAAA;AACH,EAAA,MAAAI,QAAAA,GAAiBC,aAAAC,YAAyB,CAAA;AAOA,EAAA,MAAAC,KAAAH,QAAAA,KAAae,IAAAA;AAAI,EAAA,IAAAV,EAAAA;AAAA,EAAA,IAAAR,CAAAA,QAAAE,OAAAA,EAAAK,QAAAP,CAAAA,QAAAM,EAAAA,EAAA;AAH5CE,IAAAA,EAAAA,GAAAc,GACT,0GAAA,EAA0G;AAAA,MAAA,gCAAA,EAEtEhB;AAAAA,KAAiB,EAErDJ,SAAOK,IACT,CAAA;AAACP,IAAAA,CAAAA,CAAA,CAAA,IAAAE,OAAAA,EAAAK,IAAAA;AAAAP,IAAAA,CAAAA,MAAAM,EAAAA;AAAAN,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAiB,IAAAA,EAAA;AAGDN,IAAAA,EAAAA,mBAAA,GAAA,CAAA,SAAMM,QAAAA,EAAAA,IAAAA,EAAK,CAAA;AAAMjB,IAAAA,CAAAA,MAAAiB,IAAAA;AAAAjB,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAGZ,EAAA,MAAAY,EAAAA,GAAAM,IAAAA,KAAS,OAAA,GAAU,OAAA,GAAU,QAAA;AAAQ,EAAA,IAAAL,EAAAA;AAAA,EAAA,IAAAb,CAAAA,QAAAY,EAAAA,EAAA;AADxCC,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,8BAAA,EACZD,QAAAA,EAAAA,EAAAA,EACH,CAAA;AAAMZ,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAAS,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAKOI,IAAAA,EAAAA,GAAA;AAAA,MAAAG,IAAAA,EACD,kCAAA;AAAA,MAAkCV,IAAAA,EAClC;AAAA,KAAa;AACpBP,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAe,EAAAA;AAAA,EAAA,IAAAf,CAAAA,QAAAoB,OAAAA,EAAA;AANHL,IAAAA,EAAAA,uBAAC,iBAAA,EAAA,EACS,MAAA,EAAA,MAAA,EACCK,OAAAA,EACA,SAAAN,EAAAA,EAGR,CAAA;AACDd,IAAAA,CAAAA,MAAAoB,OAAAA;AAAApB,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAuB,EAAAA;AAAA,EAAA,IAAAvB,CAAAA,SAAAmB,IAAAA,EAAA;AACFI,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,6BAAA,EAA+BJ,QAAAA,EAAAA,IAAAA,EAAK,CAAA;AAAMnB,IAAAA,CAAAA,OAAAmB,IAAAA;AAAAnB,IAAAA,CAAAA,OAAAuB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAvB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAwB,EAAAA;AAAA,EAAA,IAAAxB,EAAA,EAAA,CAAA,KAAAe,MAAAf,CAAAA,SAAAuB,EAAAA,EAAA;AAT3DC,IAAAA,EAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,mCAAA,EACbT,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAQAQ;AAAAA,KAAAA,EACF,CAAA;AAAMvB,IAAAA,CAAAA,OAAAe,EAAAA;AAAAf,IAAAA,CAAAA,OAAAuB,EAAAA;AAAAvB,IAAAA,CAAAA,OAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAyB,GAAAA;AAAA,EAAA,IAAAzB,EAAA,EAAA,CAAA,KAAAa,MAAAb,CAAAA,SAAAwB,EAAAA,EAAA;AAdRC,IAAAA,GAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,4BAAA,EACbZ,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAGAW;AAAAA,KAAAA,EAWF,CAAA;AAAMxB,IAAAA,CAAAA,OAAAa,EAAAA;AAAAb,IAAAA,CAAAA,OAAAwB,EAAAA;AAAAxB,IAAAA,CAAAA,OAAAyB,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAzB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA0B,GAAAA;AAAA,EAAA,IAAA1B,CAAAA,CAAA,EAAA,CAAA,KAAAqB,OAAAA,IAAArB,EAAA,EAAA,CAAA,KAAAyB,GAAAA,IAAAzB,CAAAA,CAAA,EAAA,CAAA,KAAAQ,EAAAA,IAAAR,CAAAA,SAAAW,EAAAA,EAAA;AA1BRe,IAAAA,GAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EACa,SAAA,EAAAlB,EAAAA,EAOFa,OAAAA,EAETV,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MACAc;AAAAA,KAAAA,EAgBF,CAAA;AAAMzB,IAAAA,CAAAA,OAAAqB,OAAAA;AAAArB,IAAAA,CAAAA,OAAAyB,GAAAA;AAAAzB,IAAAA,CAAAA,OAAAQ,EAAAA;AAAAR,IAAAA,CAAAA,OAAAW,EAAAA;AAAAX,IAAAA,CAAAA,OAAA0B,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAA1B,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OA3BN0B,GAAAA;AA2BM,CAAA;AAIV,MAAMC,gBAAgBA,MAAA;AAAA,EAAA,MAAA3B,CAAAA,GAAAC,cAAA,EAAA,CAAA;AACpB,EAAA,MAAA2B,WAAAA,GAAoBC,WAAAC,eAA0B,CAAA;AAC9C,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA6BC,eAAAA,EAAgB;AAE7C,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC;AAAAA,MAAmDC,qBAAAA,EAAsB;AACzE,EAAA,MAAAC,YAAkBH,eAAAA,IAAmBC,qBAAAA;AAAsB,EAAA,IAAAnC,EAAAA;AAAA,EAAA,IAAAC,CAAAA,CAAA,CAAA,CAAA,KAAAoC,SAAAA,IAAApC,CAAAA,QAAA+B,gBAAAA,IAAA/B,CAAAA,CAAA,CAAA,CAAA,KAAA4B,WAAAA,EAAA;AAE3C7B,IAAAA,EAAAA,GAAA,CAACqC,SAAAA,GAASC,MAAAA,GAAA,MAAA;AAGpBT,MAAAA,WAAAA,CAAY,OAAO,CAAA;AACnBG,MAAAA,gBAAAA,GAAgB;AAAA,QAAAO,KAAAA,EAAA;AAAA,UAAAC,IAAAA,EAEN,yBAAA;AAAA,UAAyBC,MAAAA,EAAA;AAAA,YAAArC,QAAAA,EAEnB;AAAA;AAAO;AAAA,OAAA,CAAA;AAAA,IAAA,CAAA;AAIxBH,IAAAA,CAAAA,MAAAoC,SAAAA;AAAApC,IAAAA,CAAAA,MAAA+B,gBAAAA;AAAA/B,IAAAA,CAAAA,MAAA4B,WAAAA;AAAA5B,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAZL,EAAA,MAAAqB,OAAAA,GAAgBtB,EAAAA;AAYV,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,EAAA,CAAA,CAAA,KAAAS,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAIIJ,IAAAA,EAAAA,uBAAC,SAAA,EAAA,EAAS,CAAA;AAAGN,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAR,EAAA,CAAA,CAAA,KAAAS,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAEbF,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,gBAAA,EAAiB,QAAA,EAAA,SAAA,EAAO,CAAA;AAAMR,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAKzB,EAAA,MAAAW,MAACyB,SAAAA;AAAS,EAAA,IAAAxB,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAW,EAAAA,EAAA;AAD5BC,IAAAA,EAAAA,GAAAU,EAAAA,CAAA;AAAA,MAAA,oBAAA,EACkBX;AAAAA,KACvB,CAAA;AAACX,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,CAAAA,QAAAY,EAAAA,EAAA;AAHKC,IAAAA,EAAAA,GAAA;AAAA,MAAAN,IAAAA,EACDK;AAAAA,KAEJ;AACHZ,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAd,EAAA,EAAA,CAAA,KAAAqB,WAAArB,CAAAA,SAAAa,EAAAA,EAAA;AAVHC,IAAAA,EAAAA,mBAAA,GAAA,CAAC,YAAA,EAAA,EACO,IAAA,EAAAR,EAAAA,EACD,IAAA,EAAA,OAAA,EACC,IAAA,EAAAE,EAAAA,EACE,OAAA,EAAA,wBAAA,EACCa,OAAAA,EACA,OAAA,EAAAR,EAAAA,EAIR,CAAA;AACDb,IAAAA,CAAAA,OAAAqB,OAAAA;AAAArB,IAAAA,CAAAA,OAAAa,EAAAA;AAAAb,IAAAA,CAAAA,OAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAXFc,EAAAA;AAWE,CAAA;AAIN,MAAM2B,iBAAiBA,MAAA;AAAA,EAAA,MAAAzC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AACrB,EAAA,MAAA2B,WAAAA,GAAoBC,WAAAC,eAA0B,CAAA;AAC9C,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA6BC,eAAAA,EAAgB;AAE7C,EAAA,MAAAU,aAAmBC,aAAAA,CAAA;AAAA,IAAAC,OAAAA,EAAA;AAAA,GAElB,CAAA,CAACC,MAAAA,CAAAC,KAAAA,EAAAJ,UAAAA;AAA0B,EAAA,IAAA3C,EAAAA;AAAA,EAAA,IAAAC,CAAAA,QAAA0C,UAAAA,EAAA;AAG1B3C,IAAAA,EAAAA,GAAA2C,eAAUL,MAAAA,GAAiBU,eAAAA,CAAgBC,MAAAA,CAAON,UAAU,CAAC,CAAA,GAACL,MAAAA;AAAYrC,IAAAA,CAAAA,MAAA0C,UAAAA;AAAA1C,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAD5E,EAAA,MAAAiD,mBAAAA,GACElD,EAAAA;AACF,EAAA,MAAAmD,oBACED,mBAAAA,KAAmBZ,MAAAA,GACfY,mBAAAA,KAAwB,OAAA,GACtB,WACAA,mBAAAA,GACF,KAAA;AAEN,EAAA,MAAAE,eAAqBC,eAAAA,EAAgB;AAAE,EAAA,IAAA9C,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAmD,YAAAA,IAAAnD,CAAAA,QAAA+B,gBAAAA,IAAA/B,CAAAA,CAAA,CAAA,CAAA,KAAA4B,WAAAA,EAAA;AAEvBtB,IAAAA,EAAAA,GAAA6C,YAAAA,GAAYd,SAAA,MAAA;AAGtBT,MAAAA,WAAAA,CAAY,QAAQ,CAAA;AACpBG,MAAAA,gBAAAA,GAAgB;AAAA,QAAAO,KAAAA,EAAA;AAAA,UAAAC,IAAAA,EAEN,yBAAA;AAAA,UAAyBC,MAAAA,EAAA;AAAA,YAAArC,QAAAA,EAEnB;AAAA;AAAQ;AAAA,OAAA,CAAA;AAAA,IAAA,CAAA;AAIzBH,IAAAA,CAAAA,MAAAmD,YAAAA;AAAAnD,IAAAA,CAAAA,MAAA+B,gBAAAA;AAAA/B,IAAAA,CAAAA,MAAA4B,WAAAA;AAAA5B,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAZL,EAAA,MAAAqB,OAAAA,GAAgBf,EAAAA;AAYV,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAR,EAAA,CAAA,CAAA,KAAAS,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAIIF,IAAAA,EAAAA,uBAAC,UAAA,EAAA,EAAU,CAAA;AAAGR,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAmD,YAAAA,EAAA;AAMZxC,IAAAA,EAAAA,GAAAW,EAAAA,CAAA;AAAA,MAAA,oBAAA,EACkB6B;AAAAA,KACvB,CAAA;AAACnD,IAAAA,CAAAA,MAAAmD,YAAAA;AAAAnD,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAW,EAAAA,EAAA;AAHKC,IAAAA,EAAAA,GAAA;AAAA,MAAAL,IAAAA,EACDI;AAAAA,KAEJ;AACHX,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,OAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,CAAAA,CAAA,EAAA,CAAA,KAAAkD,iBAAAA,IAAAlD,CAAAA,SAAAqB,OAAAA,IAAArB,CAAAA,CAAA,EAAA,CAAA,KAAAY,EAAAA,EAAA;AAVHC,IAAAA,EAAAA,mBAAA,GAAA,CAAC,YAAA,EAAA,EACO,IAAA,EAAAL,EAAAA,EACD,IAAA,EAAA,QAAA,EACC0C,IAAAA,EAAAA,iBAAAA,EACE,OAAA,EAAA,wBAAA,EACC7B,OAAAA,EACA,OAAA,EAAAT,EAAAA,EAIR,CAAA;AACDZ,IAAAA,CAAAA,OAAAkD,iBAAAA;AAAAlD,IAAAA,CAAAA,OAAAqB,OAAAA;AAAArB,IAAAA,CAAAA,OAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,OAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAXFa,EAAAA;AAWE,CAAA;AAIN,MAAMwC,6BAA6BA,MAAA;AAAA,EAAA,MAAArD,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAF,EAAAA;AAAA,EAAA,IAAAC,EAAA,CAAA,CAAA,KAAAS,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACWX,IAAAA,EAAAA,GAAA;AAAA,MAAA6C,OAAAA,EAAA;AAAA,KAAA;AAAkB5C,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9D,EAAA,MAAA;AAAA,IAAAsD,SAAAA;AAAAA,IAAAT;AAAAA,GAAA,GAA8BF,cAAc5C,EAAkB,CAAA;AAC9D,EAAA,MAAA;AAAA,IAAAwD,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAA+BC,gBAAgB,MAAM,CAAA;AAAE,EAAA,IAEnDH,cAAc,QAAA,IAAQ,CAAKT,MAAAA,CAAMC,KAAAA,KAAWU,OAAAA,EAAO;AAAA,IAAA,OAAA,IAAA;AAAA,EAAA;AAAA,EAAA,IAAAlD,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAA6C,MAAAA,CAAAC,KAAAA,IAAA9C,CAAAA,CAAA,CAAA,CAAA,KAAAuD,SAAAA,IAAAvD,CAAAA,CAAA,CAAA,CAAA,KAAAwD,OAAAA,EAAA;AAGrDlD,IAAAA,EAAAA,mBAAA,GAAA,CAAC,aAAA,EAAA,EAAwB,QAAA,EAAA,IAAA,EACvB,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EACc,WAAA,EAAAuC,MAAAA,CAAMC,KAAAA,EACRS,SAAAA,EACFC,OAAAA,EAAO,CAAA,EAEpB,CAAA;AAAgBxD,IAAAA,CAAAA,CAAA,CAAA,IAAA6C,MAAAA,CAAAC,KAAAA;AAAA9C,IAAAA,CAAAA,MAAAuD,SAAAA;AAAAvD,IAAAA,CAAAA,MAAAwD,OAAAA;AAAAxD,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANhBM,EAAAA;AAMgB,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"SwapModeSwitcherExpandable.js","sources":["../../../../src/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport { DetailWithTooltip } from \"@/components/widget/Details/DetailWithTooltip\";\nimport { DeltaIcon } from \"@/components/widget/Icon/DeltaIcon\";\nimport { MarketIcon } from \"@/components/widget/Icon/MarketIcon\";\nimport { useSetAtom } from \"jotai\";\nimport { setSwapModeAtom } from \"./state/swapModeActionsAtom\";\nimport type { SwapModeSwitcherExpandableProps } from \"./types\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\n\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { DexesList } from \"../DexesList/DexesList\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport type { SwapMode } from \"./state/types\";\n\nexport const SwapModeSwitcherExpandable: React.FC<\n SwapModeSwitcherExpandableProps\n> = ({ classes, currentEffectiveMode }) => {\n return (\n <Accordion type=\"single\" collapsible className={classes?.root}>\n <AccordionItem value=\"item-1\">\n <AccordionTrigger>\n <div className=\"flex items-center justify-between flex-1 gap-2\">\n <div>Swap Mode</div>\n <div>\n {currentEffectiveMode === \"delta\" ? (\n <div className=\"flex items-center gap-1\">\n <DeltaIcon /> Delta\n </div>\n ) : (\n \"Market\"\n )}\n </div>\n </div>\n </AccordionTrigger>\n <AccordionContent>\n <div className=\"flex items-center justify-between gap-4\">\n <DeltaModeItem currentEffectiveMode={currentEffectiveMode} />\n <MarketModeItem currentEffectiveMode={currentEffectiveMode} />\n </div>\n <DexesListWithErrorBoundary />\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n};\n\nconst SwapModeItem: React.FC<\n {\n icon: React.ReactNode;\n mode: SwapMode;\n // with consideration for deltaPrice.errors and market as fallback\n currentEffectiveMode: SwapMode;\n fees: React.ReactNode;\n tooltip: string;\n onClick?: () => void;\n } & WithClasses<\"root\">\n> = ({ icon, mode, currentEffectiveMode, fees, tooltip, classes, onClick }) => {\n return (\n <div\n className={cn(\n \"py-[14px] px-4 flex flex-1 gap-3 items-center bg-contrast-7 dark:bg-contrast-3 cursor-pointer rounded-md\",\n {\n \"outline outline-primary-azul-1\": currentEffectiveMode === mode,\n },\n classes?.root\n )}\n onClick={onClick}\n >\n <div>{icon}</div>\n <div className=\"flex flex-1 flex-col gap-1\">\n <div className=\"dark:text-contrast-9 text-sm\">\n {mode === \"delta\" ? \"Delta\" : \"Market\"}\n </div>\n <div className=\"flex items-center justify-between\">\n <DetailWithTooltip\n detail={\"Fees\"}\n tooltip={tooltip}\n classes={{\n icon: \"dark:fill-contrast-5 size-[12px]\",\n root: \"text-[10px]\",\n }}\n />\n <div className=\"text-[10px] font-geist-mono\">{fees}</div>\n </div>\n </div>\n </div>\n );\n};\n\nconst DeltaModeItem = ({\n currentEffectiveMode,\n}: {\n currentEffectiveMode: SwapMode;\n}) => {\n const setSwapMode = useSetAtom(setSwapModeAtom);\n const { onSettingsChange } = useWidgetEvents();\n\n const { enabledInConfig, enabledOnCurrentChain } = useGlobalDeltaEnabled();\n const isEnabled = enabledInConfig && enabledOnCurrentChain;\n\n const onClick = !isEnabled\n ? undefined\n : () => {\n setSwapMode(\"delta\");\n onSettingsChange?.({\n event: {\n name: \"Settings:switchSwapMode\",\n params: {\n swapMode: \"delta\",\n },\n },\n });\n };\n\n return (\n <SwapModeItem\n icon={<DeltaIcon />}\n mode=\"delta\"\n currentEffectiveMode={currentEffectiveMode}\n fees={<div className=\"text-[#A5D712]\">Gasless</div>}\n tooltip=\"Estimated network fees\"\n onClick={onClick}\n classes={{\n root: cn({\n \"cursor-not-allowed\": !isEnabled,\n }),\n }}\n />\n );\n};\n\nconst MarketModeItem = ({\n currentEffectiveMode,\n}: {\n currentEffectiveMode: SwapMode;\n}) => {\n const setSwapMode = useSetAtom(setSwapModeAtom);\n const { onSettingsChange } = useWidgetEvents();\n\n const gasCostUSD = useSwapPrices({\n enabled: false,\n }).market.price?.gasCostUSD;\n\n const formattedGasCostUSD =\n gasCostUSD !== undefined ? formatFiatPrice(Number(gasCostUSD)) : undefined;\n const marketNetworkFees =\n formattedGasCostUSD !== undefined\n ? formattedGasCostUSD === \"$0.00\"\n ? \"<$0.01\"\n : formattedGasCostUSD\n : \"N/A\";\n\n const isCrossChain = useIsCrossChain();\n\n const onClick = isCrossChain\n ? undefined\n : () => {\n setSwapMode(\"market\");\n onSettingsChange?.({\n event: {\n name: \"Settings:switchSwapMode\",\n params: {\n swapMode: \"market\",\n },\n },\n });\n };\n\n return (\n <SwapModeItem\n icon={<MarketIcon />}\n mode=\"market\"\n currentEffectiveMode={currentEffectiveMode}\n fees={marketNetworkFees}\n tooltip=\"Estimated network fees\"\n onClick={onClick}\n classes={{\n root: cn({\n \"cursor-not-allowed\": isCrossChain,\n }),\n }}\n />\n );\n};\n\nconst DexesListWithErrorBoundary = () => {\n const { priceMode, market } = useSwapPrices({ enabled: false });\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n if (priceMode !== \"market\" || !market.price || !tokenTo) return null;\n\n return (\n <ErrorBoundary fallback={null}>\n <DexesList\n marketPrice={market.price}\n tokenFrom={tokenFrom}\n tokenTo={tokenTo}\n />\n </ErrorBoundary>\n );\n};\n"],"names":["SwapModeSwitcherExpandable","t0","$","_c","classes","currentEffectiveMode","t1","root","t2","Symbol","for","t3","t4","t5","t6","t7","t8","t9","SwapModeItem","icon","mode","fees","tooltip","onClick","cn","t10","t11","DeltaModeItem","setSwapMode","useSetAtom","setSwapModeAtom","onSettingsChange","useWidgetEvents","enabledInConfig","enabledOnCurrentChain","useGlobalDeltaEnabled","isEnabled","undefined","event","name","params","swapMode","MarketModeItem","gasCostUSD","useSwapPrices","enabled","market","price","formatFiatPrice","Number","formattedGasCostUSD","marketNetworkFees","isCrossChain","useIsCrossChain","DexesListWithErrorBoundary","priceMode","tokenFrom","tokenTo","useWidgetTokens"],"mappings":";;;;;;;;;;;;;;;;;;AAyBO,MAAMA,6BAETC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAE+C,EAAA,MAAAK,KAAAF,OAAAA,EAAOG,IAAAA;AAAM,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAN,EAAA,CAAA,CAAA,KAAAO,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAIrDF,IAAAA,EAAAA,mBAAA,GAAA,CAAA,SAAK,QAAA,EAAA,WAAA,EAAS,CAAA;AAAMN,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAT,CAAAA,QAAAG,oBAAAA,EAAA;AAEjBM,IAAAA,EAAAA,GAAAN,oBAAAA,KAAyB,OAAA,mBACxB,IAAA,CAAA,KAAA,EAAA,EAAe,WAAA,yBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,SAAA,EAAA,EAAS,CAAA;AAAA,MAAG;AAAA,KAAA,EACf,CAAA,GAEA,QAAA;AACDH,IAAAA,CAAAA,MAAAG,oBAAAA;AAAAH,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAU,EAAAA;AAAA,EAAA,IAAAV,CAAAA,QAAAS,EAAAA,EAAA;AAVPC,IAAAA,EAAAA,mBAAA,GAAA,CAAC,gBAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,WAAA,gDAAA,EACbJ,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,sBACA,GAAA,UACGG,QAAAA,EAAAA,EAAAA,EAOH;AAAA,KAAA,EACF,CAAA,EACF,CAAA;AAAmBT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAT,IAAAA,CAAAA,MAAAU,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAG,oBAAAA,EAAA;AAEjBQ,IAAAA,EAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,yCAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,iBAAoCR,oBAAAA,EAAoB,CAAA;AAAA,sBACzD,GAAA,CAAC,kBAAqCA,oBAAAA,EAAoB;AAAA,KAAA,EAC5D,CAAA;AAAMH,IAAAA,CAAAA,MAAAG,oBAAAA;AAAAH,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,EAAA,CAAA,CAAA,KAAAO,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACNI,IAAAA,EAAAA,uBAAC,0BAAA,EAAA,EAA0B,CAAA;AAAGZ,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,CAAAA,QAAAW,EAAAA,EAAA;AALhCE,IAAAA,EAAAA,wBAAC,gBAAA,EAAA,EACCF,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAIAC;AAAAA,KAAAA,EACF,CAAA;AAAmBZ,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAd,EAAA,EAAA,CAAA,KAAAU,MAAAV,CAAAA,SAAAa,EAAAA,EAAA;AArBrBC,IAAAA,EAAAA,mBAAA,IAAA,CAAC,aAAA,EAAA,EAAoB,KAAA,EAAA,QAAA,EACnBJ,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAcAG;AAAAA,KAAAA,EAOF,CAAA;AAAgBb,IAAAA,CAAAA,OAAAU,EAAAA;AAAAV,IAAAA,CAAAA,OAAAa,EAAAA;AAAAb,IAAAA,CAAAA,OAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAe,EAAAA;AAAA,EAAA,IAAAf,EAAA,EAAA,CAAA,KAAAI,MAAAJ,CAAAA,SAAAc,EAAAA,EAAA;AAvBlBC,IAAAA,EAAAA,mBAAA,GAAA,CAAC,aAAe,IAAA,EAAA,QAAA,EAAS,aAAA,IAAA,EAAuB,SAAA,EAAAX,IAC9CU,QAAAA,EAAAA,EAAAA,EAuBF,CAAA;AAAYd,IAAAA,CAAAA,OAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,OAAAc,EAAAA;AAAAd,IAAAA,CAAAA,OAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAxBZe,EAAAA;AAwBY;AAIhB,MAAMC,eAUFjB,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAgB,IAAAA;AAAAA,IAAAC,IAAAA;AAAAA,IAAAf,oBAAAA;AAAAA,IAAAgB,IAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAlB,OAAAA;AAAAA,IAAAmB;AAAAA,GAAA,GAAAtB,EAAAA;AAMuC,EAAA,MAAAK,KAAAD,oBAAAA,KAAyBe,IAAAA;AAAI,EAAA,IAAAZ,EAAAA;AAAA,EAAA,IAAAN,CAAAA,QAAAE,OAAAA,EAAAG,QAAAL,CAAAA,QAAAI,EAAAA,EAAA;AAHxDE,IAAAA,EAAAA,GAAAgB,GACT,0GAAA,EAA0G;AAAA,MAAA,gCAAA,EAEtElB;AAAAA,KAA6B,EAEjEF,SAAOG,IACT,CAAA;AAACL,IAAAA,CAAAA,CAAA,CAAA,IAAAE,OAAAA,EAAAG,IAAAA;AAAAL,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAT,CAAAA,QAAAiB,IAAAA,EAAA;AAGDR,IAAAA,EAAAA,mBAAA,GAAA,CAAA,SAAMQ,QAAAA,EAAAA,IAAAA,EAAK,CAAA;AAAMjB,IAAAA,CAAAA,MAAAiB,IAAAA;AAAAjB,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAGZ,EAAA,MAAAU,EAAAA,GAAAQ,IAAAA,KAAS,OAAA,GAAU,OAAA,GAAU,QAAA;AAAQ,EAAA,IAAAP,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAU,EAAAA,EAAA;AADxCC,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,8BAAA,EACZD,QAAAA,EAAAA,EAAAA,EACH,CAAA;AAAMV,IAAAA,CAAAA,MAAAU,EAAAA;AAAAV,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,EAAA,CAAA,CAAA,KAAAO,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAKOI,IAAAA,EAAAA,GAAA;AAAA,MAAAK,IAAAA,EACD,kCAAA;AAAA,MAAkCZ,IAAAA,EAClC;AAAA,KAAa;AACpBL,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,CAAAA,QAAAoB,OAAAA,EAAA;AANHP,IAAAA,EAAAA,uBAAC,iBAAA,EAAA,EACS,MAAA,EAAA,MAAA,EACCO,OAAAA,EACA,SAAAR,EAAAA,EAGR,CAAA;AACDZ,IAAAA,CAAAA,MAAAoB,OAAAA;AAAApB,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAd,CAAAA,SAAAmB,IAAAA,EAAA;AACFL,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,6BAAA,EAA+BK,QAAAA,EAAAA,IAAAA,EAAK,CAAA;AAAMnB,IAAAA,CAAAA,OAAAmB,IAAAA;AAAAnB,IAAAA,CAAAA,OAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAe,EAAAA;AAAA,EAAA,IAAAf,EAAA,EAAA,CAAA,KAAAa,MAAAb,CAAAA,SAAAc,EAAAA,EAAA;AAT3DC,IAAAA,EAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,mCAAA,EACbF,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAQAC;AAAAA,KAAAA,EACF,CAAA;AAAMd,IAAAA,CAAAA,OAAAa,EAAAA;AAAAb,IAAAA,CAAAA,OAAAc,EAAAA;AAAAd,IAAAA,CAAAA,OAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAuB,GAAAA;AAAA,EAAA,IAAAvB,EAAA,EAAA,CAAA,KAAAW,MAAAX,CAAAA,SAAAe,EAAAA,EAAA;AAdRQ,IAAAA,GAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,4BAAA,EACbZ,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAGAI;AAAAA,KAAAA,EAWF,CAAA;AAAMf,IAAAA,CAAAA,OAAAW,EAAAA;AAAAX,IAAAA,CAAAA,OAAAe,EAAAA;AAAAf,IAAAA,CAAAA,OAAAuB,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAvB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAwB,GAAAA;AAAA,EAAA,IAAAxB,CAAAA,CAAA,EAAA,CAAA,KAAAqB,OAAAA,IAAArB,EAAA,EAAA,CAAA,KAAAuB,GAAAA,IAAAvB,CAAAA,CAAA,EAAA,CAAA,KAAAM,EAAAA,IAAAN,CAAAA,SAAAS,EAAAA,EAAA;AA1BRe,IAAAA,GAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EACa,SAAA,EAAAlB,EAAAA,EAOFe,OAAAA,EAETZ,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MACAc;AAAAA,KAAAA,EAgBF,CAAA;AAAMvB,IAAAA,CAAAA,OAAAqB,OAAAA;AAAArB,IAAAA,CAAAA,OAAAuB,GAAAA;AAAAvB,IAAAA,CAAAA,OAAAM,EAAAA;AAAAN,IAAAA,CAAAA,OAAAS,EAAAA;AAAAT,IAAAA,CAAAA,OAAAwB,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAxB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OA3BNwB,GAAAA;AA2BM,CAAA;AAIV,MAAMC,gBAAgB1B,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAE;AAAAA,GAAA,GAAAJ,EAAAA;AAKrB,EAAA,MAAA2B,WAAAA,GAAoBC,WAAAC,eAA0B,CAAA;AAC9C,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA6BC,eAAAA,EAAgB;AAE7C,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC;AAAAA,MAAmDC,qBAAAA,EAAsB;AACzE,EAAA,MAAAC,YAAkBH,eAAAA,IAAmBC,qBAAAA;AAAsB,EAAA,IAAA5B,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,CAAA,CAAA,CAAA,KAAAkC,SAAAA,IAAAlC,CAAAA,QAAA6B,gBAAAA,IAAA7B,CAAAA,CAAA,CAAA,CAAA,KAAA0B,WAAAA,EAAA;AAE3CtB,IAAAA,EAAAA,GAAA,CAAC8B,SAAAA,GAASC,MAAAA,GAAA,MAAA;AAGpBT,MAAAA,WAAAA,CAAY,OAAO,CAAA;AACnBG,MAAAA,gBAAAA,GAAgB;AAAA,QAAAO,KAAAA,EAAA;AAAA,UAAAC,IAAAA,EAEN,yBAAA;AAAA,UAAyBC,MAAAA,EAAA;AAAA,YAAAC,QAAAA,EAEnB;AAAA;AAAO;AAAA,OAAA,CAAA;AAAA,IAAA,CAAA;AAIxBvC,IAAAA,CAAAA,MAAAkC,SAAAA;AAAAlC,IAAAA,CAAAA,MAAA6B,gBAAAA;AAAA7B,IAAAA,CAAAA,MAAA0B,WAAAA;AAAA1B,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAZL,EAAA,MAAAqB,OAAAA,GAAgBjB,EAAAA;AAYV,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAN,EAAA,CAAA,CAAA,KAAAO,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAIIF,IAAAA,EAAAA,uBAAC,SAAA,EAAA,EAAS,CAAA;AAAGN,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAO,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGbC,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,gBAAA,EAAiB,QAAA,EAAA,SAAA,EAAO,CAAA;AAAMT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAKzB,EAAA,MAAAU,MAACwB,SAAAA;AAAS,EAAA,IAAAvB,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAU,EAAAA,EAAA;AAD5BC,IAAAA,EAAAA,GAAAW,EAAAA,CAAA;AAAA,MAAA,oBAAA,EACkBZ;AAAAA,KACvB,CAAA;AAACV,IAAAA,CAAAA,MAAAU,EAAAA;AAAAV,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAW,EAAAA,EAAA;AAHKC,IAAAA,EAAAA,GAAA;AAAA,MAAAP,IAAAA,EACDM;AAAAA,KAEJ;AACHX,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,CAAAA,CAAA,EAAA,CAAA,KAAAG,oBAAAA,IAAAH,CAAAA,SAAAqB,OAAAA,IAAArB,CAAAA,CAAA,EAAA,CAAA,KAAAY,EAAAA,EAAA;AAXHC,IAAAA,EAAAA,uBAAC,YAAA,EAAA,EACO,IAAA,EAAAP,EAAAA,EACD,IAAA,EAAA,OAAA,EACiBH,oBAAAA,EAChB,IAAA,EAAAM,EAAAA,EACE,OAAA,EAAA,wBAAA,EACCY,OAAAA,EACA,SAAAT,EAAAA,EAIR,CAAA;AACDZ,IAAAA,CAAAA,OAAAG,oBAAAA;AAAAH,IAAAA,CAAAA,OAAAqB,OAAAA;AAAArB,IAAAA,CAAAA,OAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,OAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAZFa,EAAAA;AAYE,CAAA;AAIN,MAAM2B,iBAAiBzC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAE;AAAAA,GAAA,GAAAJ,EAAAA;AAKtB,EAAA,MAAA2B,WAAAA,GAAoBC,WAAAC,eAA0B,CAAA;AAC9C,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA6BC,eAAAA,EAAgB;AAE7C,EAAA,MAAAW,aAAmBC,aAAAA,CAAA;AAAA,IAAAC,OAAAA,EAAA;AAAA,GAElB,CAAA,CAACC,MAAAA,CAAAC,KAAAA,EAAAJ,UAAAA;AAA0B,EAAA,IAAArC,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAyC,UAAAA,EAAA;AAG1BrC,IAAAA,EAAAA,GAAAqC,eAAUN,MAAAA,GAAiBW,eAAAA,CAAgBC,MAAAA,CAAON,UAAU,CAAC,CAAA,GAACN,MAAAA;AAAYnC,IAAAA,CAAAA,MAAAyC,UAAAA;AAAAzC,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAD5E,EAAA,MAAAgD,mBAAAA,GACE5C,EAAAA;AACF,EAAA,MAAA6C,oBACED,mBAAAA,KAAmBb,MAAAA,GACfa,mBAAAA,KAAwB,OAAA,GACtB,WACAA,mBAAAA,GACF,KAAA;AAEN,EAAA,MAAAE,eAAqBC,eAAAA,EAAgB;AAAE,EAAA,IAAA7C,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAkD,YAAAA,IAAAlD,CAAAA,QAAA6B,gBAAAA,IAAA7B,CAAAA,CAAA,CAAA,CAAA,KAAA0B,WAAAA,EAAA;AAEvBpB,IAAAA,EAAAA,GAAA4C,YAAAA,GAAYf,SAAA,MAAA;AAGtBT,MAAAA,WAAAA,CAAY,QAAQ,CAAA;AACpBG,MAAAA,gBAAAA,GAAgB;AAAA,QAAAO,KAAAA,EAAA;AAAA,UAAAC,IAAAA,EAEN,yBAAA;AAAA,UAAyBC,MAAAA,EAAA;AAAA,YAAAC,QAAAA,EAEnB;AAAA;AAAQ;AAAA,OAAA,CAAA;AAAA,IAAA,CAAA;AAIzBvC,IAAAA,CAAAA,MAAAkD,YAAAA;AAAAlD,IAAAA,CAAAA,MAAA6B,gBAAAA;AAAA7B,IAAAA,CAAAA,MAAA0B,WAAAA;AAAA1B,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAZL,EAAA,MAAAqB,OAAAA,GAAgBf,EAAAA;AAYV,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAO,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAIIC,IAAAA,EAAAA,uBAAC,UAAA,EAAA,EAAU,CAAA;AAAGT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAU,EAAAA;AAAA,EAAA,IAAAV,CAAAA,QAAAkD,YAAAA,EAAA;AAOZxC,IAAAA,EAAAA,GAAAY,EAAAA,CAAA;AAAA,MAAA,oBAAA,EACkB4B;AAAAA,KACvB,CAAA;AAAClD,IAAAA,CAAAA,MAAAkD,YAAAA;AAAAlD,IAAAA,CAAAA,MAAAU,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAU,EAAAA,EAAA;AAHKC,IAAAA,EAAAA,GAAA;AAAA,MAAAN,IAAAA,EACDK;AAAAA,KAEJ;AACHV,IAAAA,CAAAA,MAAAU,EAAAA;AAAAV,IAAAA,CAAAA,OAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,CAAA,EAAA,CAAA,KAAAG,oBAAAA,IAAAH,EAAA,EAAA,CAAA,KAAAiD,iBAAAA,IAAAjD,CAAAA,CAAA,EAAA,CAAA,KAAAqB,OAAAA,IAAArB,CAAAA,SAAAW,EAAAA,EAAA;AAXHC,IAAAA,EAAAA,uBAAC,YAAA,EAAA,EACO,IAAA,EAAAH,EAAAA,EACD,IAAA,EAAA,QAAA,EACiBN,oBAAAA,EAChB8C,IAAAA,qBACE,OAAA,EAAA,wBAAA,EACC5B,OAAAA,EACA,SAAAV,EAAAA,EAIR,CAAA;AACDX,IAAAA,CAAAA,OAAAG,oBAAAA;AAAAH,IAAAA,CAAAA,OAAAiD,iBAAAA;AAAAjD,IAAAA,CAAAA,OAAAqB,OAAAA;AAAArB,IAAAA,CAAAA,OAAAW,EAAAA;AAAAX,IAAAA,CAAAA,OAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAZFY,EAAAA;AAYE,CAAA;AAIN,MAAMwC,6BAA6BA,MAAA;AAAA,EAAA,MAAApD,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAF,EAAAA;AAAA,EAAA,IAAAC,EAAA,CAAA,CAAA,KAAAO,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACWT,IAAAA,EAAAA,GAAA;AAAA,MAAA4C,OAAAA,EAAA;AAAA,KAAA;AAAkB3C,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9D,EAAA,MAAA;AAAA,IAAAqD,SAAAA;AAAAA,IAAAT;AAAAA,GAAA,GAA8BF,cAAc3C,EAAkB,CAAA;AAC9D,EAAA,MAAA;AAAA,IAAAuD,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAA+BC,gBAAgB,MAAM,CAAA;AAAE,EAAA,IAEnDH,cAAc,QAAA,IAAQ,CAAKT,MAAAA,CAAMC,KAAAA,KAAWU,OAAAA,EAAO;AAAA,IAAA,OAAA,IAAA;AAAA,EAAA;AAAA,EAAA,IAAAnD,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,CAAA,CAAA,CAAA,KAAA4C,MAAAA,CAAAC,KAAAA,IAAA7C,CAAAA,CAAA,CAAA,CAAA,KAAAsD,SAAAA,IAAAtD,CAAAA,CAAA,CAAA,CAAA,KAAAuD,OAAAA,EAAA;AAGrDnD,IAAAA,EAAAA,mBAAA,GAAA,CAAC,aAAA,EAAA,EAAwB,QAAA,EAAA,IAAA,EACvB,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EACc,WAAA,EAAAwC,MAAAA,CAAMC,KAAAA,EACRS,SAAAA,EACFC,OAAAA,EAAO,CAAA,EAEpB,CAAA;AAAgBvD,IAAAA,CAAAA,CAAA,CAAA,IAAA4C,MAAAA,CAAAC,KAAAA;AAAA7C,IAAAA,CAAAA,MAAAsD,SAAAA;AAAAtD,IAAAA,CAAAA,MAAAuD,OAAAA;AAAAvD,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANhBI,EAAAA;AAMgB,CAAA;;;;"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { WithClasses } from '../../../types/withClasses';
|
|
2
|
-
|
|
2
|
+
import { SwapMode } from './state/types';
|
|
3
|
+
export type SwapModeSwitcherExpandableProps = WithClasses<"root"> & {
|
|
4
|
+
/** @description the current effective swap mode, with consideration for deltaPrice.errors and market as fallback */
|
|
5
|
+
currentEffectiveMode: SwapMode;
|
|
6
|
+
};
|
|
3
7
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/SwapModeSwitcher/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/SwapModeSwitcher/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,+BAA+B,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG;IAClE,oHAAoH;IACpH,oBAAoB,EAAE,QAAQ,CAAC;CAChC,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -850,7 +850,7 @@ function OtcReceiverAddress() {
|
|
|
850
850
|
return t2;
|
|
851
851
|
}
|
|
852
852
|
function SwapModeSwitcher() {
|
|
853
|
-
const $ = distExports.c(
|
|
853
|
+
const $ = distExports.c(4);
|
|
854
854
|
let t0;
|
|
855
855
|
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
856
856
|
t0 = {
|
|
@@ -862,19 +862,28 @@ function SwapModeSwitcher() {
|
|
|
862
862
|
}
|
|
863
863
|
const {
|
|
864
864
|
delta,
|
|
865
|
-
market
|
|
865
|
+
market,
|
|
866
|
+
priceMode
|
|
866
867
|
} = useSwapPrices(t0);
|
|
867
868
|
if (delta.canBeUsed && market.canBeUsed) {
|
|
868
869
|
let t1;
|
|
869
870
|
if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
870
|
-
t1 =
|
|
871
|
+
t1 = {
|
|
871
872
|
root: "mt-4"
|
|
872
|
-
}
|
|
873
|
+
};
|
|
873
874
|
$[1] = t1;
|
|
874
875
|
} else {
|
|
875
876
|
t1 = $[1];
|
|
876
877
|
}
|
|
877
|
-
|
|
878
|
+
let t2;
|
|
879
|
+
if ($[2] !== priceMode) {
|
|
880
|
+
t2 = /* @__PURE__ */ jsx(SwapModeSwitcherExpandable, { classes: t1, currentEffectiveMode: priceMode });
|
|
881
|
+
$[2] = priceMode;
|
|
882
|
+
$[3] = t2;
|
|
883
|
+
} else {
|
|
884
|
+
t2 = $[3];
|
|
885
|
+
}
|
|
886
|
+
return t2;
|
|
878
887
|
}
|
|
879
888
|
}
|
|
880
889
|
function SwapButtonWithDrawer(t0) {
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","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 { DialogRoot } from \"@/components/widget/Dialog/DialogRoot\";\nimport { Button } from \"@/components/ui/button\";\nimport { JotaiProvider, Web3Providers } 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 { useSetAtom } from \"jotai\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect } from \"react\";\nimport { defaultWidgetConfig, useWidgetConfig } from \"./state/configAtom\";\nimport { setWidgetConfigAtom } from \"./state/configActionsAtom\";\nimport { WrapEthDrawerButton } from \"@/components/widget/WrapEth/WrapEthDrawerButton\";\nimport type { WrapEthProps } from \"@/components/widget/WrapEth/hooks/types\";\nimport { useWrapEthProps } from \"@/components/widget/WrapEth/hooks/useWrapEthProps\";\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 { SwapTradeFlowButton } from \"./TradeFlowButton\";\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 } 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 { WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\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\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\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 <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 MainScreen = () => {\n const tradeMode = useTradeMode();\n return tradeMode === \"swap\" ? (\n <SwapScreen />\n ) : tradeMode === \"limit\" ? (\n <LimitOrderScreen />\n ) : (\n <OtcOrderScreen />\n );\n};\n\nconst App = () => {\n return (\n <Containers>\n <DialogRoot />\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n <Toaster />\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms([\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n ]);\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config?.theme,\n enableDelta: config?.enableDelta,\n partner: config?.partner,\n privyAppId: config?.privyAppId,\n privyClientId: config?.privyClientId,\n debug: config?.debug,\n widgetMode: config?.widgetMode,\n ignoreBadUsdPrice: config?.ignoreBadUsdPrice,\n });\n }, [\n config?.theme,\n config?.enableDelta,\n config?.partner,\n config?.privyAppId,\n config?.privyClientId,\n config?.debug,\n config?.widgetMode,\n config?.ignoreBadUsdPrice,\n setWidgetConfig,\n ]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n return (\n <Web3Providers>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({ config, provider, events, input }: WidgetProps) => {\n return (\n <JotaiProvider>\n <WidgetBase\n config={config}\n provider={provider}\n events={events}\n input={input}\n />\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n const widgetConfig = useWidgetConfig();\n\n const { containerRef, isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition();\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\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n <div className=\"relative flex flex-col max-w-[460px] min-w-[375px] w-full pt-[24px] px-[24px] pb-[18px] bg-contrast-9 dark:bg-contrast-3 border border-contrast-7 dark:border-contrast-4 rounded-xxl\">\n {children}\n </div>\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 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 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 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?.toString() ?? \"0\",\n toAmount: tokenToInputProps.amount?.toString() ?? \"0\",\n }\n : undefined;\n\n const wrapEthProps = useWrapEthProps();\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 wrapEthProps={wrapEthProps}\n {...extraProps}\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 SwapModeSwitcher() {\n const { delta, market } = 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 <SwapModeSwitcherExpandable classes={{ root: \"mt-4\" }} />;\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n wrapEthProps: WrapEthProps;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n wrapEthProps,\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 if (wrapEthProps.shouldWrap)\n return (\n <WrapEthDrawerButton\n drawerContainer={drawerContainer}\n wrapEthProps={wrapEthProps}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n\n return (\n <SwapTradeFlowButton\n orderProps={orderProps}\n drawerContainer={drawerContainer}\n marketPrice={marketPrice}\n deltaPrice={deltaPrice}\n priceMode={priceMode}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","useLimitPriceInputProps","unsupportedChain","useUnsupportedLimitChain","cn","t1","t2","t3","OtcOrderExtraInputs","useOtcPriceInputProps","useUnsupportedOtcChain","LimitOrderScreen","OtcOrderScreen","MainScreen","tradeMode","useTradeMode","App","WidgetBase","config","provider","events","input","formInputProps","setWidgetConfig","useSetAtom","setWidgetConfigAtom","defaultWidgetConfig","externalProviderAtom","t4","t5","widgetEventsAtom","t6","t7","formInputPropsAtom","t8","useHydrateAtoms","useWidgetEventsSetter","useSetFormInputFromProps","t9","debug","enableDelta","ignoreBadUsdPrice","partner","privyAppId","privyClientId","theme","widgetMode","t10","t11","t12","t13","t14","t15","t16","t17","t18","useLayoutEffect","setExternalProvider","t19","t20","t21","import","Widget","Containers","children","setContainerElement","containerAtom","widgetConfig","useWidgetConfig","containerRef","isDrawerFullCover","isDrawerOpen","useDrawerContainerHeightTransition","partialDrawerOpen","dark","WIDGET_HEIGHT_CLASSNAME","WIDGET_ELEMENT_ID","WidgetHeader","root","SwapTokenFromInput","overrides","useTokenInputsFromPrice","isLoading","price","priceMode","tokenFromAmount","override","activeSwapMode","isPriceLoading","tokenFromInputProps","useTokenFromInputProps","LimitTokenFromInput","useLimitTokenFromInputProps","OtcTokenFromInput","useOtcTokenFromInputProps","SwapTokenToInput","error","tokenToAmount","priceError","tokenToInputProps","useTokenToInputProps","LimitTokenToInput","useLimitTokenToInputProps","OtcTokenToInput","useOtcTokenToInputProps","SwapTokenSwitcher","tokenSwitcherProps","useSwapTokenSwitcherProps","TokenSwitcherComp","LimitTokenSwitcher","useLimitTokenSwitcherProps","OtcTokenSwitcher","useOtcTokenSwitcherProps","SwapButton","amount","token","fromToken","toToken","fromAmount","toString","toAmount","undefined","orderProps","wrapEthProps","useWrapEthProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","labelOverride","marketPrice","shouldWrap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","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 { DialogRoot } from \"@/components/widget/Dialog/DialogRoot\";\nimport { Button } from \"@/components/ui/button\";\nimport { JotaiProvider, Web3Providers } 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 { useSetAtom } from \"jotai\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect } from \"react\";\nimport { defaultWidgetConfig, useWidgetConfig } from \"./state/configAtom\";\nimport { setWidgetConfigAtom } from \"./state/configActionsAtom\";\nimport { WrapEthDrawerButton } from \"@/components/widget/WrapEth/WrapEthDrawerButton\";\nimport type { WrapEthProps } from \"@/components/widget/WrapEth/hooks/types\";\nimport { useWrapEthProps } from \"@/components/widget/WrapEth/hooks/useWrapEthProps\";\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 { SwapTradeFlowButton } from \"./TradeFlowButton\";\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 } 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 { WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\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\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\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 <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 MainScreen = () => {\n const tradeMode = useTradeMode();\n return tradeMode === \"swap\" ? (\n <SwapScreen />\n ) : tradeMode === \"limit\" ? (\n <LimitOrderScreen />\n ) : (\n <OtcOrderScreen />\n );\n};\n\nconst App = () => {\n return (\n <Containers>\n <DialogRoot />\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n <Toaster />\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms([\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n ]);\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config?.theme,\n enableDelta: config?.enableDelta,\n partner: config?.partner,\n privyAppId: config?.privyAppId,\n privyClientId: config?.privyClientId,\n debug: config?.debug,\n widgetMode: config?.widgetMode,\n ignoreBadUsdPrice: config?.ignoreBadUsdPrice,\n });\n }, [\n config?.theme,\n config?.enableDelta,\n config?.partner,\n config?.privyAppId,\n config?.privyClientId,\n config?.debug,\n config?.widgetMode,\n config?.ignoreBadUsdPrice,\n setWidgetConfig,\n ]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n return (\n <Web3Providers>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({ config, provider, events, input }: WidgetProps) => {\n return (\n <JotaiProvider>\n <WidgetBase\n config={config}\n provider={provider}\n events={events}\n input={input}\n />\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n const widgetConfig = useWidgetConfig();\n\n const { containerRef, isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition();\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\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n <div className=\"relative flex flex-col max-w-[460px] min-w-[375px] w-full pt-[24px] px-[24px] pb-[18px] bg-contrast-9 dark:bg-contrast-3 border border-contrast-7 dark:border-contrast-4 rounded-xxl\">\n {children}\n </div>\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 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 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 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?.toString() ?? \"0\",\n toAmount: tokenToInputProps.amount?.toString() ?? \"0\",\n }\n : undefined;\n\n const wrapEthProps = useWrapEthProps();\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 wrapEthProps={wrapEthProps}\n {...extraProps}\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 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={{ root: \"mt-4\" }}\n currentEffectiveMode={priceMode}\n />\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 wrapEthProps: WrapEthProps;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n wrapEthProps,\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 if (wrapEthProps.shouldWrap)\n return (\n <WrapEthDrawerButton\n drawerContainer={drawerContainer}\n wrapEthProps={wrapEthProps}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n\n return (\n <SwapTradeFlowButton\n orderProps={orderProps}\n drawerContainer={drawerContainer}\n marketPrice={marketPrice}\n deltaPrice={deltaPrice}\n priceMode={priceMode}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","useLimitPriceInputProps","unsupportedChain","useUnsupportedLimitChain","cn","t1","t2","t3","OtcOrderExtraInputs","useOtcPriceInputProps","useUnsupportedOtcChain","LimitOrderScreen","OtcOrderScreen","MainScreen","tradeMode","useTradeMode","App","WidgetBase","config","provider","events","input","formInputProps","setWidgetConfig","useSetAtom","setWidgetConfigAtom","defaultWidgetConfig","externalProviderAtom","t4","t5","widgetEventsAtom","t6","t7","formInputPropsAtom","t8","useHydrateAtoms","useWidgetEventsSetter","useSetFormInputFromProps","t9","debug","enableDelta","ignoreBadUsdPrice","partner","privyAppId","privyClientId","theme","widgetMode","t10","t11","t12","t13","t14","t15","t16","t17","t18","useLayoutEffect","setExternalProvider","t19","t20","t21","import","Widget","Containers","children","setContainerElement","containerAtom","widgetConfig","useWidgetConfig","containerRef","isDrawerFullCover","isDrawerOpen","useDrawerContainerHeightTransition","partialDrawerOpen","dark","WIDGET_HEIGHT_CLASSNAME","WIDGET_ELEMENT_ID","WidgetHeader","root","SwapTokenFromInput","overrides","useTokenInputsFromPrice","isLoading","price","priceMode","tokenFromAmount","override","activeSwapMode","isPriceLoading","tokenFromInputProps","useTokenFromInputProps","LimitTokenFromInput","useLimitTokenFromInputProps","OtcTokenFromInput","useOtcTokenFromInputProps","SwapTokenToInput","error","tokenToAmount","priceError","tokenToInputProps","useTokenToInputProps","LimitTokenToInput","useLimitTokenToInputProps","OtcTokenToInput","useOtcTokenToInputProps","SwapTokenSwitcher","tokenSwitcherProps","useSwapTokenSwitcherProps","TokenSwitcherComp","LimitTokenSwitcher","useLimitTokenSwitcherProps","OtcTokenSwitcher","useOtcTokenSwitcherProps","SwapButton","amount","token","fromToken","toToken","fromAmount","toString","toAmount","undefined","orderProps","wrapEthProps","useWrapEthProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","labelOverride","marketPrice","shouldWrap"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSendBatchTx.d.ts","sourceRoot":"","sources":["../../../src/hooks/batch/useSendBatchTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,KAAK,sBAAsB,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,uBAAuB,CAAC;AAG5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,KAAK,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IACpE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3D,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,KAAK,EAAE,kBAAkB,GAAG,IAAI,EAChC,SAAS,EAAE,aAAa,KACrB,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CACnE,GAAG;IACF,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,KAAK,SAAS,GAAG,CACf,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG;IACpC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAEf,SAAS,CAAC,EAAE,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC;CACnE,EACD,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,KAC5C,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,oBAAoB,
|
|
1
|
+
{"version":3,"file":"useSendBatchTx.d.ts","sourceRoot":"","sources":["../../../src/hooks/batch/useSendBatchTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,KAAK,sBAAsB,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,uBAAuB,CAAC;AAG5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,KAAK,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IACpE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3D,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,KAAK,EAAE,kBAAkB,GAAG,IAAI,EAChC,SAAS,EAAE,aAAa,KACrB,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CACnE,GAAG;IACF,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,KAAK,SAAS,GAAG,CACf,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG;IACpC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAEf,SAAS,CAAC,EAAE,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC;CACnE,EACD,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,KAC5C,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,oBAAoB,CA6BtB;AAED,KAAK,wBAAwB,GAAG,IAAI,CAClC,eAAe,CACb,aAAa,EACb,kBAAkB,EAClB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CACnC,EACD,aAAa,CACd,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAST"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSendBatchTx.js","sources":["../../../src/hooks/batch/useSendBatchTx.ts"],"sourcesContent":["import { type Config, useSendCalls, type UseSendCallsReturnType } from \"wagmi\";\nimport { type SendCallsData, type SendCallsVariables } from \"wagmi/query\";\nimport {\n type SendCallsErrorType,\n type SendTransactionParameters,\n} from \"@wagmi/core\";\nimport { type MutationFilters, useIsMutating } from \"@tanstack/react-query\";\nimport { useCallback } from \"react\";\nimport { assert } from \"ts-essentials\";\nimport type { Call } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { TxParams } from \"./useBatchWithApproveTxs\";\nimport { isTruthy } from \"@/lib/utils\";\n\ntype SendCallsVars = SendCallsVariables<Config, SupportedChainId>;\n\nexport type UseSendBatchTxInput = {\n onMutate?: (vars: SendCallsVars) => void;\n onSuccess?: (data: SendCallsData, variables: SendCallsVars) => void;\n onError?: (error: Error, variables: SendCallsVars) => void;\n onSettled?: (\n data: SendCallsData | undefined,\n error: SendCallsErrorType | null,\n variables: SendCallsVars\n ) => void;\n};\n\nexport type UseSendBatchTxResult = Pick<\n UseSendCallsReturnType<Config, unknown>,\n \"isPending\" | \"error\" | \"data\" | \"isSuccess\" | \"isError\" | \"reset\"\n> & {\n sendCalls: SendCalls;\n};\n\ntype SendCalls = (\n input: Omit<SendCallsVars, \"calls\"> & {\n calls?: Call[]; // can pass expected Calls directly\n // or txsParams to be converted to Calls\n txsParams?: SendTransactionParameters<Config, SupportedChainId>[];\n },\n options?: Omit<UseSendBatchTxInput, \"onMutate\">\n) => Promise<SendCallsData>;\n\nexport function useSendBatchTx(\n options?: UseSendBatchTxInput\n): UseSendBatchTxResult {\n const { data, isPending, isSuccess, isError, reset, error, sendCallsAsync } =\n useSendCalls({\n mutation: options,\n // mutationKey = ['sendCalls'] inside\n });\n\n const sendCalls = useCallback<SendCalls>(\n ({ txsParams, ...input }, options) => {\n const calls: Call[] | undefined =\n input.calls || txsParams?.map(txParamsToCalls).filter(isTruthy);\n\n assert(calls && calls.length > 0, \"calls must be provided\");\n\n const chainId = input.chainId || txsParams?.[0]?.chainId;\n\n return sendCallsAsync(\n {\n
|
|
1
|
+
{"version":3,"file":"useSendBatchTx.js","sources":["../../../src/hooks/batch/useSendBatchTx.ts"],"sourcesContent":["import { type Config, useSendCalls, type UseSendCallsReturnType } from \"wagmi\";\nimport { type SendCallsData, type SendCallsVariables } from \"wagmi/query\";\nimport {\n type SendCallsErrorType,\n type SendTransactionParameters,\n} from \"@wagmi/core\";\nimport { type MutationFilters, useIsMutating } from \"@tanstack/react-query\";\nimport { useCallback } from \"react\";\nimport { assert } from \"ts-essentials\";\nimport type { Call } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { TxParams } from \"./useBatchWithApproveTxs\";\nimport { isTruthy } from \"@/lib/utils\";\n\ntype SendCallsVars = SendCallsVariables<Config, SupportedChainId>;\n\nexport type UseSendBatchTxInput = {\n onMutate?: (vars: SendCallsVars) => void;\n onSuccess?: (data: SendCallsData, variables: SendCallsVars) => void;\n onError?: (error: Error, variables: SendCallsVars) => void;\n onSettled?: (\n data: SendCallsData | undefined,\n error: SendCallsErrorType | null,\n variables: SendCallsVars\n ) => void;\n};\n\nexport type UseSendBatchTxResult = Pick<\n UseSendCallsReturnType<Config, unknown>,\n \"isPending\" | \"error\" | \"data\" | \"isSuccess\" | \"isError\" | \"reset\"\n> & {\n sendCalls: SendCalls;\n};\n\ntype SendCalls = (\n input: Omit<SendCallsVars, \"calls\"> & {\n calls?: Call[]; // can pass expected Calls directly\n // or txsParams to be converted to Calls\n txsParams?: SendTransactionParameters<Config, SupportedChainId>[];\n },\n options?: Omit<UseSendBatchTxInput, \"onMutate\">\n) => Promise<SendCallsData>;\n\nexport function useSendBatchTx(\n options?: UseSendBatchTxInput\n): UseSendBatchTxResult {\n const { data, isPending, isSuccess, isError, reset, error, sendCallsAsync } =\n useSendCalls({\n mutation: options,\n // mutationKey = ['sendCalls'] inside\n });\n\n const sendCalls = useCallback<SendCalls>(\n ({ txsParams, ...input }, options) => {\n const calls: Call[] | undefined =\n input.calls || txsParams?.map(txParamsToCalls).filter(isTruthy);\n\n assert(calls && calls.length > 0, \"calls must be provided\");\n\n const chainId = input.chainId || txsParams?.[0]?.chainId;\n\n return sendCallsAsync(\n {\n ...input,\n chainId: chainId as SupportedChainId | undefined,\n calls,\n },\n options\n );\n },\n [sendCallsAsync]\n );\n\n return { data, isPending, isSuccess, isError, reset, error, sendCalls };\n}\n\ntype IsConfirmingBatchTxInput = Omit<\n MutationFilters<\n SendCallsData,\n SendCallsErrorType,\n SendCallsVariables<Config, number>\n >,\n \"mutationKey\"\n>;\n\nexport function useIsConfirmingBatchTx(\n options: IsConfirmingBatchTxInput\n): boolean {\n return (\n useIsMutating({\n mutationKey: [\"sendCalls\"],\n exact: options.exact,\n status: options.status,\n predicate: options.predicate as MutationFilters[\"predicate\"],\n }) > 0\n );\n}\n\nfunction txParamsToCalls(\n txParams: Pick<TxParams, \"to\" | \"data\" | \"value\">\n): Call | null {\n if (!txParams.to) {\n return null;\n }\n\n return {\n to: txParams.to,\n data: txParams.data,\n value: txParams.value,\n };\n}\n"],"names":["useSendBatchTx","options","$","_c","t0","mutation","data","isPending","isSuccess","isError","reset","error","sendCallsAsync","useSendCalls","t1","t2","options_0","txsParams","input","calls","map","txParamsToCalls","filter","isTruthy","assert","length","chainId","sendCalls","txParams","to","value"],"mappings":"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"}
|