@velora-dex/widget 0.1.1 → 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.
@@ -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;AA0MjB,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
+ {"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":";;;;;;;;;;;;;;;;;;;;;;;AAiDA,SAAAA,wBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAiC,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAO/B,EAAA,MAAA;AAAA,IAAAK,OAAAA,EAAAC;AAAAA,MAA6BC,UAAAA,EAAW;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAP,CAAAA,QAAAK,OAAAA,EAAA;AAEgCE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,MAAAA,EAAA;AAAA,QAAAH,OAAAA;AAAAA,QAAAI,KAAAA,EAAA;AAAA;AAAA,KAAA;AAEzET,IAAAA,CAAAA,MAAAK,OAAAA;AAAAL,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA,EAAA;AAFD,EAAA,MAAA;AAAA,IAAAU,IAAAA,EAAAC,EAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAyDC,iBAAiBN,EAEzE,CAAA;AAFa,EAAA,MAAAO,cAAAA,GAAAH,EAAAA,KAA2BI,MAAAA,GAAAC,UAAAA,GAA3BL,EAAAA;AAGd,EAAA,MAAAM,eAAqBC,uBAAAA,EAAwB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAnB,CAAAA,CAAA,CAAA,CAAA,KAAAiB,YAAAA,IAAAjB,CAAAA,QAAAc,cAAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAG,eAAAA,EAAA;AAEzBgB,IAAAA,EAAAA,GAAAC,sBAAA,CAAA,GAChBH,iBAAiBH,cAAc,GACnCX,eACF,CAAA;AAACH,IAAAA,CAAAA,MAAAiB,YAAAA;AAAAjB,IAAAA,CAAAA,MAAAc,cAAAA;AAAAd,IAAAA,CAAAA,MAAAG,eAAAA;AAAAH,IAAAA,CAAAA,MAAAmB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnB,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAAqB,aAAAA,GAAsBF,EAAAA;AAOtB,EAAA,MAAA;AAAA,IAAAG;AAAAA,GAAA,GAAmBC,eAAeF,aAAa,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAxB,EAAA,CAAA,CAAA,KAAAiB,gBAAAjB,CAAAA,CAAA,CAAA,MAAAE,eAAAA,IAAAF,CAAAA,CAAA,CAAA,CAAA,KAAAc,cAAAA,IAAAd,EAAA,CAAA,CAAA,KAAAsB,UAAAtB,CAAAA,SAAAG,eAAAA,EAAA;AAEjD,IAAA,MAAAsB,gBAAyCC,mBAAAA,CACvCJ,MAAAA,CAAMK,GAAAA,CAAAC,kCAAuC,GAACC,YAEhD,CAAA;AAEA,IAAA,MAAAC,SAAAA,GAAA;AAAA,MAAA,GACKL,aAAAA;AAAAA,MAAa,GACbtB;AAAAA,KAAe;AAIfqB,IAAAA,EAAAA,GAAAO,6BAAAA,CAAA;AAAA,MAAAjB,cAAAA;AAAAA,MAAAG,YAAAA;AAAAA,MAAAe,iBAAAA,EAGkBF,SAAAA;AAAAA,MAAS5B;AAAAA,KAE7B,CAAA;AAACF,IAAAA,CAAAA,MAAAiB,YAAAA;AAAAjB,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAc,cAAAA;AAAAd,IAAAA,CAAAA,MAAAsB,MAAAA;AAAAtB,IAAAA,CAAAA,OAAAG,eAAAA;AAAAH,IAAAA,CAAAA,OAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAiC,EAAAA;AAAA,EAAA,IAAAjC,EAAA,EAAA,CAAA,KAAAY,aAAAZ,CAAAA,SAAAwB,EAAAA,EAAA;AANGS,IAAAA,EAAAA,GAAA;AAAA,MAAA,GACFT,EAAAA;AAAAA,MAKDZ;AAAAA,KAAA;AAEHZ,IAAAA,CAAAA,OAAAY,SAAAA;AAAAZ,IAAAA,CAAAA,OAAAwB,EAAAA;AAAAxB,IAAAA,CAAAA,OAAAiC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjC,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OARMiC,EAAAA;AAQN;AAGH,SAAAC,iBAAAnC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAA0B,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAOxB,EAAA,MAAA;AAAA,IAAAK,OAAAA,EAAAC;AAAAA,MAA6BC,UAAAA,EAAW;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAP,EAAA,CAAA,CAAA,KAAAmC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAMjC7B,IAAAA,EAAAA,GAAA;AAAA,MAAA8B,SAAAA,EAAAC;AAAAA,KAAA;AAENtC,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAE,eAAAA,EAAA;AANqCS,IAAAA,EAAAA,GAAA;AAAA,MAAA4B,WAAAA,EAAAC,uBAAAA;AAAAA,MAAAC,OAAAA,EAE7BvC,eAAAA;AAAAA,MAAewC,OAAAA,EAAA,IAAA;AAAA,MAAAC,KAAAA,EAEjBpC;AAAAA,KAEN;AACFP,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAPD,EAAA,MAAA0C,OAAAA,GAAgBE,wBAAwBjC,EAOvC,CAAA;AAAE,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAnB,EAAA,CAAA,CAAA,KAAAmC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAMMjB,IAAAA,EAAAA,GAAA;AAAA,MAAAkB,SAAAA,EAAAC;AAAAA,KAAA;AAENtC,IAAAA,CAAAA,MAAAmB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAwB,EAAAA;AAAA,EAAA,IAAAxB,CAAAA,QAAAE,eAAAA,EAAA;AANqCsB,IAAAA,EAAAA,GAAA;AAAA,MAAAe,WAAAA,EAAAC,uBAAAA;AAAAA,MAAAC,OAAAA,EAE7BvC,eAAAA;AAAAA,MAAewC,OAAAA,EAAA,KAAA;AAAA,MAAAC,KAAAA,EAEjBxB;AAAAA,KAEN;AACFnB,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,CAAA,CAAA;AAAA,EAAA;AAPD,EAAA,MAAA6C,OAAAA,GAAgBD,wBAAwBpB,EAOvC,CAAA;AAED,EAAA,MAAAsB,gBAAAA,GAAyBJ,OAAAA,CAAOhC,IAAAA,EAAAqC,MAAAA,IAAA/B,UAAAA;AAChC,EAAA,MAAAgC,gBAAAA,GAAyBH,OAAAA,CAAOnC,IAAAA,EAAAqC,MAAAA,IAAA/B,UAAAA;AAA4B,EAAA,IAAAiB,EAAAA;AAAA,EAAA,IAAAjC,CAAAA,CAAA,CAAA,CAAA,KAAA8C,gBAAAA,IAAA9C,CAAAA,QAAAgD,gBAAAA,IAAAhD,CAAAA,CAAA,CAAA,CAAA,KAAAG,eAAAA,EAAA;AAK1D8B,IAAAA,EAAAA,GAAAb,sBAAA,CAAA,GACM0B,qBAAqBE,gBAAgB,GACzC7C,eACF,CAAA;AAACH,IAAAA,CAAAA,MAAA8C,gBAAAA;AAAA9C,IAAAA,CAAAA,MAAAgD,gBAAAA;AAAAhD,IAAAA,CAAAA,MAAAG,eAAAA;AAAAH,IAAAA,CAAAA,MAAAiC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjC,EAAA,CAAA,CAAA;AAAA,EAAA;AAJH,EAAA,MAAA;AAAA,IAAAsB;AAAAA,GAAA,GAAmBC,eACjBU,EAIF,CAAA;AAAE,EAAA,IAAAgB,mBAAAA;AAAA,EAAA,IAAAC,sBAAAA;AAAA,EAAA,IAAAC,oBAAAA;AAAA,EAAA,IAAAC,oBAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAArD,EAAA,EAAA,CAAA,KAAAK,WAAAL,CAAAA,CAAA,EAAA,MAAA8C,gBAAAA,IAAA9C,CAAAA,CAAA,EAAA,CAAA,KAAAgD,gBAAAA,IAAAhD,EAAA,EAAA,CAAA,KAAAsB,UAAAtB,CAAAA,SAAAG,eAAAA,EAAA;AAEF,IAAA,MAAAsB,gBAAyCC,mBAAAA,CACvCJ,MAAAA,CAAMK,GAAAA,CAAAC,kCAAuC,GAACC,YAEhD,CAAA;AAEA,IAAA,MAAAC,SAAAA,GAAA;AAAA,MAAA,GACKL,aAAAA;AAAAA,MAAa,GACbtB;AAAAA,KAAe;AAGpBgD,IAAAA,oBAAAA,GAA6BL,iBAAgBnB,GAAAA,CAAA2B,CAAAA,KAAAA,KAC3CC,sBAAsBD,KAAAA,EAAOxB,SAAAA,EAAWzB,OAAO,CACjD,CAAA;AACA+C,IAAAA,oBAAAA,GAA6BJ,iBAAgBrB,GAAAA,CAAA6B,CAAAA,OAAAA,KAC3CD,sBAAsBD,OAAAA,EAAOxB,SAAAA,EAAWzB,OAAO,CACjD,CAAA;AAEA,IAAA,MAAA;AAAA,MAAAoD,eAAAA,EAAAC,GAAAA;AAAAA,MAAAC,YAAAA,EAAAC;AAAAA,QAIEd,gBAAAA,CAAgBe,MAAAA,GAAA,IACZC,gCAAAA,CAAiCX,oBAAoB,IAAC,EAAA;AAJzCD,IAAAA,sBAAAA,GAAAQ,GAAAA,KAAmC3C,SAAAC,UAAAA,GAAnC0C,GAAAA;AACHT,IAAAA,mBAAAA,GAAAW,GAAAA,KAAgC7C,SAAAC,UAAAA,GAAhC4C,GAAAA;AAUdP,IAAAA,EAAAA,GAAAL,iBAAgBa,MAAAA,GAAA,CAAA,GACZC,gCAAAA,CAAiCV,oBAAoB,IAAC,EAAA;AACpDpD,IAAAA,CAAAA,OAAAK,OAAAA;AAAAL,IAAAA,CAAAA,OAAA8C,gBAAAA;AAAA9C,IAAAA,CAAAA,OAAAgD,gBAAAA;AAAAhD,IAAAA,CAAAA,OAAAsB,MAAAA;AAAAtB,IAAAA,CAAAA,OAAAG,eAAAA;AAAAH,IAAAA,CAAAA,OAAAiD,mBAAAA;AAAAjD,IAAAA,CAAAA,OAAAkD,sBAAAA;AAAAlD,IAAAA,CAAAA,OAAAmD,oBAAAA;AAAAnD,IAAAA,CAAAA,OAAAoD,oBAAAA;AAAApD,IAAAA,CAAAA,OAAAqD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAJ,IAAAA,mBAAAA,GAAAjD,EAAA,EAAA,CAAA;AAAAkD,IAAAA,sBAAAA,GAAAlD,EAAA,EAAA,CAAA;AAAAmD,IAAAA,oBAAAA,GAAAnD,EAAA,EAAA,CAAA;AAAAoD,IAAAA,oBAAAA,GAAApD,EAAA,EAAA,CAAA;AAAAqD,IAAAA,EAAAA,GAAArD,EAAA,EAAA,CAAA;AAAA,EAAA;AANR,EAAA,MAAA;AAAA,IAAAyD,eAAAA,EAAAC,EAAAA;AAAAA,IAAAC,YAAAA,EAAAC;AAAAA,GAAA,GAIEP,EAAAA;AAHiB,EAAA,MAAAU,sBAAAA,GAAAL,EAAAA,KAAmC3C,MAAAA,GAAAC,UAAAA,GAAnC0C,EAAAA;AACH,EAAA,MAAAM,mBAAAA,GAAAJ,EAAAA,KAAgC7C,MAAAA,GAAAC,UAAAA,GAAhC4C,EAAAA;AAMhB,EAAA,MAAAK,mBAAyBvB,OAAAA,CAAO9B,SAAAA;AAChC,EAAA,MAAAsD,mBAAyBrB,OAAAA,CAAOjC,SAAAA;AAAW,EAAA,IAAAuD,EAAAA;AAAA,EAAA,IAAAnE,CAAAA,CAAA,EAAA,CAAA,KAAAiD,mBAAAA,IAAAjD,EAAA,EAAA,CAAA,KAAAiE,gBAAAA,IAAAjE,CAAAA,CAAA,EAAA,CAAA,KAAAkD,sBAAAA,IAAAlD,CAAAA,SAAAmD,oBAAAA,EAAA;AAGhCgB,IAAAA,EAAAA,GAAA;AAAA,MAAAC,SAAAA,EACIjB,oBAAAA;AAAAA,MAAoBQ,YAAAA,EACjBV,mBAAAA;AAAAA,MAAmBQ,eAAAA,EAChBP,sBAAAA;AAAAA,MAAsBtC,SAAAA,EAC5BqD;AAAAA,KAAgB;AAC5BjE,IAAAA,CAAAA,OAAAiD,mBAAAA;AAAAjD,IAAAA,CAAAA,OAAAiE,gBAAAA;AAAAjE,IAAAA,CAAAA,OAAAkD,sBAAAA;AAAAlD,IAAAA,CAAAA,OAAAmD,oBAAAA;AAAAnD,IAAAA,CAAAA,OAAAmE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAqE,GAAAA;AAAA,EAAA,IAAArE,CAAAA,CAAA,EAAA,CAAA,KAAAgE,mBAAAA,IAAAhE,EAAA,EAAA,CAAA,KAAAkE,gBAAAA,IAAAlE,CAAAA,CAAA,EAAA,CAAA,KAAA+D,sBAAAA,IAAA/D,CAAAA,SAAAoD,oBAAAA,EAAA;AACQiB,IAAAA,GAAAA,GAAA;AAAA,MAAAD,SAAAA,EACIhB,oBAAAA;AAAAA,MAAoBO,YAAAA,EACjBK,mBAAAA;AAAAA,MAAmBP,eAAAA,EAChBM,sBAAAA;AAAAA,MAAsBnD,SAAAA,EAC5BsD;AAAAA,KAAgB;AAC5BlE,IAAAA,CAAAA,OAAAgE,mBAAAA;AAAAhE,IAAAA,CAAAA,OAAAkE,gBAAAA;AAAAlE,IAAAA,CAAAA,OAAA+D,sBAAAA;AAAA/D,IAAAA,CAAAA,OAAAoD,oBAAAA;AAAApD,IAAAA,CAAAA,OAAAqE,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAArE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAsE,GAAAA;AAAA,EAAA,IAAAtE,EAAA,EAAA,CAAA,KAAAqE,OAAArE,CAAAA,SAAAmE,EAAAA,EAAA;AAZIG,IAAAA,GAAAA,GAAA;AAAA,MAAA5B,OAAAA,EACIyB,EAAAA;AAAAA,MAKRtB,OAAAA,EACQwB;AAAAA,KAKR;AACFrE,IAAAA,CAAAA,OAAAqE,GAAAA;AAAArE,IAAAA,CAAAA,OAAAmE,EAAAA;AAAAnE,IAAAA,CAAAA,OAAAsE,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAtE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAbMsE,GAAAA;AAaN;AAGH,SAAAC,mBAAAxE,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAA4B,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAM3B,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAP,EAAA,CAAA,CAAA,KAAAmC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAE2B7B,IAAAA,EAAAA,GAAA;AAAA,MAAAgC,WAAAA,EAAAiC,kBAAAA;AAAAA,MAAA7B,KAAAA,EAAA;AAAA,QAAAN,SAAAA,EAAAC;AAAAA;AAAA,KAAA;AAGvBtC,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA,EAAA;AAJH,EAAA,MAAA;AAAA,IAAAU,IAAAA,EAAAC,EAAAA;AAAAA,IAAAC,SAAAA,EAAA6D;AAAAA,GAAA,GACEC,wBAAwBnE,EAGvB,CAAA;AAJW,EAAA,MAAAoE,aAAAA,GAAAhE,EAAAA,KAA0BI,MAAAA,GAAAC,UAAAA,GAA1BL,EAAAA;AAA0B,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAnB,EAAA,CAAA,CAAA,KAAAmC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AASZjB,IAAAA,EAAAA,GAAA;AAAA,MAAAoB,WAAAA,EAAAqC,iBAAAA;AAAAA,MAAAjC,KAAAA,EAAA;AAAA,QAAAN,SAAAA,EAAAC;AAAAA;AAAA,KAAA;AAG3BtC,IAAAA,CAAAA,MAAAmB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnB,EAAA,CAAA,CAAA;AAAA,EAAA;AAND,EAAA,MAAA;AAAA,IAAAU,IAAAA,EAAAc,EAAAA;AAAAA,IAAAZ,SAAAA,EAAAiE;AAAAA,GAAA,GAGIH,wBAAwBvD,EAG3B,CAAA;AALO,EAAA,MAAA2D,gBAAAA,GAAAtD,EAAAA,KAA6BT,MAAAA,GAAAC,UAAAA,GAA7BQ,EAAAA;AAA6B,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAjC,CAAAA,CAAA,CAAA,CAAA,KAAA8E,gBAAAA,IAAA9E,CAAAA,QAAA2E,aAAAA,IAAA3E,CAAAA,CAAA,CAAA,CAAA,KAAAG,eAAAA,EAAA;AAUnC8B,IAAAA,EAAAA,GAAAb,sBAAA,CAAA,GACMuD,kBAAkBG,gBAAgB,GACtC3E,eACF,CAAA;AAACH,IAAAA,CAAAA,MAAA8E,gBAAAA;AAAA9E,IAAAA,CAAAA,MAAA2E,aAAAA;AAAA3E,IAAAA,CAAAA,MAAAG,eAAAA;AAAAH,IAAAA,CAAAA,MAAAiC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjC,EAAA,CAAA,CAAA;AAAA,EAAA;AAJH,EAAA,MAAA;AAAA,IAAAsB;AAAAA,GAAA,GAAmBC,eACjBU,EAIF,CAAA;AAAE,EAAA,IAAAmC,SAAAA;AAAA,EAAA,IAAAX,eAAAA;AAAA,EAAA,IAAAJ,EAAAA;AAAA,EAAA,IAAArD,EAAA,CAAA,CAAA,KAAA8E,oBAAA9E,CAAAA,CAAA,CAAA,MAAA2E,aAAAA,IAAA3E,CAAAA,CAAA,CAAA,CAAA,KAAAE,eAAAA,IAAAF,EAAA,CAAA,CAAA,KAAAsB,UAAAtB,CAAAA,SAAAG,eAAAA,EAAA;AAEF,IAAA,MAAAsB,gBAAyCC,mBAAAA,CACvCJ,MAAAA,CAAMK,GAAAA,CAAAC,kCAAuC,GAACC,YAEhD,CAAA;AAEA,IAAA,MAAAC,SAAAA,GAAA;AAAA,MAAA,GACKL,aAAAA;AAAAA,MAAa,GACbtB;AAAAA,KAAe;AAGpB,IAAA,CAAA;AAAA,MAAAiE,SAAAA;AAAAA,MAAAX;AAAAA,QAAuCsB,oBAAAA,CAAA;AAAA,MAAAhC,MAAAA,EAC7B4B,aAAAA;AAAAA,MAAazE,eAAAA;AAAAA,MAAAoB,MAAAA,EAEbQ;AAAAA,KACT,CAAA;AAEoBuB,IAAAA,EAAAA,GAAA2B,uBAAAA,CAAA;AAAA,MAAAjC,MAAAA,EACX+B,gBAAAA;AAAAA,MAAgB5E,eAAAA;AAAAA,MAAAoB,MAAAA,EAEhBQ;AAAAA,KACT,CAAA;AAAC9B,IAAAA,CAAAA,MAAA8E,gBAAAA;AAAA9E,IAAAA,CAAAA,MAAA2E,aAAAA;AAAA3E,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAsB,MAAAA;AAAAtB,IAAAA,CAAAA,OAAAG,eAAAA;AAAAH,IAAAA,CAAAA,OAAAoE,SAAAA;AAAApE,IAAAA,CAAAA,OAAAyD,eAAAA;AAAAzD,IAAAA,CAAAA,OAAAqD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAe,IAAAA,SAAAA,GAAApE,EAAA,EAAA,CAAA;AAAAyD,IAAAA,eAAAA,GAAAzD,EAAA,EAAA,CAAA;AAAAqD,IAAAA,EAAAA,GAAArD,EAAA,EAAA,CAAA;AAAA,EAAA;AAJF,EAAA,MAAA2D,YAAAA,GAAqBN,EAAAA;AAMrB,EAAA,MAAAzC,YAAkB6D,kBAAAA,IAAsBI,qBAAAA;AAAsB,EAAA,IAAAnB,EAAAA;AAAA,EAAA,IAAA1D,CAAAA,CAAA,EAAA,CAAA,KAAA2D,YAAAA,IAAA3D,EAAA,EAAA,CAAA,KAAAoE,SAAAA,IAAApE,CAAAA,CAAA,EAAA,CAAA,KAAAyD,eAAAA,IAAAzD,CAAAA,SAAAY,SAAAA,EAAA;AAEvD8C,IAAAA,EAAAA,GAAA;AAAA,MAAAU,SAAAA;AAAAA,MAAAT,YAAAA;AAAAA,MAAAF,eAAAA;AAAAA,MAAA7C;AAAAA,KAAA;AAKNZ,IAAAA,CAAAA,OAAA2D,YAAAA;AAAA3D,IAAAA,CAAAA,OAAAoE,SAAAA;AAAApE,IAAAA,CAAAA,OAAAyD,eAAAA;AAAAzD,IAAAA,CAAAA,OAAAY,SAAAA;AAAAZ,IAAAA,CAAAA,OAAA0D,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA1D,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OALM0D,EAAAA;AAKN;AAGI,SAAAuB,cAAAlF,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAuB,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AAK5B,EAAA,MAAAmF,aAAmBC,UAAAA,EAAW;AAC9B,EAAA,MAAAhF,kBAAwBiF,2BAAAA,EAA4B;AAIjC,EAAA,MAAA7E,EAAAA,GAAAL,eAAAA,KAAoB,KAAA,GAAQgF,UAAAA,GAAahF,eAAAA;AAAe,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAX,EAAA,CAAA,CAAA,KAAAO,MAAAP,CAAAA,QAAAG,eAAAA,EAAA;AAFxCQ,IAAAA,EAAAA,GAAA;AAAA,MAAAT,eAAAA,EAEhBK,EAAAA;AAAAA,MAAwDJ;AAAAA,KAAA;AAE1EH,IAAAA,CAAAA,MAAAO,EAAAA;AAAAP,IAAAA,CAAAA,MAAAG,eAAAA;AAAAH,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAJD,EAAA,MAAAqF,SAAAA,GAAkBnD,iBAAiBvB,EAIlC,CAAA;AAAE,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAnB,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAG,eAAAA,EAAA;AACoCgB,IAAAA,EAAAA,GAAA;AAAA,MAAAjB,eAAAA;AAAAA,MAAAC;AAAAA,KAAA;AAGtCH,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAG,eAAAA;AAAAH,IAAAA,CAAAA,MAAAmB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnB,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAAsF,WAAAA,GAAoBf,mBAAmBpD,EAGtC,CAAA;AAAE,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAxB,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAG,eAAAA,EAAA;AAEqCqB,IAAAA,EAAAA,GAAA;AAAA,MAAAtB,eAAAA;AAAAA,MAAAC;AAAAA,KAAA;AAGvCH,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAG,eAAAA;AAAAH,IAAAA,CAAAA,MAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAAuF,OAAAA,GAAgBzF,wBAAwB0B,EAGvC,CAAA;AAAE,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAjC,CAAAA,CAAA,CAAA,CAAA,KAAAsF,WAAAA,CAAAlB,aAAApE,CAAAA,CAAA,EAAA,CAAA,KAAAqF,SAAAA,CAAA3C,QAAA0B,SAAAA,IAAApE,CAAAA,CAAA,EAAA,CAAA,KAAAuF,QAAAC,MAAAA,EAAA;AAIYvD,IAAAA,EAAAA,OACNoD,SAAAA,CAAS3C,OAAAA,CAAA0B,SAAAA,KACTkB,WAAAA,CAAWlB,SAAAA,EAAA,GACXmB,OAAAA,CAAOC,MAAA,CAAA,CAAAC,KAAAC,YACO,CAAA;AAAC1F,IAAAA,CAAAA,CAAA,CAAA,IAAAsF,WAAAA,CAAAlB,SAAAA;AAAApE,IAAAA,CAAAA,CAAA,EAAA,CAAA,GAAAqF,SAAAA,CAAA3C,OAAAA,CAAA0B,SAAAA;AAAApE,IAAAA,CAAAA,CAAA,EAAA,IAAAuF,OAAAA,CAAAC,MAAAA;AAAAxF,IAAAA,CAAAA,OAAAiC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjC,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAqD,EAAAA;AAAA,EAAA,IAAArD,CAAAA,CAAA,EAAA,CAAA,KAAAsF,WAAAA,CAAA3B,gBAAA3D,CAAAA,CAAA,EAAA,CAAA,KAAAqF,SAAAA,CAAA3C,QAAAiB,YAAAA,IAAA3D,CAAAA,CAAA,EAAA,CAAA,KAAAuF,QAAAI,SAAAA,EAAA;AACNtC,IAAAA,EAAAA,OACTgC,SAAAA,CAAS3C,OAAAA,CAAAiB,YAAAA,KACT2B,WAAAA,CAAW3B,YAAAA,EAAA,GACX4B,OAAAA,CAAOI,SAAA,CAAA,CAAAF,KAAAC,YACO,CAAA;AAAC1F,IAAAA,CAAAA,CAAA,EAAA,IAAAsF,WAAAA,CAAA3B,YAAAA;AAAA3D,IAAAA,CAAAA,CAAA,EAAA,CAAA,GAAAqF,SAAAA,CAAA3C,OAAAA,CAAAiB,YAAAA;AAAA3D,IAAAA,CAAAA,CAAA,EAAA,IAAAuF,OAAAA,CAAAI,SAAAA;AAAA3F,IAAAA,CAAAA,OAAAqD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA0D,EAAAA;AAAA,EAAA,IAAA1D,CAAAA,CAAA,EAAA,CAAA,KAAAsF,WAAAA,CAAA7B,mBAAAzD,CAAAA,CAAA,EAAA,CAAA,KAAAqF,SAAAA,CAAA3C,QAAAe,eAAAA,IAAAzD,CAAAA,CAAA,EAAA,CAAA,KAAAuF,QAAAK,YAAAA,EAAA;AACHlC,IAAAA,EAAAA,OACZ2B,SAAAA,CAAS3C,OAAAA,CAAAe,eAAAA,KACT6B,WAAAA,CAAW7B,eAAAA,EAAA,GACX8B,OAAAA,CAAOK,YAAA,CAAA,CAAAH,KAAAC,YACO,CAAA;AAAC1F,IAAAA,CAAAA,CAAA,EAAA,IAAAsF,WAAAA,CAAA7B,eAAAA;AAAAzD,IAAAA,CAAAA,CAAA,EAAA,CAAA,GAAAqF,SAAAA,CAAA3C,OAAAA,CAAAe,eAAAA;AAAAzD,IAAAA,CAAAA,CAAA,EAAA,IAAAuF,OAAAA,CAAAK,YAAAA;AAAA5F,IAAAA,CAAAA,OAAA0D,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA1D,EAAA,EAAA,CAAA;AAAA,EAAA;AAElB,EAAA,MAAA4D,KAAAyB,SAAAA,CAAS3C,OAAAA,CAAA9B,SAAAA,IACT0E,WAAAA,CAAW1E,aACX2E,OAAAA,CAAO3E,SAAAA;AAAU,EAAA,IAAAuD,EAAAA;AAAA,EAAA,IAAAnE,CAAAA,CAAA,EAAA,CAAA,KAAAiC,EAAAA,IAAAjC,EAAA,EAAA,CAAA,KAAAqD,EAAAA,IAAArD,CAAAA,CAAA,EAAA,CAAA,KAAA0D,EAAAA,IAAA1D,CAAAA,SAAA4D,EAAAA,EAAA;AAnBZO,IAAAA,EAAAA,GAAA;AAAA,MAAAC,SAAAA,EACInC,EAAAA;AAAAA,MAIS0B,YAAAA,EACNN,EAAAA;AAAAA,MAIMI,eAAAA,EACHC,EAAAA;AAAAA,MAIG9C,SAAAA,EAElBgD;AAAAA,KAEiB;AACpB5D,IAAAA,CAAAA,OAAAiC,EAAAA;AAAAjC,IAAAA,CAAAA,OAAAqD,EAAAA;AAAArD,IAAAA,CAAAA,OAAA0D,EAAAA;AAAA1D,IAAAA,CAAAA,OAAA4D,EAAAA;AAAA5D,IAAAA,CAAAA,OAAAmE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAqE,GAAAA;AAAA,EAAA,IAAArE,CAAAA,CAAA,EAAA,CAAA,KAAAqF,SAAAA,CAAAxC,QAAAc,YAAAA,IAAA3D,CAAAA,CAAA,EAAA,CAAA,KAAAqF,SAAAA,CAAAxC,OAAAA,CAAAuB,aAAApE,CAAAA,CAAA,EAAA,CAAA,KAAAqF,SAAAA,CAAAxC,OAAAA,CAAAY,eAAAA,IAAAzD,EAAA,EAAA,CAAA,KAAAqF,SAAAA,CAAAxC,OAAAA,CAAAjC,SAAAA,EAAA;AACQyD,IAAAA,GAAAA,GAAA;AAAA,MAAAD,SAAAA,EACIiB,UAASxC,OAAAA,CAAAuB,SAAAA;AAAAA,MAAAT,YAAAA,EACN0B,UAASxC,OAAAA,CAAAc,YAAAA;AAAAA,MAAAF,eAAAA,EACN4B,UAASxC,OAAAA,CAAAY,eAAAA;AAAAA,MAAA7C,SAAAA,EACfyE,UAASxC,OAAAA,CAAAjC;AAAAA,KAAA;AACrBZ,IAAAA,CAAAA,CAAA,EAAA,CAAA,GAAAqF,SAAAA,CAAAxC,OAAAA,CAAAc,YAAAA;AAAA3D,IAAAA,CAAAA,CAAA,EAAA,CAAA,GAAAqF,SAAAA,CAAAxC,OAAAA,CAAAuB,SAAAA;AAAApE,IAAAA,CAAAA,CAAA,EAAA,CAAA,GAAAqF,SAAAA,CAAAxC,OAAAA,CAAAY,eAAAA;AAAAzD,IAAAA,CAAAA,CAAA,EAAA,CAAA,GAAAqF,SAAAA,CAAAxC,OAAAA,CAAAjC,SAAAA;AAAAZ,IAAAA,CAAAA,OAAAqE,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAArE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAsE,GAAAA;AAAA,EAAA,IAAAtE,EAAA,EAAA,CAAA,KAAAqE,OAAArE,CAAAA,SAAAmE,EAAAA,EAAA;AA3BIG,IAAAA,GAAAA,GAAA;AAAA,MAAA5B,OAAAA,EACIyB,EAAAA;AAAAA,MAoBRtB,OAAAA,EACQwB;AAAAA,KAKR;AACFrE,IAAAA,CAAAA,OAAAqE,GAAAA;AAAArE,IAAAA,CAAAA,OAAAmE,EAAAA;AAAAnE,IAAAA,CAAAA,OAAAsE,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAtE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OA5BMsE,GAAAA;AA4BN;AAGH,MAAMS,uBAAuBA,CAAC;AAAA,EAC5BhC,MAAAA;AAAAA,EACA7C,eAAAA;AAAAA,EACAoB;AAKF,CAAA,KAAM;AACJ,EAAA,MAAM8C,YAA8B,EAAA;AACpC,EAAA,MAAMX,kBAAoC,EAAA;AAE1C,EAAA,KAAA,MAAWH,SAASP,MAAAA,EAAQ;AAC1B,IAAA,IAAI7C,eAAAA,KAAoB,KAAA,IAASoD,KAAAA,CAAMb,OAAAA,KAAYvC,eAAAA,EAAiB;AAClE,MAAA,MAAM2F,SAAAA,GAAYC,uBAAAA,CAAwBxC,KAAAA,EAAOhC,MAAM,CAAA;AACvD8C,MAAAA,SAAAA,CAAU2B,KAAKF,SAAS,CAAA;AAExB,MAAA,IAAIG,uBAAAA,CAAwBC,SAAAA,CAAUC,GAAAA,CAAI5C,KAAAA,CAAM6C,MAAM,CAAA,EAAG;AACvD1C,QAAAA,eAAAA,CAAgBsC,KAAKF,SAAS,CAAA;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IAAEzB,SAAAA;AAAAA,IAAWX;AAAAA,GAAgB;AACtC,CAAA;AAEA,MAAMuB,0BAA0BA,CAAC;AAAA,EAC/BjC,MAAAA;AAAAA,EACA7C,eAAAA;AAAAA,EACAoB;AAKF,CAAA,KAAM;AACJ,EAAA,MAAM8E,aAA+B,EAAA;AAErC,EAAA,KAAA,MAAW9C,SAASP,MAAAA,EAAQ;AAC1B,IAAA,IAAI7C,eAAAA,KAAoB,KAAA,IAASoD,KAAAA,CAAMb,OAAAA,KAAYvC,eAAAA,EAAiB;AAClE,MAAA,MAAM2F,SAAAA,GAAYC,uBAAAA,CAAwBxC,KAAAA,EAAOhC,MAAM,CAAA;AACvD8E,MAAAA,UAAAA,CAAWL,KAAKF,SAAS,CAAA;AAAA,IAC3B;AAAA,EACF;AAEA,EAAA,OAAOO,UAAAA;AACT,CAAA;AAGA,MAAMC,WAAAA,GAAcA,CAACC,QAAAA,KAAkCA,QAAAA,CAASzC,MAAAA,GAAS,CAAA;AAEzE,MAAM0C,8BAA8BA,MAAA;AAAA,EAAA,MAAAvG,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAF,EAAAA;AAAA,EAAA,IAAAC,EAAA,CAAA,CAAA,KAAAmC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACVrC,IAAAA,EAAAA,GAAA;AAAA,MAAAwC,WAAAA,EAAAqC,iBAAAA;AAAAA,MAAAjC,KAAAA,EAAA;AAAA,QAAA6D,MAAAA,EAAAH;AAAAA;AAAA,KAAA;AAGvBrG,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAHD0E,wBAAwB3E,EAGvB,CAAA;AAAC,CAAA;AAEJ,MAAM0G,YAAYA,CAAC;AAAA,EAAE1D;AAA+B,CAAA,KAClDA,MAAAA,CAAO2D,OAAO,CAAC;AAAA,EAAEC;AAAM,CAAA,KAAMC,uBAAuBC,MAAAA,CAAOX,GAAAA,CAAIS,KAAK,CAAC,EAClE9C,MAAAA,GAAS,CAAA;AAEd,MAAMiD,4BAA4BA,MAAA;AAAA,EAAA,MAAA9G,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAChC,EAAA,MAAAiF,aAAmBC,UAAAA,EAAW;AAAE,EAAA,IAAApF,EAAAA;AAAA,EAAA,IAAAC,EAAA,CAAA,CAAA,KAAAmC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAMvBrC,IAAAA,EAAAA,GAAA;AAAA,MAAAyG,MAAAA,EAAAC;AAAAA,KAAA;AAAqBzG,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAP,CAAAA,QAAAkF,UAAAA,EAAA;AAJ6B3E,IAAAA,EAAAA,GAAA;AAAA,MAAAgC,WAAAA,EAAAC,uBAAAA;AAAAA,MAAAC,OAAAA,EAEhDyC,UAAAA;AAAAA,MAAUxC,OAAAA,EAAA,IAAA;AAAA,MAAAC,KAAAA,EAEZ5C;AAAAA,KAAqB;AAC7BC,IAAAA,CAAAA,MAAAkF,UAAAA;AAAAlF,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAA;AAAA,IAAAU,IAAAA,EAAAqG;AAAAA,GAAA,GAAmCnE,wBAAwBrC,EAK1D,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAX,EAAA,CAAA,CAAA,KAAAmC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAMMzB,IAAAA,EAAAA,GAAA;AAAA,MAAA6F,MAAAA,EAAAC;AAAAA,KAAA;AAAqBzG,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAmB,EAAAA;AAAA,EAAA,IAAAnB,CAAAA,QAAAkF,UAAAA,EAAA;AAJ6B/D,IAAAA,EAAAA,GAAA;AAAA,MAAAoB,WAAAA,EAAAC,uBAAAA;AAAAA,MAAAC,OAAAA,EAEhDyC,UAAAA;AAAAA,MAAUxC,OAAAA,EAAA,KAAA;AAAA,MAAAC,KAAAA,EAEZhC;AAAAA,KAAqB;AAC7BX,IAAAA,CAAAA,MAAAkF,UAAAA;AAAAlF,IAAAA,CAAAA,MAAAmB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnB,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAA;AAAA,IAAAU,IAAAA,EAAAsG;AAAAA,GAAA,GAAmCpE,wBAAwBzB,EAK1D,CAAA;AAAE,EAAA,OAAA,CAAA,EAEO4F,gBAAAA,IAAoBC,gBAAAA,CAAAA;AAAgB,CAAA;AAGzC,MAAMC,yBAAyBA,MAAA;AACpC,EAAA,MAAAC,uBAA6BX,2BAAAA,EAA4B;AACzD,EAAA,MAAAY,qBAA2BL,yBAAAA,EAA0B;AACrD,EAAA,MAAAM,sBAA4BC,0BAAAA,EAA2B;AAAE,EAAA,OAGvDH,oBAAAA,CAAoBxG,IAAAA,IACpByG,kBAAAA,IACAC,mBAAAA,CAAmBvD,MAAAA,GAAA,CAAA;AAAW;AAI3B,SAAAyD,gBAAAA,GAAA;AAAA,EAAA,MAAAtH,CAAAA,GAAAC,cAAA,EAAA,CAAA;AACL,EAAA,MAAA,CAAAC,eAAAA,EAAAqH,kBAAA,CAAA,GAA8CC,SAE5C,KAAK,CAAA;AACP,EAAA,MAAA,CAAAC,aAAAA,EAAAC,gBAAA,CAAA,GAA0CF,aAA+B,CAAA;AAAE,EAAA,IAAAzH,EAAAA;AAAA,EAAA,IAAAC,EAAA,CAAA,CAAA,KAAAmC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAExDrC,IAAAA,EAAAA,GAAAA,MAAA;AACjBwH,MAAAA,kBAAAA,CAAmB,KAAK,CAAA;AACxBG,MAAAA,gBAAAA,KAAqB,CAAA;AAAA,IAAC,CAAA;AACvB1H,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA2H,UAAAA,GAAmB5H,EAAAA;AAGjB,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAP,EAAA,CAAA,CAAA,KAAAmC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAEiD7B,IAAAA,EAAAA,GAAA;AAAA,MAAAqH,QAAAA,EACvC;AAAA,KAAmB;AAC9B5H,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA,EAAA;AAFD,EAAA,MAAA6H,wBAAAA,GAAiCC,kBAAkBvH,EAElD,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAX,EAAA,CAAA,CAAA,KAAAmC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACkDzB,IAAAA,EAAAA,GAAA;AAAA,MAAAiH,QAAAA,EACzC,eAAA;AAAA,MAAeG,OAAAA,EAChBJ;AAAAA,KAAU;AACpB3H,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAAgI,0BAAAA,GAAmCF,kBAAkBnH,EAGpD,CAAA;AAAE,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAnB,EAAA,CAAA,CAAA,KAAAmC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACsDjB,IAAAA,EAAAA,GAAA;AAAA,MAAAyG,QAAAA,EAC7C,sCAAA;AAAA,MAAsCG,OAAAA,EACvCJ;AAAAA,KAAU;AACpB3H,IAAAA,CAAAA,MAAAmB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnB,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAAiI,8BAAAA,GAAuCH,kBAAkB3G,EAGxD,CAAA;AAAE,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAxB,EAAA,CAAA,CAAA,KAAAmC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAC+CZ,IAAAA,EAAAA,GAAA;AAAA,MAAAoG,QAAAA,EACtC,4BAAA;AAAA,MAA4BG,OAAAA,EAC7BJ;AAAAA,KAAU;AACpB3H,IAAAA,CAAAA,MAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAAkI,uBAAAA,GAAgCJ,kBAAkBtG,EAGjD,CAAA;AAED,EAAA,MAAA2G,kBAAwBlB,sBAAAA,EAAuB;AAAE,EAAA,IAAAhF,EAAAA;AAAA,EAAA,IAAAjC,EAAA,CAAA,CAAA,KAAAgI,8BAAAhI,CAAAA,QAAAiI,8BAAAA,EAAA;AAE3BhG,IAAAA,EAAAA,GAAAqB,CAAAA,KAAAA,KAAA;AACpBoE,MAAAA,gBAAAA,CAAiBpE,KAAK,CAAA;AAAC,MAAA,IAEnB8E,gBAAAA,CAAiB9E,KAAK,CAAA,EAAC;AACzB0E,QAAAA,0BAAAA,CAA0BK,MAAAA,EAAQ;AAAC,QAAA;AAAA,MAAA;AAAA,MAAA,IAIjCC,cAAAA,CAAehF,KAAK,CAAA,EAAC;AAAA,QAAA,IACnBiF,mBAAAA,CAAoBjF,KAAK,CAAA,EAAC;AAC5B2E,UAAAA,8BAAAA,CAA8BI,MAAAA,EAAQ;AAAA,QAAC,CAAA,MAAA;AAEvCL,UAAAA,0BAAAA,CAA0BK,MAAAA,EAAQ;AAAA,QAAC;AAAA,QAAA;AAAA,MAAA;AAAA,MAAA,IAKnCG,qBAAAA,CAAsBlF,KAAK,CAAA,EAAC;AAC9B0E,QAAAA,0BAAAA,CAA0BK,MAAAA,EAAQ;AAAC,QAAA;AAAA,MAAA;AAAA,MAAA,MAAA,IAAAI,MAIrB,6BAA6B,CAAA;AAAA,IAAA,CAAA;AAC9CzI,IAAAA,CAAAA,MAAAgI,0BAAAA;AAAAhI,IAAAA,CAAAA,MAAAiI,8BAAAA;AAAAjI,IAAAA,CAAAA,MAAAiC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjC,EAAA,CAAA,CAAA;AAAA,EAAA;AAvBD,EAAA,MAAA0I,aAAAA,GAAsBzG,EAAAA;AAuBpB,EAAA,IAAAoB,EAAAA;AAAA,EAAA,IAAArD,CAAAA,CAAA,CAAA,CAAA,KAAA6H,wBAAAA,IAAA7H,CAAAA,CAAA,CAAA,CAAA,KAAAkI,uBAAAA,IAAAlI,CAAAA,CAAA,EAAA,CAAA,KAAAmI,eAAAA,IAAAnI,EAAA,EAAA,CAAA,KAAA0I,aAAAA,IAAA1I,CAAAA,CAAA,EAAA,CAAA,KAAAgI,0BAAAA,IAAAhI,CAAAA,CAAA,EAAA,CAAA,KAAAiI,8BAAAA,IAAAjI,CAAAA,CAAA,EAAA,CAAA,KAAAE,eAAAA,IAAAF,CAAAA,SAAAyH,aAAAA,EAAA;AAEKpE,IAAAA,EAAAA,GAAA;AAAA,MAAAnD,eAAAA;AAAAA,MAAAqH,kBAAAA;AAAAA,MAAAE,aAAAA;AAAAA,MAAAiB,aAAAA;AAAAA,MAAAhB,gBAAAA;AAAAA,MAAAG,wBAAAA;AAAAA,MAAAG,0BAAAA;AAAAA,MAAAC,8BAAAA;AAAAA,MAAAC,uBAAAA;AAAAA,MAAAC;AAAAA,KAAA;AAWNnI,IAAAA,CAAAA,MAAA6H,wBAAAA;AAAA7H,IAAAA,CAAAA,MAAAkI,uBAAAA;AAAAlI,IAAAA,CAAAA,OAAAmI,eAAAA;AAAAnI,IAAAA,CAAAA,OAAA0I,aAAAA;AAAA1I,IAAAA,CAAAA,OAAAgI,0BAAAA;AAAAhI,IAAAA,CAAAA,OAAAiI,8BAAAA;AAAAjI,IAAAA,CAAAA,OAAAE,eAAAA;AAAAF,IAAAA,CAAAA,OAAAyH,aAAAA;AAAAzH,IAAAA,CAAAA,OAAAqD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAXMqD,EAAAA;AAWN;;;;"}
@@ -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;AAwBD,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,CAkCA"}
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
- if (isSupportedChainId(item.chainId)) {
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: item.chainId
49
+ network: srcChainId
48
50
  });
49
51
  if (!tokenMap[srcTokenKey]) {
50
52
  addresses.add(srcToken);
51
- chainIds.add(item.chainId);
53
+ chainIds.add(srcChainId);
52
54
  }
55
+ }
56
+ if (isSupportedChainId(destChainId)) {
53
57
  const destTokenKey = prepTokenKey({
54
58
  address: destToken,
55
- network: item.chainId
59
+ network: destChainId
56
60
  });
57
61
  if (!tokenMap[destTokenKey]) {
58
62
  addresses.add(destToken);
59
- chainIds.add(item.chainId);
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\n// @TODO Activities cleanup\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\n if (isSupportedChainId(item.chainId)) {\n const srcTokenKey = prepTokenKey({\n address: srcToken,\n network: item.chainId,\n });\n\n if (!tokenMap[srcTokenKey]) {\n addresses.add(srcToken as Address);\n chainIds.add(item.chainId);\n }\n\n const destTokenKey = prepTokenKey({\n address: destToken,\n network: item.chainId,\n });\n\n if (!tokenMap[destTokenKey]) {\n addresses.add(destToken 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"],"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","isSupportedChainId","chainId","srcTokenKey","prepTokenKey","address","network","add","destTokenKey","Array","from"],"mappings":"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"}
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":";;;;AAkBO,SAASA,eAAeC,IAAAA,EAAuC;AACpE,EAAA,OAAOA,KAAKC,QAAAA,KAAa,WAAA;AAC3B;AAEO,SAASC,iBAAiBF,IAAAA,EAAyC;AACxE,EAAA,OAAOA,KAAKC,QAAAA,KAAa,aAAA;AAC3B;AACO,SAASE,sBACdH,IAAAA,EAC6B;AAC7B,EAAA,OAAOA,KAAKC,QAAAA,KAAa,aAAA;AAC3B;AAOO,SAASG,YAAAA,CAAaC,GAAwBC,CAAAA,EAAwB;AAC3E,EAAA,MAAMC,oBAAAA,GAAuB,WAAA,IAAeF,CAAAA,GAAIA,CAAAA,CAAEG,YAAYH,CAAAA,CAAEI,SAAAA;AAChE,EAAA,MAAMC,oBAAAA,GAAuB,WAAA,IAAeJ,CAAAA,GAAIA,CAAAA,CAAEE,YAAYF,CAAAA,CAAEG,SAAAA;AAEhE,EAAA,IACEF,oBAAAA,KAAyBI,MAAAA,IACzBD,oBAAAA,KAAyBC,MAAAA,EACzB;AACA,IAAA,OAAO,CAAA;AAAA,EACT;AAEA,EAAA,OACE,IAAIC,IAAAA,CAAKF,oBAAoB,CAAA,CAAEG,OAAAA,KAC/B,IAAID,IAAAA,CAAKL,oBAAoB,CAAA,CAAEM,OAAAA,EAAQ;AAE3C;AAEA,SAASC,kBAAkBd,IAAAA,EAAoB;AAC7C,EAAA,IAAI,YAAA,IAAgBA,MAClB,OAAO;AAAA,IACLe,UAAUf,IAAAA,CAAKgB,UAAAA;AAAAA,IACfC,WAAWjB,IAAAA,CAAKkB;AAAAA,GAClB;AAEF,EAAA,IAAI,OAAA,IAAWlB,MACb,OAAO;AAAA,IACLe,QAAAA,EAAUf,KAAKmB,KAAAA,CAAMJ,QAAAA;AAAAA,IACrBE,SAAAA,EAAWG,iBAAAA,CAAkBpB,IAAAA,CAAKmB,KAAK,CAAA,GACnCnB,KAAKmB,KAAAA,CAAME,MAAAA,CAAOC,WAAAA,GAClBtB,IAAAA,CAAKmB,KAAAA,CAAMF;AAAAA,GACjB;AAEF,EAAA,OAAO;AAAA,IACLF,QAAAA,EAAUf,KAAKuB,uBAAAA,CAAwBC,eAAAA;AAAAA,IACvCP,SAAAA,EAAWjB,KAAKuB,uBAAAA,CAAwBE;AAAAA,GAC1C;AACF;AAEO,SAASC,qBAAAA,CACdC,YACAC,QAAAA,EAIA;AACA,EAAA,MAAMC,SAAAA,uBAAgBC,GAAAA,EAAa;AACnC,EAAA,MAAMC,QAAAA,uBAAeD,GAAAA,EAAsB;AAE3CH,EAAAA,UAAAA,CAAWK,QAAShC,CAAAA,IAAAA,KAAS;AAC3B,IAAA,MAAM;AAAA,MAAEe,QAAAA;AAAAA,MAAUE;AAAAA,KAAU,GAAIH,kBAAkBd,IAAI,CAAA;AACtD,IAAA,MAAMiC,aAAajC,IAAAA,CAAKkC,OAAAA;AACxB,IAAA,MAAMC,WAAAA,GACJ,OAAA,IAAWnC,IAAAA,IAAQoB,iBAAAA,CAAkBpB,IAAAA,CAAKmB,KAAK,CAAA,GAC3CnB,IAAAA,CAAKmB,KAAAA,CAAME,MAAAA,CAAOe,kBAAAA,GAClBpC,IAAAA,CAAKkC,OAAAA;AAEX,IAAA,IAAIG,kBAAAA,CAAmBJ,UAAU,CAAA,EAAG;AAClC,MAAA,MAAMK,cAAcC,YAAAA,CAAa;AAAA,QAC/BC,OAAAA,EAASzB,QAAAA;AAAAA,QACT0B,OAAAA,EAASR;AAAAA,OACV,CAAA;AAED,MAAA,IAAI,CAACL,QAAAA,CAASU,WAAW,CAAA,EAAG;AAC1BT,QAAAA,SAAAA,CAAUa,IAAI3B,QAAmB,CAAA;AACjCgB,QAAAA,QAAAA,CAASW,IAAIT,UAAU,CAAA;AAAA,MACzB;AAAA,IACF;AAEA,IAAA,IAAII,kBAAAA,CAAmBF,WAAW,CAAA,EAAG;AACnC,MAAA,MAAMQ,eAAeJ,YAAAA,CAAa;AAAA,QAChCC,OAAAA,EAASvB,SAAAA;AAAAA,QACTwB,OAAAA,EAASN;AAAAA,OACV,CAAA;AAED,MAAA,IAAI,CAACP,QAAAA,CAASe,YAAY,CAAA,EAAG;AAC3Bd,QAAAA,SAAAA,CAAUa,IAAIzB,SAAoB,CAAA;AAClCc,QAAAA,QAAAA,CAASW,IAAIP,WAAW,CAAA;AAAA,MAC1B;AAAA,IACF;AAAA,EACF,CAAC,CAAA;AAED,EAAA,OAAO;AAAA,IACLN,SAAAA,EAAWe,KAAAA,CAAMC,IAAAA,CAAKhB,SAAS,CAAA;AAAA,IAC/BE,QAAAA,EAAUa,KAAAA,CAAMC,IAAAA,CAAKd,QAAQ;AAAA,GAC/B;AACF;;;;"}
@@ -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;AAED,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
+ {"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":"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"}
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,5 +1,5 @@
1
1
  const __vite_import_meta_env__ = {};
2
- const API_URL = "https://api.paraswap.io";
2
+ const API_URL = "https://api.staging.paraswap.io";
3
3
  const API_PROXY_URL = __vite_import_meta_env__["VITE_API_PROXY_URL"] ?? "https://proxy.paraswap.io";
4
4
  const emptyArray = [];
5
5
  const emptyObject = {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/constants/index.ts"],"sourcesContent":["export const API_URL =\n import.meta.env.VITE_API_URL ?? \"https://api.paraswap.io\";\nexport const API_PROXY_URL =\n import.meta.env[\"VITE_API_PROXY_URL\"] ?? \"https://proxy.paraswap.io\";\n\nexport const emptyArray: never[] = [];\nexport const emptyObject: Record<string, never> = {};\n\nexport const WRAP_ETH_GAS_LIMIT_INACCURATE = 30_000;\nexport const FILL_ORDER_GAS_LIMIT_INACCURATE = 200_000;\n\nexport const SAFE_CALLS_WAIT_TIMEOUT = 10 * 60_000; // 10 min\n// Safe returns callsId right away on inital tx creation,\n// the default wait is 1 min for at least `pending` status,\n// but Safe doesn't return any status until all signers are done and the actual tx is sent,\n// so the timeout may expire even before the call is sent onchain\n"],"names":["API_URL","API_PROXY_URL","import","emptyArray","emptyObject","WRAP_ETH_GAS_LIMIT_INACCURATE","FILL_ORDER_GAS_LIMIT_INACCURATE","SAFE_CALLS_WAIT_TIMEOUT"],"mappings":";AAAO,MAAMA,OAAAA,GACqB;AAC3B,MAAMC,aAAAA,GACXC,wBAAAA,CAAgB,oBAAoB,CAAA,IAAK;AAEpC,MAAMC,aAAsB;AAC5B,MAAMC,cAAqC;AAE3C,MAAMC,6BAAAA,GAAgC;AACtC,MAAMC,+BAAAA,GAAkC;AAExC,MAAMC,0BAA0B,EAAA,GAAK;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/constants/index.ts"],"sourcesContent":["export const API_URL =\n import.meta.env.VITE_API_URL ?? \"https://api.paraswap.io\";\nexport const API_PROXY_URL =\n import.meta.env[\"VITE_API_PROXY_URL\"] ?? \"https://proxy.paraswap.io\";\n\nexport const emptyArray: never[] = [];\nexport const emptyObject: Record<string, never> = {};\n\nexport const WRAP_ETH_GAS_LIMIT_INACCURATE = 30_000;\nexport const FILL_ORDER_GAS_LIMIT_INACCURATE = 200_000;\n\nexport const SAFE_CALLS_WAIT_TIMEOUT = 10 * 60_000; // 10 min\n// Safe returns callsId right away on inital tx creation,\n// the default wait is 1 min for at least `pending` status,\n// but Safe doesn't return any status until all signers are done and the actual tx is sent,\n// so the timeout may expire even before the call is sent onchain\n"],"names":["API_URL","import","API_PROXY_URL","emptyArray","emptyObject","WRAP_ETH_GAS_LIMIT_INACCURATE","FILL_ORDER_GAS_LIMIT_INACCURATE","SAFE_CALLS_WAIT_TIMEOUT"],"mappings":";AAAO,MAAMA,OAAAA,GACXC;AACK,MAAMC,aAAAA,GACXD,wBAAAA,CAAgB,oBAAoB,CAAA,IAAK;AAEpC,MAAME,aAAsB;AAC5B,MAAMC,cAAqC;AAE3C,MAAMC,6BAAAA,GAAgC;AACtC,MAAMC,+BAAAA,GAAkC;AAExC,MAAMC,0BAA0B,EAAA,GAAK;;;;"}
@@ -28,7 +28,7 @@ const privyConfig = {
28
28
  },
29
29
  // another option is to give an invalid ID,
30
30
  // but then it retries indefinitely
31
- walletConnectCloudProjectId: "7535ce67d223b89670980f2442899904",
31
+ walletConnectCloudProjectId: "9796e40630a6bea7605ac281b0deb939",
32
32
  // Privy doesn't accept const Chain[]
33
33
  supportedChains: chains
34
34
  // defaultChain: chains[0], @TODO set to App's selected chain
@@ -6,7 +6,7 @@ import { isInIframe } from './isInsideSafeIframe.js';
6
6
 
7
7
  const connectors = [
8
8
  walletConnect({
9
- projectId: "7535ce67d223b89670980f2442899904"
9
+ projectId: "9796e40630a6bea7605ac281b0deb939"
10
10
  }),
11
11
  injected(),
12
12
  // metaMask() as CreateConnectorFn, // injected() detects metamask already
package/dist/styles.css CHANGED
@@ -67,7 +67,7 @@
67
67
  }
68
68
  }
69
69
  }
70
- .velora-widget {
70
+ :root, :host {
71
71
  --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
72
72
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
73
73
  --color-red-800: oklch(44.4% .177 26.899);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velora-dex/widget",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [