@kodiak-finance/orderly-trading-rewards 2.8.18 → 2.8.19
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/index.js +1854 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1848 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -10
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pages/index/title/title.ui.tsx","../src/pages/index/provider.tsx","../src/pages/index/title/title.script.tsx","../src/pages/index/title/title.widget.tsx","../src/pages/index/curEpoch/curEpoch.script.tsx","../src/pages/index/components/esOrderlyIcon.tsx","../src/pages/index/components/orderlyIcon.tsx","../src/pages/index/curEpoch/rewardsTooltip.tsx","../src/pages/index/curEpoch/curEpoch.ui.tsx","../src/pages/index/curEpoch/curEpoch.widget.tsx","../src/pages/index/curEpoch/index.ts","../src/pages/index/availableToClaim/availableToClaim.script.tsx","../src/pages/index/components/jumpIcon.tsx","../src/pages/index/availableToClaim/availableToClaim.ui.tsx","../src/pages/index/availableToClaim/availableToClaim.widget.tsx","../src/pages/index/availableToClaim/index.ts","../src/pages/index/stakeBooster/stakeBooster.script.tsx","../src/pages/index/components/rocket.tsx","../src/pages/index/stakeBooster/stakeBooster.ui.tsx","../src/pages/index/stakeBooster/stakeBooster.widget.tsx","../src/pages/index/stakeBooster/index.ts","../src/pages/index/rewardHistory/rewardsHistory.ui.tsx","../src/pages/index/rewardHistory/rewardsHistory.script.tsx","../src/pages/index/rewardHistory/rewardsHistory.widget.tsx","../src/pages/index/rewardHistory/index.ts","../src/pages/index/index.tsx","../src/pages/index/title/index.ts","../src/pages/index/page.tsx","../src/layout/layout.script.tsx","../src/layout/layout.ui.tsx","../src/layout/layout.widget.tsx"],"names":["Divider","Flex","Text","useTranslation","jsx","jsxs","Title","MultiLineText","init_title_ui","__esmMin","props","title","subtitle","content","docOpenOptions","t","createContext","useContext","useMemo","TWType","useEpochInfo","useAllBrokers","useGetClaimed","DistributionId","useCurEpochEstimate","useWalletRewardsHistory","useConfig","useTradingRewardsStatus","TradingRewardsContext","TradingRewardsProvider","useTradingRewardsContext","init_provider","type","showEpochPauseCountdown","titleConfig","children","brokerId","statusInfo","totalOrderClaimedReward","totalEsOrderClaimedReward","brokers","curEpochEstimate","walletRewardsHistory","epochList","brokerName","memoizedValue","useTitleScript","init_title_script","title_widget_exports","__export","TitleWidget","init_title_widget","state","useAccount","useWalletConnector","useAppContext","AccountStatusEnum","useCurEpochScript","init_curEpoch_script","estimate","wrongNetwork","disabledConnect","connect","hideData","notConnected","rewardsTooltip","otherRewards","item","a","b","curRewards","EsOrderlyIcon","init_esOrderlyIcon","OrderlyIcon","init_orderlyIcon","React","useState","Tooltip","commifyOptional","RewardsTooltip","init_rewardsTooltip","open","setOpen","e","useEffect","EpochStatus","Box","cn","AuthGuard","Fragment","CurEpoch","EstRewards","Statics","Countdown","getDate","ArrowRightIcon","TwitterLInk","init_curEpoch_ui","curEpochInfo","startTime","endTime","curEpochId","max_reward_amount","token","isOrder","pausedEpochTimeDown","lastCompletedEpoch","nextEpoch","showPauseCountdown","highLight","text","targetTimestamp","isStandalone","timeLeft","setTimeLeft","intervalId","now","distance","days","hours","minutes","seconds","num","value","timestamp","date","month","day","CurEpochWidget","init_curEpoch_widget","curEpoch_exports","init_curEpoch","useCallback","useDataTap","Decimal","ChainNamespace","ENVType","useGetEnv","useAvailableScript","init_availableToClaim_script","orderClaimedRewardData","esOrderClaimedRewardData","namespace","data","lifetimeOrderReward","lifetimeEsOrderReward","env","goToClaim","url","calculateRemainingReward","totalReward","claimedReward","remainingReward","availableOrder","availableEsOrder","orderValue","esorderValue","JumpIcon","init_jumpIcon","AvailableToClaim","init_availableToClaim_ui","AvailableToClaimWidget","init_availableToClaim_widget","availableToClaim_exports","init_availableToClaim","useStakeBoosterScript","init_stakeBooster_script","stakeNow","estimateValue","booster","estStakeBoost","RocketIcon","init_rocket","commify","StakeBooster","init_stakeBooster_ui","calcValue","StakeBoosterWidget","init_stakeBooster_widget","stakeBooster_exports","init_stakeBooster","ListView","DataTable","useMediaQuery","AuthGuardEmpty","formatTimestamp","year","amPm","formattedHours","formattedMinutes","RewardHistory","List","MobileCell","DesktopList","init_rewardsHistory_ui","index","r_warret","columns","record","useAccountRewardsHistory","usePagination","getTimestamp","useRewardsHistoryScript","init_rewardsHistory_script","account","epochInfos","isNotStared","history","accountHistory","combineData","id","info","_findIndex","brokerList","curBrokerIndex","i","element","status","curDate","pagination","RewardsHistoryWidget","init_rewardsHistory_widget","rewardHistory_exports","init_rewardHistory","index_exports","HomePage","LazyTitleWidget","mod","LazyCurEpochWidget","LazyAvailableToClaimWidget","LazyStakeBoosterWidget","LazyRewardsHistoryWidget","TradingRewardsLeftSidebarPath","useTradingRewardsLayoutScript","current","setCurrent","items","hideSideBar","omit","Scaffold","TradingRewardsLayout","classNames","rest","TradingRewardsLayoutWidget"],"mappings":"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","sourcesContent":["import { Divider, Flex, Text } from \"@kodiak-finance/orderly-ui\";\nimport { FC } from \"react\";\nimport { TitleConfig } from \"./title.script\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\n\nexport const Title: FC<TitleConfig> = (props) => {\n const { title, subtitle, content, docOpenOptions } = props;\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-title\"\n p={6}\n direction={\"column\"}\n itemAlign={\"start\"}\n gap={4}\n className=\"oui-bg-base-9 oui-font-semibold\"\n r={\"2xl\"}\n width={\"100%\"}\n >\n {title || <Text size=\"lg\">{t(\"common.tradingRewards\")}</Text>}\n <Divider intensity={8} className=\"oui-w-full\" />\n <Flex direction={\"column\"} itemAlign={\"start\"} gap={1}>\n {subtitle || (\n <Text size=\"base\">\n {t(\"tradingRewards.subtitle\", {\n brokerName: props.brokerName,\n })}\n </Text>\n )}\n\n {content || <MultiLineText docOpenOptions={docOpenOptions} />}\n </Flex>\n </Flex>\n );\n};\n\nconst MultiLineText: FC<{\n docOpenOptions?: {\n url?: string;\n target?: string;\n features?: string;\n };\n}> = (props) => {\n const { t } = useTranslation();\n\n // const clickableParts = [\n // {\n // content: \"Learn more here\",\n // isLink: true,\n // },\n // // {\n // // content: \"about Orderly Trading rewards Program.\",\n // // isLink: false,\n // // },\n // // {\n // // content: \"Trading rewards Docs\",\n // // isLink: true,\n // // },\n // ];\n // const renderText = () => {\n // return clickableParts.map((item, index) => {\n // return (\n // <span\n // key={index}\n // className={`${\n // item.isLink\n // ? \"oui-text-primary-light hover:oui-text-primary-darken oui-cursor-pointer\"\n // : \"\"\n // }`}\n // dangerouslySetInnerHTML={{ __html: item.content }}\n // />\n // );\n // });\n // };\n\n return (\n <div\n className=\"oui-text-sm oui-text-base-contrast-54 oui-font-normal oui-flex oui-gap-1 oui-items-center hover:oui-text-primary-darken oui-text-primary-light oui-cursor-pointer\"\n onClick={() => [\n window.open(\n props.docOpenOptions?.url,\n props.docOpenOptions?.target,\n props.docOpenOptions?.features\n ),\n ]}\n >\n <span className=\"oui-text-primary-light hover:oui-text-primary-darken oui-cursor-pointer\">\n {t(\"tradingRewards.learnMore\")}\n </span>\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M4.008 7.995c0-.368.298-.666.666-.666H9.71L7.733 5.331l.937-.936 3.143 3.122c.13.13.195.304.195.479a.67.67 0 0 1-.195.478L8.67 11.596l-.937-.937 1.978-1.998H4.674a.666.666 0 0 1-.666-.666\" />\n </svg>\n </div>\n );\n};\n\nexport default MultiLineText;\n","import React, {\n PropsWithChildren,\n createContext,\n useContext,\n useMemo,\n} from \"react\";\nimport {\n TWType,\n EpochInfoType,\n useEpochInfo,\n useAllBrokers,\n useGetClaimed,\n DistributionId,\n useCurEpochEstimate,\n CurrentEpochEstimate,\n useWalletRewardsHistory,\n WalletRewardsHistoryReturns,\n Brokers,\n useConfig,\n useTradingRewardsStatus,\n StatusInfo,\n} from \"@kodiak-finance/orderly-hooks\";\nimport type { TitleConfig } from \"./title/title.script\";\n\nexport type TradingRewardsState = {\n type: TWType;\n brokerId: string;\n brokerName?: string;\n brokers?: Brokers;\n epochList: EpochInfoType;\n totalOrderClaimedReward: [number | undefined, { refresh: () => void }];\n totalEsOrderClaimedReward: [number | undefined, { refresh: () => void }];\n curEpochEstimate?: CurrentEpochEstimate;\n walletRewardsHistory: WalletRewardsHistoryReturns;\n titleConfig: TitleConfig;\n statusInfo: StatusInfo | undefined;\n showEpochPauseCountdown?: boolean;\n};\n\nexport const TradingRewardsContext = createContext<TradingRewardsState>(\n {} as TradingRewardsState,\n);\n\nexport const TradingRewardsProvider: React.FC<\n PropsWithChildren<{\n type?: TWType;\n titleConfig?: TitleConfig;\n showEpochPauseCountdown?: boolean;\n }>\n> = (props) => {\n const {\n type = TWType.normal,\n showEpochPauseCountdown,\n titleConfig = {\n docOpenOptions: {\n url: \"https://orderly.network/docs/introduction/tokenomics/trading-rewards\",\n target: \"_blank\",\n },\n },\n children,\n } = props;\n\n const brokerId = useConfig(\"brokerId\");\n\n const { statusInfo } = useTradingRewardsStatus(type === TWType.mm);\n const totalOrderClaimedReward = useGetClaimed(\n type === TWType.mm ? DistributionId.mmOrder : DistributionId.order,\n );\n const totalEsOrderClaimedReward = useGetClaimed(\n type === TWType.mm ? DistributionId.mmEsOrder : DistributionId.esORder,\n );\n\n const [brokers] = useAllBrokers();\n\n const [curEpochEstimate] = useCurEpochEstimate(type);\n\n const walletRewardsHistory = useWalletRewardsHistory(type);\n\n const epochList = useEpochInfo(type);\n\n const brokerName = useMemo(() => {\n return brokers?.[brokerId];\n }, [brokerId, brokers]);\n\n const memoizedValue = useMemo<TradingRewardsState>(() => {\n return {\n type: type,\n totalOrderClaimedReward,\n totalEsOrderClaimedReward,\n epochList,\n curEpochEstimate,\n walletRewardsHistory,\n titleConfig,\n brokerId,\n brokerName,\n brokers,\n statusInfo,\n showEpochPauseCountdown: showEpochPauseCountdown ?? false,\n };\n }, [\n type,\n totalOrderClaimedReward,\n totalEsOrderClaimedReward,\n epochList,\n curEpochEstimate,\n walletRewardsHistory,\n titleConfig,\n brokerId,\n brokerName,\n brokers,\n statusInfo,\n showEpochPauseCountdown,\n ]);\n\n return (\n <TradingRewardsContext.Provider value={memoizedValue}>\n {children}\n </TradingRewardsContext.Provider>\n );\n};\n\nexport const useTradingRewardsContext = () => {\n return useContext<TradingRewardsState>(TradingRewardsContext);\n};\n","import { ReactNode } from \"react\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type TitleConfig = {\n /// default is `Trading rewards`\n title?: string | ReactNode;\n /// default is `Trade with Orderly’s to earn ORDER.`\n subtitle?: string | ReactNode;\n /// default is `Learn more about Orderly Trading rewards Program in Trading rewards Docs`\n content?: string | ReactNode;\n /// default is { url: 'https://orderly.network/docs/introduction/tokenomics/trading-rewards', target: \"_blank\"}\n docOpenOptions?: {\n url?: string;\n target?: string;\n features?: string;\n };\n brokerName?: string;\n};\n\nexport const useTitleScript = (): TitleConfig => {\n\n const { titleConfig } = useTradingRewardsContext();\n\n return titleConfig;\n};\n","import React from \"react\";\nimport { useTitleScript } from \"./title.script\";\nimport { Title } from \"./title.ui\";\n\nexport const TitleWidget: React.FC = () => {\n const state = useTitleScript();\n return <Title {...state} />;\n};\n","import { useMemo } from \"react\";\nimport { useAccount, useWalletConnector } from \"@kodiak-finance/orderly-hooks\";\nimport { useAppContext } from \"@kodiak-finance/orderly-react-app\";\nimport { AccountStatusEnum } from \"@kodiak-finance/orderly-types\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport { RewardsTooltipProps } from \"./rewardsTooltip\";\n\nexport const useCurEpochScript = () => {\n const {\n epochList,\n curEpochEstimate: estimate,\n brokerId,\n brokerName,\n statusInfo,\n showEpochPauseCountdown,\n } = useTradingRewardsContext();\n const { wrongNetwork, disabledConnect } = useAppContext();\n const { connect } = useWalletConnector();\n const { state } = useAccount();\n\n const hideData = useMemo(() => {\n return (\n state.status <= AccountStatusEnum.SignedIn ||\n wrongNetwork ||\n disabledConnect\n );\n }, [state, wrongNetwork, disabledConnect]);\n\n const notConnected = useMemo(() => {\n return state.status <= AccountStatusEnum.SignedIn || disabledConnect;\n }, [state, disabledConnect]);\n\n const rewardsTooltip = useMemo((): RewardsTooltipProps | undefined => {\n if (typeof estimate === \"undefined\" || estimate === null) return undefined;\n const otherRewards = estimate.rows\n .filter((item) => item.broker_id !== brokerId)\n .reduce((a, b) => a + b.est_r_account, 0);\n const curRewards = Number(estimate.est_r_wallet) - otherRewards;\n return {\n brokerName,\n curRewards,\n otherRewards,\n };\n }, [brokerId, brokerName, estimate]);\n\n return {\n epochList,\n estimate,\n hideData,\n notConnected,\n connect,\n rewardsTooltip: hideData ? undefined : rewardsTooltip,\n statusInfo,\n showEpochPauseCountdown,\n };\n};\n\nexport type CurEpochReturns = ReturnType<typeof useCurEpochScript>;\n","export const EsOrderlyIcon = (props: {className?: string}) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2449)\">\n <path\n d=\"M10.0249 19.9361C15.5202 19.9361 19.9751 15.4813 19.9751 9.98589C19.9751 4.49052 15.5202 0.0356445 10.0249 0.0356445C4.52949 0.0356445 0.0746155 4.49052 0.0746155 9.98589C0.0746155 15.4813 4.52949 19.9361 10.0249 19.9361Z\"\n fill=\"url(#paint0_linear_862_2449)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0992 5.0347C14.1824 5.0347 14.2202 4.93253 14.1556 4.88017C13.0272 3.96625 11.59 3.41876 10.0249 3.41876C8.4598 3.41876 7.02258 3.96625 5.89428 4.88017C5.82963 4.93253 5.86743 5.0347 5.95063 5.0347H14.0992ZM7.2658 11.6648C7.34763 11.6648 7.42329 11.707 7.47028 11.7739C8.03421 12.5781 8.96819 13.1038 10.025 13.1038C11.0817 13.1038 12.0156 12.5781 12.5796 11.7739C12.6266 11.707 12.7022 11.6648 12.7841 11.6648H16.2198C16.2985 11.6648 16.3559 11.7395 16.334 11.8151C15.5419 14.5521 13.0171 16.5531 10.0249 16.5531C7.03275 16.5531 4.50795 14.5521 3.71578 11.8151C3.6939 11.7395 3.75127 11.6648 3.83 11.6648H7.2658ZM12.335 7.8919C12.3825 7.94426 12.4493 7.97581 12.5199 7.97581H16.114C16.1955 7.97581 16.2533 7.89653 16.2264 7.81972C15.9727 7.0936 15.5951 6.42564 15.119 5.84118C15.0743 5.78631 15.007 5.75526 14.9361 5.75526H5.11354C5.04279 5.75526 4.97543 5.78631 4.93075 5.84118C4.4546 6.42564 4.07701 7.0936 3.82337 7.81972C3.79653 7.89653 3.8543 7.97581 3.93567 7.97581H7.52983C7.60053 7.97581 7.66725 7.94426 7.71477 7.8919C8.28522 7.263 9.10892 6.86807 10.0249 6.86807C10.9408 6.86807 11.7646 7.263 12.335 7.8919ZM13.028 10.8273C13.0114 10.8862 13.0549 10.9458 13.116 10.9458H16.4447C16.4894 10.9458 16.5273 10.913 16.5333 10.8688C16.572 10.5798 16.5921 10.285 16.5921 9.98539C16.5921 9.56935 16.5534 9.1623 16.4795 8.76771C16.4716 8.72551 16.4345 8.6952 16.3916 8.6952H13.0042C12.9388 8.6952 12.895 8.763 12.9195 8.82377C13.0636 9.18276 13.1429 9.57477 13.1429 9.98529C13.1429 10.277 13.1029 10.5595 13.028 10.8273ZM6.9338 10.9458C6.99492 10.9458 7.03829 10.8862 7.02183 10.8273C6.94688 10.5595 6.90682 10.277 6.90682 9.98529C6.90682 9.57477 6.98617 9.18276 7.13037 8.82377C7.15477 8.763 7.11101 8.6952 7.04553 8.6952H3.65817C3.61522 8.6952 3.5782 8.72551 3.5703 8.76771C3.49631 9.1623 3.45761 9.56935 3.45761 9.98539C3.45761 10.285 3.47767 10.5798 3.51651 10.8688C3.52246 10.913 3.56045 10.9458 3.60511 10.9458H6.9338Z\"\n fill=\"url(#paint1_linear_862_2449)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"-2.24058\"\n x2=\"10.0249\"\n y2=\"21.2774\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"white\" />\n <stop offset=\"1\" stopColor=\"#EDE9F4\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"3.41876\"\n x2=\"10.0249\"\n y2=\"16.5531\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2449\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","export const OrderlyIcon = (props: {\n className?: string;\n}) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2443)\">\n <path\n d=\"M10.0249 19.9491C15.5202 19.9491 19.9751 15.4942 19.9751 9.99883C19.9751 4.50346 15.5202 0.048584 10.0249 0.048584C4.52949 0.048584 0.0746155 4.50346 0.0746155 9.99883C0.0746155 15.4942 4.52949 19.9491 10.0249 19.9491Z\"\n fill=\"url(#paint0_linear_862_2443)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1556 4.8931C14.2202 4.94547 14.1824 5.04764 14.0992 5.04764H5.95063C5.86743 5.04764 5.82963 4.94547 5.89428 4.8931C7.02258 3.97918 8.4598 3.4317 10.0249 3.4317C11.59 3.4317 13.0272 3.97918 14.1556 4.8931Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.47028 11.7869C7.4233 11.7199 7.34764 11.6777 7.26581 11.6777H3.83C3.75128 11.6777 3.69391 11.7525 3.71579 11.8281C4.50796 14.565 7.03275 16.566 10.0249 16.566C13.0171 16.566 15.5419 14.565 16.334 11.8281C16.3559 11.7525 16.2985 11.6777 16.2198 11.6777H12.7841C12.7022 11.6777 12.6266 11.7199 12.5796 11.7869C12.0156 12.5911 11.0817 13.1167 10.025 13.1167C8.96818 13.1167 8.03421 12.5911 7.47028 11.7869Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.335 7.90476C12.3825 7.95713 12.4493 7.98867 12.5199 7.98867H16.114C16.1955 7.98867 16.2533 7.9094 16.2264 7.83259C15.9727 7.10647 15.5951 6.43851 15.119 5.85405C15.0743 5.79918 15.007 5.76813 14.9361 5.76813H5.11354C5.04278 5.76813 4.97543 5.79918 4.93074 5.85405C4.45459 6.43851 4.07701 7.10647 3.82337 7.83259C3.79652 7.9094 3.85428 7.98867 3.93567 7.98867H7.52982C7.60052 7.98867 7.66725 7.95713 7.71475 7.90476C8.28522 7.27587 9.10892 6.88093 10.0249 6.88093C10.9408 6.88093 11.7646 7.27587 12.335 7.90476Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.116 10.9587C13.0549 10.9587 13.0114 10.8991 13.028 10.8402C13.1029 10.5723 13.1429 10.29 13.1429 9.99822C13.1429 9.5877 13.0636 9.19568 12.9195 8.83669C12.895 8.77593 12.9388 8.70813 13.0042 8.70813H16.3916C16.4345 8.70813 16.4716 8.73843 16.4795 8.78064C16.5534 9.17523 16.5921 9.58228 16.5921 9.99832C16.5921 10.2979 16.572 10.5927 16.5333 10.8816C16.5273 10.9259 16.4894 10.9587 16.4447 10.9587H13.116ZM7.02183 10.8402C7.03829 10.8991 6.99492 10.9587 6.93381 10.9587H3.60511C3.56045 10.9587 3.52246 10.9259 3.51651 10.8816C3.47767 10.5927 3.45761 10.2979 3.45761 9.99832C3.45761 9.58228 3.49631 9.17523 3.5703 8.78064C3.5782 8.73843 3.61523 8.70813 3.65817 8.70813H7.04553C7.11101 8.70813 7.15477 8.77593 7.13037 8.83669C6.98617 9.19568 6.90682 9.5877 6.90682 9.99822C6.90682 10.29 6.94688 10.5723 7.02183 10.8402Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2443\"\n x1=\"10.0249\"\n y1=\"0.0486119\"\n x2=\"10.0249\"\n y2=\"19.9491\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2443\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n };\n ","import React, { FC, useState } from \"react\";\nimport { Flex, Text, Tooltip } from \"@kodiak-finance/orderly-ui\";\nimport { commifyOptional } from \"@kodiak-finance/orderly-utils\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\n\nexport type RewardsTooltipProps = {\n brokerName: string | undefined;\n curRewards: number;\n otherRewards: number;\n};\n\nexport const RewardsTooltip: FC<{\n rewardsTooltip?: RewardsTooltipProps;\n children?: React.ReactElement;\n className?: string;\n arrowClassName?: string;\n align?: \"start\" | \"center\" | \"end\";\n}> = (props) => {\n const [open, setOpen] = useState(false);\n const { t } = useTranslation();\n\n const content = (): any => {\n return (\n <Flex\n direction={\"column\"}\n className=\"oui-leading-[1.5] oui-text-2xs oui-text-base-contrast-80 oui-min-w-[204px]\"\n gap={1}\n >\n <Flex gap={1} width={\"100%\"}>\n <Text className=\"oui-flex-1\">{props.rewardsTooltip?.brokerName}</Text>\n <Text>\n {commifyOptional(props.rewardsTooltip?.curRewards, { fix: 2 })}\n </Text>\n </Flex>\n <Flex gap={1} width={\"100%\"}>\n <Text className=\"oui-flex-1\">\n {t(\"tradingRewards.otherOrderlyDex\")}\n </Text>\n <Text>\n {commifyOptional(props.rewardsTooltip?.otherRewards, { fix: 2 })}\n </Text>\n </Flex>\n </Flex>\n );\n };\n\n return (\n <Tooltip\n content={content()}\n align={props.align}\n className={props.className}\n open={open}\n onOpenChange={setOpen}\n arrow={{\n className: props.arrowClassName,\n }}\n delayDuration={100}\n >\n {!!props.children ? (\n React.cloneElement(props.children!, {\n onClick: (e: any) => {\n e.preventDefault();\n setOpen(!open);\n },\n })\n ) : (\n <svg\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"oui-cursor-pointer\"\n onClick={(e) => {\n e.preventDefault();\n setOpen(!open);\n }}\n >\n <path\n d=\"M10.5 1.678a8.333 8.333 0 1 0-.001 16.667 8.333 8.333 0 0 0 0-16.667m0 4.167a.833.833 0 1 1-.001 1.667.833.833 0 0 1 0-1.667m0 2.5c.46 0 .832.373.832.833v4.167a.833.833 0 0 1-1.666 0V9.178c0-.46.373-.833.833-.833\"\n fill=\"#fff\"\n fillOpacity=\".36\"\n />\n </svg>\n )}\n </Tooltip>\n );\n};\n","import { useState, useEffect, FC, ReactNode, SVGProps, useMemo } from \"react\";\nimport { EpochStatus } from \"@kodiak-finance/orderly-hooks\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\nimport { AccountStatusEnum } from \"@kodiak-finance/orderly-types\";\nimport { Box, Flex, Text, cn } from \"@kodiak-finance/orderly-ui\";\nimport { AuthGuard } from \"@kodiak-finance/orderly-ui-connector\";\nimport { commifyOptional } from \"@kodiak-finance/orderly-utils\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { CurEpochReturns } from \"./curEpoch.script\";\nimport { RewardsTooltip } from \"./rewardsTooltip\";\n\nexport const CurEpoch: FC<CurEpochReturns> = (props) => {\n const { t } = useTranslation();\n\n const state = props;\n const curEpochInfo = state.epochList?.[1].curEpochInfo;\n const epochList = state.epochList?.[0];\n const startTime = curEpochInfo?.start_time;\n const endTime = curEpochInfo?.end_time;\n const curEpochId = curEpochInfo?.epoch_id;\n const max_reward_amount = curEpochInfo?.max_reward_amount;\n const token = curEpochInfo?.epoch_token;\n\n const isOrder = curEpochInfo\n ? `${curEpochInfo?.epoch_token}`.toLowerCase() === \"order\"\n : undefined;\n\n const pausedEpochTimeDown = useMemo(() => {\n if (!props.showEpochPauseCountdown) {\n return undefined;\n }\n if (!epochList || props.statusInfo?.epochStatus !== EpochStatus.paused) {\n return undefined;\n }\n\n const lastCompletedEpoch = props.statusInfo?.lastCompletedEpoch;\n if (lastCompletedEpoch === undefined) {\n return undefined;\n }\n const nextEpoch = lastCompletedEpoch + 1;\n const epoch = epochList.find((item: any) => item.epoch_id === nextEpoch);\n return epoch?.start_time;\n }, [props.statusInfo?.epochStatus, epochList]);\n\n const showPauseCountdown = useMemo(() => {\n return (\n props.statusInfo?.epochStatus === EpochStatus.paused &&\n pausedEpochTimeDown\n );\n }, [props.statusInfo?.epochStatus, pausedEpochTimeDown]);\n\n if (props.statusInfo?.epochStatus !== EpochStatus.active) {\n return (\n <Flex\n id=\"oui-tradingRewards-home-currentEpoch\"\n r={\"2xl\"}\n className=\"oui-bg-base-9 oui-font-semibold oui-p-10\"\n width={\"100%\"}\n height={\"100%\"}\n direction={\"column\"}\n // justify={\"stretch\"}\n itemAlign={\"stretch\"}\n >\n <Flex\n gap={2}\n direction={\"column\"}\n justify={\"center\"}\n itemAlign={\"center\"}\n className=\"oui-size-full\"\n >\n {showPauseCountdown ? (\n <Flex\n gap={2}\n direction={\"column\"}\n justify={\"center\"}\n itemAlign={\"center\"}\n >\n <Text className=\"oui-text-base-contrast-54 oui-text-sm\">\n {t(\"tradingRewards.epochPauseCountdown.title\")}\n </Text>\n <Countdown targetTimestamp={pausedEpochTimeDown} isStandalone />\n </Flex>\n ) : (\n <Flex\n className=\"oui-text-base-contrast-54 oui-text-sm oui-text-center\"\n justify={\"center\"}\n itemAlign={\"center\"}\n >\n {props.statusInfo?.epochStatus === EpochStatus.paused\n ? t(\"tradingRewards.eopchStatus.pause\")\n : t(\"tradingRewards.eopchStatus.ended\")}\n </Flex>\n )}\n {props.statusInfo?.epochStatus === EpochStatus.paused && (\n <div\n className={cn(\n \"oui-w-full\",\n showPauseCountdown ? \"oui-mt-2\" : \"oui-mt-0\",\n )}\n >\n <TwitterLInk />\n </div>\n )}\n </Flex>\n </Flex>\n );\n }\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-currentEpoch\"\n r={\"2xl\"}\n className=\"oui-bg-base-9 oui-font-semibold\"\n width={\"100%\"}\n height={\"100%\"}\n direction={\"column\"}\n // justify={\"stretch\"}\n itemAlign={\"stretch\"}\n >\n <Countdown targetTimestamp={endTime} />\n <Flex p={6} direction={\"column\"} gap={4} className=\"oui-h-full\">\n <Flex direction={\"row\"} gap={3} width={\"100%\"} justify={\"around\"}>\n <Statics\n title={t(\"tradingRewards.epoch\")}\n highLight={curEpochId ? `${curEpochId}` : \"--\"}\n text={\n startTime && endTime\n ? `${getDate(startTime)} - ${getDate(endTime)}`\n : \"\"\n }\n />\n <Statics\n title={t(\"tradingRewards.epochRewards\")}\n highLight={commifyOptional(max_reward_amount, { fix: 0 })}\n text={token}\n />\n </Flex>\n <EstRewards\n isOrder={isOrder}\n direction={state.notConnected ? \"row\" : \"column\"}\n justify={state.notConnected ? \"between\" : \"center\"}\n hideData={state.hideData}\n estRewards={state.hideData ? \"--\" : props.estimate?.est_r_wallet}\n rewardsTooltip={props.rewardsTooltip}\n background={\n state.notConnected\n ? \"linear-gradient(28.29deg, #1B1D22 21.6%, #26292E 83.23%)\"\n : \"linear-gradient(0deg, #2D0061 2.62%, #BD6BED 86.5%)\"\n }\n />\n {/* {state.notConnected && (\n <Button\n variant=\"gradient\"\n fullWidth\n onClick={(e) => {\n e.stopPropagation();\n state.connect();\n }}\n >\n Connect wallet\n </Button>\n )} */}\n\n <div className=\"oui-w-full\">\n <AuthGuard\n status={AccountStatusEnum.SignedIn}\n buttonProps={{ fullWidth: true }}\n >\n <></>\n </AuthGuard>\n </div>\n </Flex>\n </Flex>\n );\n};\n\nconst EstRewards: FC<{\n isOrder?: boolean;\n estRewards?: number | string;\n direction: \"row\" | \"column\";\n justify: \"center\" | \"between\";\n background: string;\n hideData: boolean;\n rewardsTooltip:\n | {\n brokerName: string | undefined;\n curRewards: number;\n otherRewards: number;\n }\n | undefined;\n}> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n direction={props.direction}\n gap={2}\n py={4}\n px={6}\n width={\"100%\"}\n r=\"xl\"\n itemAlign={\"center\"}\n justify={props.justify}\n style={{\n background: props.background,\n }}\n className=\"oui-flex-1 oui-h-full\"\n >\n <Text className=\"oui-text-base xl:oui-text-lg oui-text-base-contrast-54\">\n {t(\"tradingRewards.myEstRewards\")}\n </Text>\n <Flex direction={\"row\"} gap={3}>\n {props.isOrder == true && (\n <OrderlyIcon className=\"oui-w-5 oui-h-5 md:oui-w-6 md:oui-h-6 lg:oui-w-7 lg:oui-h-7 xl:oui-w-8 xl:oui-h-8\" />\n )}\n {props.isOrder == false && (\n <EsOrderlyIcon className=\"oui-w-5 oui-h-5 md:oui-w-6 md:oui-h-6 lg:oui-w-7 lg:oui-h-7 xl:oui-w-8 xl:oui-h-8\" />\n )}\n <Text\n children={commifyOptional(props.estRewards, { fix: 2 })}\n className=\"oui-text-xl md:oui-text-2xl xl:oui-text-[32px]\"\n />\n {props.rewardsTooltip && (\n <RewardsTooltip rewardsTooltip={props.rewardsTooltip} />\n )}\n </Flex>\n </Flex>\n );\n};\n\nconst Statics: FC<{\n title: string;\n highLight?: string;\n text?: string;\n}> = (props) => {\n const { title, highLight, text } = props;\n return (\n <Flex\n // px={1}\n py={2}\n justify={\"between\"}\n direction={\"column\"}\n className=\"flex-1\"\n gap={2}\n >\n <Text\n className={cn(\n \"oui-text-base-contrast-54\",\n // font size\n \"oui-text-xs md:oui-text-sm xl:oui-text-base\",\n /// leading\n \"oui-leading-[20px] xl:oui-leading-[24px]\",\n )}\n >\n {title}\n </Text>\n <Flex direction={\"row\"} gap={1} itemAlign={\"end\"} justify={\"center\"}>\n <Text.gradient\n color=\"brand\"\n angle={90}\n className=\"oui-text-base md:oui-text-lg lg:oui-text-xl xl:oui-text-2xl\"\n >\n {highLight}\n </Text.gradient>\n <Text\n intensity={80}\n className=\"oui-mb-[3px] oui-text-2xs md:oui-text-xs xl:oui-text-sm\"\n >\n {text}\n </Text>\n </Flex>\n </Flex>\n );\n};\n\nconst Countdown: FC<{\n targetTimestamp?: number;\n isStandalone?: boolean;\n}> = (props) => {\n const { targetTimestamp, isStandalone } = props;\n const { t } = useTranslation();\n const [timeLeft, setTimeLeft] = useState({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n if (typeof targetTimestamp === \"undefined\") return;\n const now = new Date().getTime();\n const distance = targetTimestamp - now;\n\n if (distance < 0) {\n clearInterval(intervalId as unknown as number);\n setTimeLeft({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n } else {\n const days = Math.floor(distance / (1000 * 60 * 60 * 24));\n const hours = Math.floor(\n (distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60),\n );\n const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((distance % (1000 * 60)) / 1000);\n\n setTimeLeft({ days, hours, minutes, seconds });\n }\n }, 1000);\n\n return () => clearInterval(intervalId as unknown as number);\n }, [targetTimestamp]);\n\n const num = (value: string) => {\n return (\n <Text className=\"oui-text-sm oui-text-base-contrast md:oui-text-base lg:oui-text-lg \">\n {value}\n </Text>\n );\n };\n\n return (\n <Box\n className=\"oui-rounded-t-2xl oui-font-semibold oui-text-base-contrast-54\"\n gradient={isStandalone ? undefined : \"neutral\"}\n angle={180}\n width={\"full\"}\n >\n <Flex justify={\"center\"} gap={1}>\n {isStandalone ? null : <span>{`${t(\"common.countdown\")}: `}</span>}\n <Flex\n direction={\"row\"}\n itemAlign={\"end\"}\n gap={1}\n className={cn(\n \"oui-text-2xs md:oui-text-xs lg:oui-text-sm\",\n isStandalone ? \"oui-py-0\" : \"oui-py-[13px]\",\n )}\n >\n {num(`${timeLeft.days}`.padStart(2, \"0\"))}\n <span>D</span>\n {num(`${timeLeft.hours}`.padStart(2, \"0\"))}\n <span>H</span>\n {num(`${timeLeft.minutes}`.padStart(2, \"0\"))}\n <span>M</span>\n {num(`${timeLeft.seconds}`.padStart(2, \"0\"))}\n <span>S</span>\n </Flex>\n </Flex>\n </Box>\n );\n};\n\nconst CountDownNum = (props: { children?: ReactNode }) => {\n return (\n <Text className=\"oui-text-sm oui-text-base-contrast md:oui-text-base lg:oui-text-lg \">\n {props.children}\n </Text>\n );\n};\n\nconst getDate = (timestamp?: number) => {\n if (!timestamp) return \"\";\n\n const date = new Date(timestamp);\n\n // return format(timestamp, \"MMM. d\");\n\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getUTCMonth()];\n const day = date.getUTCDate();\n return `${month}. ${day}`;\n};\n\nexport const ArrowRightIcon: FC<SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <mask\n id=\"mask0_1997_45723\"\n style={{ maskType: \"alpha\" }}\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"0\"\n width=\"21\"\n height=\"20\"\n >\n <rect x=\"0.5\" width=\"20\" height=\"20\" fill=\"#D9D9D9\" />\n </mask>\n <g mask=\"url(#mask0_1997_45723)\">\n <path\n d=\"M12.0384 14.7111L11.1603 13.8073L14.343 10.6246H4.25V9.37463H14.343L11.1603 6.19192L12.0384 5.28809L16.75 9.99961L12.0384 14.7111Z\"\n // fill=\"black\"\n // fill-opacity=\"0.8\"\n />\n </g>\n </svg>\n);\nconst TwitterLInk: FC = () => {\n const { t } = useTranslation();\n return (\n <Flex\n gap={1}\n itemAlign={\"center\"}\n justify={\"center\"}\n className=\"oui-group oui-cursor-pointer oui-fill-base-contrast-36 oui-text-sm oui-text-base-contrast-36 group-hover:oui-text-base-contrast-80\"\n onClick={() => window.open(\"https://x.com/OrderlyNetwork\")}\n >\n <div className=\"oui-cursor-pointer oui-fill-base-contrast-36 oui-text-sm oui-text-base-contrast-36 group-hover:oui-text-base-contrast-80\">\n {t(\"tradingRewards.eopchStatus.linkDescription\")}\n </div>\n <ArrowRightIcon className=\"oui-text-fill-base-contrast-36 oui-fill-base-contrast-36 group-hover:oui-fill-base-contrast-80\" />\n </Flex>\n );\n};\n","import { FC } from \"react\";\nimport { useCurEpochScript } from \"./curEpoch.script\";\nimport { CurEpoch } from \"./curEpoch.ui\";\n\nexport const CurEpochWidget: FC = () => {\n const state = useCurEpochScript();\n return <CurEpoch {...state} />;\n};\n","export { CurEpochWidget } from \"./curEpoch.widget\";\nexport { CurEpoch } from \"./curEpoch.ui\";\nexport { useCurEpochScript } from \"./curEpoch.script\";\n","import { useCallback, useMemo } from \"react\";\nimport { useDataTap } from \"@kodiak-finance/orderly-react-app\";\nimport { Decimal } from \"@kodiak-finance/orderly-utils\";\nimport { ChainNamespace } from \"@kodiak-finance/orderly-types\";\nimport { ENVType, useGetEnv, useWalletConnector } from \"@kodiak-finance/orderly-hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type AvailableReturns = {\n order?: number;\n esOrder?: number;\n goToClaim?: (e: any) => void;\n};\n\nexport const useAvailableScript = (): AvailableReturns => {\n const {\n totalOrderClaimedReward,\n walletRewardsHistory,\n totalEsOrderClaimedReward,\n } = useTradingRewardsContext();\n const [orderClaimedRewardData] = totalOrderClaimedReward;\n const [esOrderClaimedRewardData] = totalEsOrderClaimedReward;\n\n const { namespace } = useWalletConnector();\n\n const [data] = walletRewardsHistory;\n\n const lifetimeOrderReward = useMemo(() => {\n if (namespace === ChainNamespace.evm) {\n return data?.wallet_lifetime_trading_rewards_order;\n }\n return data?.wallet_pending_trading_rewards_order;\n }, [namespace, data]);\n\n const lifetimeEsOrderReward = useMemo(() => {\n if (namespace === ChainNamespace.evm) {\n return data?.wallet_lifetime_trading_rewards_escrow;\n }\n return data?.wallet_pending_trading_rewards_escrow;\n }, [data, namespace]);\n\n const env = useGetEnv();\n const goToClaim = (e: any) => {\n const url = `https://${\n env !== ENVType.prod ? `${env}-` : \"\"\n }app.orderly.network/tradingRewards`;\n window.open(url, \"_blank\");\n };\n\n const calculateRemainingReward = useCallback(\n (totalReward: string | undefined, claimedReward: number | undefined) => {\n if (\n typeof claimedReward !== \"undefined\" &&\n typeof totalReward !== \"undefined\"\n ) {\n const remainingReward = new Decimal(totalReward)\n .sub(claimedReward)\n .toFixed(18, Decimal.ROUND_DOWN);\n return Number(remainingReward);\n }\n return undefined;\n },\n []\n );\n\n const availableOrder = useMemo(\n () => calculateRemainingReward(lifetimeOrderReward, orderClaimedRewardData),\n [lifetimeOrderReward, orderClaimedRewardData, calculateRemainingReward]\n );\n\n const availableEsOrder = useMemo(\n () =>\n calculateRemainingReward(lifetimeEsOrderReward, esOrderClaimedRewardData),\n [lifetimeEsOrderReward, esOrderClaimedRewardData, calculateRemainingReward]\n );\n\n const orderValue = useDataTap<number | undefined>(availableOrder);\n const esorderValue = useDataTap<number | undefined>(availableEsOrder);\n return {\n order: orderValue ?? undefined,\n esOrder: esorderValue ?? undefined,\n goToClaim,\n };\n};\n","export const JumpIcon = () => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n // fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n >\n <path\n d=\"M11.3275 13.9938C12.8001 13.9938 13.9941 12.7998 13.9941 11.3272V4.66049C13.9941 3.18782 12.8001 1.99382 11.3275 1.99382H4.66081C3.18814 1.99382 1.99414 3.18782 1.99414 4.66049V11.3272C1.99414 12.7998 3.18814 13.9938 4.66081 13.9938H11.3275ZM5.99414 10.6605C5.82347 10.6605 5.64548 10.6031 5.51481 10.4732C5.25481 10.2125 5.25481 9.77516 5.51481 9.51449L8.18148 6.84782L6.66081 5.32715H10.6608V9.32715L9.14014 7.80648L6.47347 10.4732C6.34347 10.6031 6.16481 10.6605 5.99414 10.6605Z\"\n \n />\n </svg>\n );\n};\n","import { Flex, Text } from \"@kodiak-finance/orderly-ui\";\nimport { JumpIcon } from \"../components/jumpIcon\";\nimport { FC } from \"react\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { AvailableReturns } from \"./availableToClaim.script\";\nimport { commifyOptional } from \"@kodiak-finance/orderly-utils\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\n\nexport const AvailableToClaim: FC<AvailableReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-availableToClaim\"\n p={6}\n r=\"2xl\"\n direction={\"column\"}\n gap={4}\n width={\"100%\"}\n className=\" oui-font-semibold oui-bg-base-9 \"\n >\n <Flex direction={\"row\"} justify={\"between\"} width={\"100%\"}>\n <Text className=\"oui-text-lg\">\n {t(\"tradingRewards.availableClaim\")}\n </Text>\n <Flex\n direction={\"row\"}\n gap={1}\n onClick={props.goToClaim}\n className=\"oui-cursor-pointer oui-text-primary-light\"\n >\n <Text size=\"sm\">{t(\"tradingRewards.claim\")}</Text>\n <JumpIcon />\n </Flex>\n </Flex>\n <Flex direction={\"row\"} gap={3} width={\"100%\"}>\n <Statics title=\"ORDER\" value={props.order} />\n <Statics title=\"esORDER\" value={props.esOrder} isEsOrder />\n </Flex>\n </Flex>\n );\n};\n// background: linear-gradient(28.29deg, #1B1D22 21.6%, #26292E 83.23%);\n\nconst Statics: FC<{\n title: string;\n isEsOrder?: boolean;\n value?: number;\n}> = (props) => {\n const { value } = props;\n return (\n <Flex\n className=\"oui-flex-1 oui-bg-base-8 oui-py-[11px]\"\n direction={\"column\"}\n gap={2}\n r=\"xl\"\n gradient=\"neutral\"\n angle={180}\n border\n borderColor={6}\n >\n <Text className=\"oui-text-xs xl:oui-text-sm oui-text-base-contrast-54\">\n {props.title}\n </Text>\n <Flex direction={\"row\"} gap={1}>\n {props.isEsOrder ? <EsOrderlyIcon /> : <OrderlyIcon />}\n <Text\n className=\"oui-text-sm xl:oui-text-base\"\n children={commifyOptional(value, { fix: 2 })}\n />\n </Flex>\n </Flex>\n );\n};\n","import React from \"react\";\nimport { useAvailableScript } from \"./availableToClaim.script\";\nimport { AvailableToClaim } from \"./availableToClaim.ui\";\n\nexport const AvailableToClaimWidget: React.FC = () => {\n const state = useAvailableScript();\n return <AvailableToClaim {...state} />;\n};\n","\nexport { AvailableToClaimWidget } from \"./availableToClaim.widget\";\nexport { AvailableToClaim } from \"./availableToClaim.ui\";","import { CurrentEpochEstimate } from \"@kodiak-finance/orderly-hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport { ENVType, useGetEnv } from \"@kodiak-finance/orderly-hooks\";\nimport { useDataTap } from \"@kodiak-finance/orderly-react-app\";\nimport { Decimal } from \"@kodiak-finance/orderly-utils\";\nimport { useMemo } from \"react\";\n\nexport const useStakeBoosterScript = () => {\n const { curEpochEstimate } = useTradingRewardsContext();\n\n const env = useGetEnv();\n const stakeNow = (e: any) => {\n const url = `https://${\n env !== ENVType.prod ? `${env}-` : \"\"\n }app.orderly.network/staking`;\n window.open(url, \"_blank\");\n };\n const estimateValue = useDataTap(curEpochEstimate);\n\n const booster = useMemo(() => {\n const estStakeBoost = curEpochEstimate?.est_stake_boost;\n if (typeof estStakeBoost === \"undefined\" || estStakeBoost === null) {\n return undefined;\n }\n\n if (estStakeBoost === 0) return estStakeBoost;\n\n return new Decimal(estStakeBoost)\n .div(new Decimal(10).pow(0.15))\n .toDecimalPlaces(2, Decimal.ROUND_DOWN)\n .toString();\n }, [curEpochEstimate?.est_stake_boost]);\n return {\n curEpochEstimate: estimateValue ?? undefined,\n stakeNow,\n booster,\n };\n};\n\n\nexport type StakeBoosterReturns = ReturnType<typeof useStakeBoosterScript>;","export const RocketIcon = () => {\n return (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.439 10.5672C14.0868 10.9198 13.7025 11.2403 13.3183 11.5287C13.1902 11.6248 13.1261 11.721 13.0941 11.8812C12.7739 13.1952 12.1015 14.4451 11.0448 15.5027C10.5645 15.9835 10.0522 16.3681 9.47584 16.7206C8.99553 17.009 8.41917 16.5283 8.61129 15.9835C8.93149 15.1502 9.05957 14.2528 9.05957 13.3234C8.99553 13.3234 8.89947 13.3555 8.83543 13.3555C8.06695 12.7145 7.3625 12.0415 6.65805 11.3364C5.95361 10.6313 5.28118 9.89421 4.64078 9.15708C4.64078 9.09299 4.6728 8.99684 4.6728 8.93274C3.74421 8.93274 2.84764 9.09299 2.01512 9.38143C1.50279 9.57372 0.990469 8.99684 1.27865 8.51611C1.63087 7.93923 2.01512 7.42645 2.49542 6.94572C3.55209 5.88811 4.80088 5.21508 6.11371 4.89459C6.24179 4.86255 6.36987 4.7664 6.46593 4.67025C6.75412 4.25362 7.07432 3.90108 7.42654 3.54855C9.92412 1.04874 13.4143 0.183422 16.6484 0.920545C16.8725 0.984642 17.0326 1.14489 17.0967 1.36923C17.8011 4.57411 16.9366 8.06742 14.439 10.5672ZM13.0301 4.95869C12.2616 4.18952 10.9808 4.18952 10.2123 4.95869C9.44382 5.72786 9.44382 7.00982 10.2123 7.77899C10.9808 8.54816 12.2616 8.54816 13.0301 7.77899C13.8306 6.97777 13.8306 5.72786 13.0301 4.95869ZM5.88957 14.7656C5.28118 15.3745 1.53481 17.9385 0.798348 17.2013C0.0618817 16.4642 2.6235 12.7145 3.23189 12.1056C3.84027 11.4966 4.92896 11.5928 5.66543 12.3299C6.40189 13.067 6.49795 14.1567 5.88957 14.7656Z\"\n fill=\"url(#paint0_linear_88_1748)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_88_1748\"\n x1=\"17.3331\"\n y1=\"8.99996\"\n x2=\"0.666504\"\n y2=\"8.99996\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { FC, ReactNode } from \"react\";\nimport { Flex, Text } from \"@kodiak-finance/orderly-ui\";\nimport { JumpIcon } from \"../components/jumpIcon\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { RocketIcon } from \"../components/rocket\";\nimport { StakeBoosterReturns } from \"./stakeBooster.script\";\nimport { commify, commifyOptional } from \"@kodiak-finance/orderly-utils\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\n\nexport const StakeBooster: FC<StakeBoosterReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-stakeBooster\"\n p={6}\n r=\"2xl\"\n direction={\"column\"}\n gap={4}\n width={\"100%\"}\n className=\" oui-font-semibold oui-bg-base-9 \"\n >\n <Flex direction={\"row\"} justify={\"between\"} width={\"100%\"}>\n <Text className=\"oui-text-lg\">{t(\"tradingRewards.stakeBooster\")}</Text>\n <Flex\n direction={\"row\"}\n gap={1}\n onClick={props.stakeNow}\n className=\"oui-cursor-pointer oui-text-primary-light\"\n >\n <Text size=\"sm\">{t(\"tradingRewards.stake\")}</Text>\n <JumpIcon />\n </Flex>\n </Flex>\n <Flex direction={\"row\"} gap={3} width={\"100%\"}>\n <Statics\n title={t(\"tradingRewards.avgStakedAmount\")}\n value={props.curEpochEstimate?.est_avg_stake}\n icon={\n <div className=\"oui-flex oui-w-[32px] oui-h-[20px] oui-relative\">\n <div className=\"oui-absolute oui-right-0 oui-top-0\">\n <EsOrderlyIcon />\n </div>\n <div className=\"oui-absolute oui-left-0 oui-top-0 \">\n <OrderlyIcon />\n </div>\n </div>\n }\n />\n <Statics\n title={t(\"tradingRewards.booster\")}\n value={props.booster}\n icon={<RocketIcon />}\n gradient\n />\n </Flex>\n </Flex>\n );\n};\n\nconst Statics: FC<{\n title: string;\n icon: ReactNode;\n value?: number | string;\n gradient?: boolean;\n}> = (props) => {\n const calcValue = commify(props.value || \"--\", 2);\n return (\n <Flex\n className=\"oui-flex-1 oui-bg-base-8 oui-py-[11px]\"\n direction={\"column\"}\n gap={2}\n r=\"xl\"\n gradient=\"neutral\"\n angle={180}\n border\n borderColor={6}\n >\n <Text className=\"oui-text-xs xl:oui-text-sm oui-text-base-contrast-54\">\n {props.title}\n </Text>\n <Flex direction={\"row\"} gap={1}>\n {props.icon}\n {props.gradient ? (\n <Text.gradient\n className=\"oui-text-sm xl:oui-text-base\"\n color=\"brand\"\n angle={90}\n >\n {calcValue + (calcValue === \"--\" ? \"\" : \"x\")}\n </Text.gradient>\n ) : (\n <Text className=\"oui-text-sm xl:oui-text-base\">\n {commifyOptional(props.value, { fix: 2 })}\n </Text>\n )}\n </Flex>\n </Flex>\n );\n};\n","import React from \"react\";\nimport { useStakeBoosterScript } from \"./stakeBooster.script\";\nimport { StakeBooster } from \"./stakeBooster.ui\";\n\nexport const StakeBoosterWidget: React.FC = () => {\n const state = useStakeBoosterScript();\n return <StakeBooster {...state} />;\n};\n","\nexport { StakeBoosterWidget } from \"./stakeBooster.widget\";\nexport { StakeBooster } from \"./stakeBooster.ui\";","import { FC } from \"react\";\nimport {\n Box,\n Divider,\n Flex,\n ListView,\n Text,\n DataTable,\n Column,\n} from \"@kodiak-finance/orderly-ui\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { ListType, RewardsHistoryReturns } from \"./rewardsHistory.script\";\nimport { useMediaQuery } from \"@kodiak-finance/orderly-hooks\";\nimport { commifyOptional } from \"@kodiak-finance/orderly-utils\";\nimport { AuthGuardEmpty } from \"@kodiak-finance/orderly-ui-connector\";\nimport { AccountStatusEnum } from \"@kodiak-finance/orderly-types\";\nimport { RewardsTooltip } from \"../curEpoch/rewardsTooltip\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\n\nexport const RewardHistory: FC<RewardsHistoryReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-rewardHistory\"\n py={4}\n px={3}\n direction={\"column\"}\n gap={2}\n itemAlign={\"start\"}\n r=\"2xl\"\n className=\"oui-bg-base-9 oui-w-full oui-font-semibold oui-tabular-nums\"\n >\n <Text className=\"oui-text-lg oui-px-3\">\n {t(\"tradingRewards.rewardHistory\")}\n </Text>\n <div className=\"oui-border-t-2 oui-border-line-4 oui-w-full\">\n <List {...props} />\n </div>\n </Flex>\n );\n};\n\nconst List: FC<RewardsHistoryReturns> = (props) => {\n const isMobile = useMediaQuery(\"(max-width: 767px)\");\n\n return isMobile ? (\n <ListView\n dataSource={props.originalData}\n renderItem={(item, index) => {\n return <MobileCell data={item} />;\n }}\n className=\"oui-mt-3 oui-max-h-[356px]\"\n />\n ) : (\n <Box px={3}>\n <DesktopList {...props} />\n </Box>\n );\n};\n\nconst MobileCell: FC<{\n data: ListType;\n}> = (props) => {\n const { data } = props;\n const { t } = useTranslation();\n\n console.log(data.rewardsTooltip);\n const isOrder =\n `${data?.info?.epoch_token || data.epoch_token}`.toLowerCase() === \"order\";\n const r_warret = commifyOptional(data.info?.r_wallet, { fix: 2 });\n\n return (\n <Flex\n key={data.epoch_id}\n direction={\"column\"}\n px={4}\n pt={0}\n gap={3}\n className=\"oui-text-base-contrast-80\"\n >\n <Flex direction={\"row\"} width={\"100%\"}>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.epoch\")}\n </Text>\n <Text className=\"oui-text-sm\">{`Epoch ${data.epoch_id}`}</Text>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.epochRewards\")}{\" \"}\n </Text>\n <Flex gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n <Text className=\"oui-text-sm\">\n {commifyOptional(data.max_reward_amount, { fix: 2 })}\n </Text>\n </Flex>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"end\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardsEarned\")}{\" \"}\n </Text>\n <Flex gap={1}>\n {r_warret !== \"--\" &&\n (isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />)}\n {!!data.rewardsTooltip ? (\n <RewardsTooltip\n rewardsTooltip={data.rewardsTooltip}\n children={\n <Text className=\"oui-text-sm oui-underline oui-decoration-dashed oui-cursor-pointer oui-underline-offset-4 oui-decoration-line-16\">\n {r_warret}\n </Text>\n }\n align=\"center\"\n className=\"oui-bg-base-5\"\n arrowClassName=\"oui-fill-base-5\"\n />\n ) : (\n <Text className=\"oui-text-sm\">{r_warret}</Text>\n )}\n </Flex>\n </Flex>\n </Flex>\n <Flex direction={\"row\"} width={\"100%\"}>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardHistory.column.startDate\")}\n </Text>\n <Flex direction={\"row\"}>\n <Text className=\"oui-text-sm\">\n {formatTimestamp(data.start_time).firstPart} \n </Text>\n <Text className=\"oui-text-2xs oui-text-base-contrast-36\">\n {formatTimestamp(data.start_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"end\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardHistory.column.endDate\")}\n </Text>\n <Flex direction={\"row\"}>\n <Text className=\"oui-text-sm\">\n {formatTimestamp(data.end_time).firstPart} \n </Text>\n <Text className=\"oui-text-2xs oui-text-base-contrast-36\">\n {formatTimestamp(data.end_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Divider className=\"oui-w-full\" />\n </Flex>\n );\n};\n\nconst DesktopList: FC<RewardsHistoryReturns> = (props) => {\n const { data } = props;\n const { t } = useTranslation();\n\n const columns: Column<ListType>[] = [\n {\n title: t(\"tradingRewards.epoch\"),\n dataIndex: \"epoch_id\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value) => {\n return <Text>{`${t(\"tradingRewards.epoch\")} ${value}`}</Text>;\n },\n },\n {\n title: t(\"tradingRewards.rewardHistory.column.start&EndDate\"),\n dataIndex: \"time\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n return (\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[2px]\"\n justify={\"start\"}\n itemAlign={\"start\"}\n >\n <Flex direction={\"row\"} gap={1}>\n <Text>{formatTimestamp(record.start_time).firstPart}</Text>\n <Text className=\"oui-text-base-contrast-54\">\n {formatTimestamp(record.start_time).secondPart}\n </Text>\n </Flex>\n <Flex direction={\"row\"} gap={1}>\n <Text>{formatTimestamp(record.end_time).firstPart}</Text>\n <Text className=\"oui-text-base-contrast-54\">\n {formatTimestamp(record.end_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n );\n },\n },\n {\n title: t(\"tradingRewards.epochRewards\"),\n dataIndex: \"max_reward_amount\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n const isOrder =\n `${record?.info?.epoch_token || record.epoch_token}`.toLowerCase() ===\n \"order\";\n return (\n <Flex direction={\"row\"} gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n <Text>{commifyOptional(value)}</Text>\n </Flex>\n );\n },\n },\n {\n title: t(\"tradingRewards.rewardsEarned\"),\n dataIndex: \"earned\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n const isOrder =\n `${record?.info?.epoch_token || record.epoch_token}`.toLowerCase() ===\n \"order\";\n\n let children = (\n <Text\n className={\n record.rewardsTooltip\n ? \"oui-underline oui-decoration-dashed oui-cursor-pointer oui-underline-offset-4 oui-decoration-line-16\"\n : \"\"\n }\n >\n {commifyOptional(record.info?.r_wallet, { fix: 2 })}\n </Text>\n );\n\n if (record.rewardsTooltip) {\n children = (\n <RewardsTooltip\n rewardsTooltip={record.rewardsTooltip}\n children={children}\n align=\"center\"\n className=\"oui-bg-base-5\"\n arrowClassName=\"oui-fill-base-5\"\n />\n );\n }\n return (\n <Flex direction={\"row\"} gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n {children}\n </Flex>\n );\n },\n },\n ];\n\n return (\n <DataTable\n bordered\n columns={columns}\n loading={props.isLoading}\n dataSource={data}\n emptyView={<AuthGuardEmpty status={AccountStatusEnum.SignedIn} />}\n onRow={(record) => {\n return {\n className: \"oui-h-[59px]\",\n };\n }}\n pagination={props.pagination}\n />\n );\n};\n\nfunction formatTimestamp(timestamp?: number) {\n if (typeof timestamp === \"undefined\")\n return {\n firstPart: \"-\",\n secondPart: \"\",\n };\n const date = new Date(timestamp);\n\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getUTCMonth()];\n const day = date.getUTCDate().toString().padStart(2, \"0\");\n const year = date.getUTCFullYear();\n const hours = date.getUTCHours();\n const minutes = date.getUTCMinutes();\n const amPm = hours >= 12 ? \"PM\" : \"AM\";\n const formattedHours = (hours % 12).toString().padStart(2, \"0\");\n const formattedMinutes = minutes.toString().padStart(2, \"0\");\n\n // return `${month} ${day}, ${year}_${formattedHours}:${formattedMinutes} ${amPm}`;\n return {\n firstPart: `${month} ${day}, ${year}`,\n secondPart: `${formattedHours}:${formattedMinutes} ${amPm}`,\n };\n}\n","import { useMemo } from \"react\";\nimport {\n EpochInfoItem,\n useAccount,\n useAccountRewardsHistory,\n WalletRewardsItem,\n} from \"@kodiak-finance/orderly-hooks\";\nimport { useAppContext } from \"@kodiak-finance/orderly-react-app\";\nimport { usePagination } from \"@kodiak-finance/orderly-ui\";\nimport { getTimestamp } from \"@kodiak-finance/orderly-utils\";\nimport { RewardsTooltipProps } from \"../curEpoch/rewardsTooltip\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type ListType = EpochInfoItem & {\n info?: WalletRewardsItem;\n state?: string;\n rewardsTooltip?: RewardsTooltipProps;\n};\n\nexport type RewardsHistoryReturns = ReturnType<typeof useRewardsHistoryScript>;\n\nexport const useRewardsHistoryScript = () => {\n const { account } = useAccount();\n const {\n epochList,\n walletRewardsHistory,\n totalOrderClaimedReward,\n brokerId,\n brokerName,\n } = useTradingRewardsContext();\n const epochInfos = epochList?.[0];\n const { isNotStared } = epochList?.[1];\n const [history] = walletRewardsHistory;\n const { wrongNetwork, disabledConnect } = useAppContext();\n\n const { data: accountHistory } = useAccountRewardsHistory(account.address);\n\n const data = useMemo(() => {\n if (isNotStared || disabledConnect) {\n return [];\n }\n const list = [...(epochInfos || [])];\n\n const combineData = list.map((e): ListType => {\n const id = e.epoch_id;\n const index = history?.rows.findIndex((info) => id === info.epoch_id);\n\n let rewardsTooltip: RewardsTooltipProps | undefined = undefined;\n\n if (index !== -1 && !wrongNetwork) {\n const info = history?.rows?.[index as number];\n const _findIndex = accountHistory?.findIndex((item: any) => {\n return item?.epoch_id === e.epoch_id;\n });\n\n if (\n accountHistory !== undefined &&\n _findIndex !== undefined &&\n _findIndex !== -1\n ) {\n // get broker\n const brokerList = accountHistory[_findIndex].broker;\n const curBrokerIndex = brokerList.findIndex(\n (item) => item.broker_id === brokerId,\n );\n const curBroker =\n curBrokerIndex !== -1 ? brokerList[curBrokerIndex] : undefined;\n const curRewards = curBroker?.r_account ?? 0;\n const otherRewards = Math.max(0, (info?.r_wallet ?? 0) - curRewards);\n rewardsTooltip = {\n brokerName,\n curRewards,\n otherRewards,\n };\n }\n return {\n ...e,\n info,\n rewardsTooltip,\n } as ListType;\n }\n return {\n ...e,\n } as ListType;\n });\n\n combineData.sort((a, b) => a.epoch_id - b.epoch_id); // asc\n let [claimedReward] = totalOrderClaimedReward;\n if (typeof claimedReward !== \"undefined\") {\n for (let i = 0; i < combineData.length; i++) {\n const element = combineData[i];\n if (typeof element?.info === \"undefined\") {\n element.state = \"Null\";\n continue;\n }\n const status = element.info?.reward_status;\n if (status === \"Confirmed\") {\n if (claimedReward - element.info?.r_wallet >= 0) {\n element.state = \"Claimed\";\n } else {\n element.state = \"Claimable\";\n }\n claimedReward -= element.info?.r_wallet;\n } else if (status === \"Pending\") {\n element.state = \"Processing\";\n }\n }\n }\n combineData.sort((a, b) => b.epoch_id - a.epoch_id);\n const curDate = getTimestamp();\n return combineData.filter((item) => item.end_time <= curDate);\n }, [\n history,\n epochInfos,\n totalOrderClaimedReward,\n isNotStared,\n wrongNetwork,\n accountHistory,\n disabledConnect,\n ]);\n\n const { pagination } = usePagination();\n\n return {\n data,\n originalData: data,\n pagination,\n isLoading: epochList[1].isLoading,\n };\n};\n","import React from \"react\";\nimport { useRewardsHistoryScript } from \"./rewardsHistory.script\";\nimport { RewardHistory } from \"./rewardsHistory.ui\";\n\nexport const RewardsHistoryWidget: React.FC = () => {\n const state = useRewardsHistoryScript();\n return <RewardHistory {...state} />;\n};\n","export { RewardHistory } from \"./rewardsHistory.ui\";\nexport { RewardsHistoryWidget } from \"./rewardsHistory.widget\";","\nexport * from \"./title\";\nexport * from \"./curEpoch\";\nexport * from \"./availableToClaim\";\nexport * from \"./stakeBooster\";\nexport * from \"./rewardHistory\";\nexport { TradingRewardsProvider} from \"./provider\";\nexport { HomePage } from \"./page\";\n","export { Title } from \"./title.ui\";\nexport { TitleWidget } from \"./title.widget\";\nexport type { TitleConfig } from \"./title.script\";","import React, { useMemo } from \"react\";\nimport { useTradingRewardsStatus, EpochStatus } from \"@kodiak-finance/orderly-hooks\";\nimport { Flex, Box, cn } from \"@kodiak-finance/orderly-ui\";\nimport { TradingRewardsProvider } from \"./provider\";\nimport type { TitleConfig } from \"./title/title.script\";\n\nconst LazyTitleWidget = React.lazy(() =>\n import(\"./title/title.widget\").then((mod) => {\n return { default: mod.TitleWidget };\n }),\n);\n\nconst LazyCurEpochWidget = React.lazy(() =>\n import(\"./curEpoch\").then((mod) => {\n return { default: mod.CurEpochWidget };\n }),\n);\n\nconst LazyAvailableToClaimWidget = React.lazy(() =>\n import(\"./availableToClaim\").then((mod) => {\n return { default: mod.AvailableToClaimWidget };\n }),\n);\n\nconst LazyStakeBoosterWidget = React.lazy(() =>\n import(\"./stakeBooster\").then((mod) => {\n return { default: mod.StakeBoosterWidget };\n }),\n);\n\nconst LazyRewardsHistoryWidget = React.lazy(() =>\n import(\"./rewardHistory\").then((mod) => {\n return { default: mod.RewardsHistoryWidget };\n }),\n);\n\nconst StakeBooster: React.FC = () => {\n const { statusInfo } = useTradingRewardsStatus(false);\n const isStakeBoosterVisible = useMemo(() => {\n return statusInfo?.epochStatus === EpochStatus.active;\n }, [statusInfo?.epochStatus]);\n return isStakeBoosterVisible ? (\n <React.Suspense fallback={null}>\n <LazyStakeBoosterWidget />\n </React.Suspense>\n ) : null;\n};\n\nexport const HomePage: React.FC<{\n titleConfig?: TitleConfig;\n className?: string;\n showEpochPauseCountdown?: boolean;\n}> = (props) => {\n return (\n <TradingRewardsProvider\n titleConfig={props.titleConfig}\n showEpochPauseCountdown={props.showEpochPauseCountdown}\n >\n <Flex\n id=\"oui-tradingRewards-home-page\"\n className={cn(\"oui-h-lvw oui-w-full\", props.className)}\n direction={\"column\"}\n gap={4}\n >\n <React.Suspense fallback={null}>\n <LazyTitleWidget />\n </React.Suspense>\n <Flex className=\"oui-flex oui-size-full oui-flex-col oui-gap-4 2xl:oui-flex-row 2xl:oui-items-stretch\">\n <Box className=\"oui-w-full 2xl:oui-size-auto 2xl:oui-flex-1\">\n <React.Suspense fallback={null}>\n <LazyCurEpochWidget />\n </React.Suspense>\n </Box>\n <Flex className=\"oui-flex oui-w-full oui-flex-col oui-gap-4 lg:oui-flex-row 2xl:oui-flex-1 2xl:oui-flex-col\">\n <React.Suspense fallback={null}>\n <LazyAvailableToClaimWidget />\n </React.Suspense>\n <StakeBooster />\n </Flex>\n </Flex>\n <React.Suspense fallback={null}>\n <LazyRewardsHistoryWidget />\n </React.Suspense>\n </Flex>\n </TradingRewardsProvider>\n );\n};\n","import { useEffect, useMemo, useState } from \"react\";\nimport { useMediaQuery } from \"@kodiak-finance/orderly-hooks\";\nimport type { SideBarProps } from \"@kodiak-finance/orderly-ui-scaffold\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\n\nexport enum TradingRewardsLeftSidebarPath {\n Trading = \"/rewards/trading\",\n Affiliate = \"/rewards/affiliate\",\n}\n\nexport const useTradingRewardsLayoutScript = (props: {\n current?: string;\n}): SideBarProps & {\n hideSideBar: boolean;\n} => {\n const { t } = useTranslation();\n const [current, setCurrent] = useState(props.current || \"/rewards/affiliate\");\n\n useEffect(() => {\n if (props.current) setCurrent(props.current);\n }, [props.current]);\n\n const items = useMemo(() => {\n return [\n {\n name: t(\"common.trading\"),\n href: TradingRewardsLeftSidebarPath.Trading,\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.883 1.5c-.166.01-.393.076-.515.173a2 2 0 0 0-.18.173L.918 6.553a.86.86 0 0 0-.168.475c0 .339.232.543.232.543l7.374 8.633c.005.006.269.301.644.296s.64-.29.644-.296l7.402-8.663s.204-.269.204-.513-.196-.517-.196-.517L13.82 1.848c-.023-.032-.076-.021-.103-.049-.033-.038-.037-.091-.077-.124-.123-.097-.267-.106-.413-.123-.04-.005-.063-.049-.103-.049h-.078zm1.745 1.582h4.744L9 5.795zm-1.675.542 2.294 2.615H3.122zm8.094 0 1.831 2.615h-4.125zM3.328 7.818h4.847v5.672zm6.497 0h4.847c-1.151 1.345-3.422 4.007-4.847 5.672z\"\n // fill=\"url(#a)\"\n className=\"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]\"\n />\n <defs>\n <linearGradient\n id=\"a\"\n x1=\"17.25\"\n y1=\"9\"\n x2=\".75\"\n y2=\"9\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop\n offset=\"1\"\n stopColor=\"rgb(var(--oui-gradient-brand-start))\"\n />\n </linearGradient>\n </defs>\n </svg>\n ),\n },\n {\n name: t(\"common.affiliate\"),\n href: TradingRewardsLeftSidebarPath.Affiliate,\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.625 4.95c0-.746.604-1.35 1.35-1.35h4.05c.746 0 1.35.604 1.35 1.35v4.62L9 12.195 5.625 9.57zm8.624 3.163-.524.407v-.96l.074.05c.193.128.346.302.45.502m-4.42 5.148L14.4 9.705v3.345a1.35 1.35 0 0 1-1.35 1.35h-8.1a1.35 1.35 0 0 1-1.35-1.35V9.705l4.571 3.556c.488.379 1.17.379 1.658 0M4.275 8.52l-.524-.407c.104-.2.257-.374.45-.503l.074-.049zm0-2.581V4.95a2.7 2.7 0 0 1 2.7-2.7h4.05a2.7 2.7 0 0 1 2.7 2.7v.989l.823.548a2.7 2.7 0 0 1 1.202 2.247v4.316a2.7 2.7 0 0 1-2.7 2.7h-8.1a2.7 2.7 0 0 1-2.7-2.7V8.734a2.7 2.7 0 0 1 1.202-2.247zM9 6.089l.111-.118.005-.005a1.08 1.08 0 0 1 1.58.004 1.223 1.223 0 0 1 0 1.668l-1.515 1.62-.004.004c-.1.102-.26.1-.358-.004l-1.516-1.62a1.223 1.223 0 0 1 0-1.668l.004-.004a1.08 1.08 0 0 1 1.58.004z\"\n className=\"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]\"\n />\n </svg>\n ),\n },\n ];\n }, [t]);\n\n const hideSideBar = useMediaQuery(\"(max-width: 768px)\");\n\n return {\n items,\n current,\n hideSideBar,\n // open: sideOpen,\n // onOpenChange(open) {\n // setSideOpen(open);\n // },\n onItemSelect: (item) => {\n // @ts-ignore\n setCurrent(item.href);\n },\n };\n};\n","import React, { PropsWithChildren } from \"react\";\nimport omit from \"ramda/es/omit\";\nimport { cn } from \"@kodiak-finance/orderly-ui\";\nimport { Scaffold, SideBarProps } from \"@kodiak-finance/orderly-ui-scaffold\";\nimport { ScaffoldProps } from \"@kodiak-finance/orderly-ui-scaffold\";\n\nexport type TradingRewardsLayoutProps = ScaffoldProps & {\n hideSideBar?: boolean;\n items?: SideBarProps[\"items\"];\n};\n\nexport const TradingRewardsLayout: React.FC<\n PropsWithChildren<TradingRewardsLayoutProps>\n> = (props) => {\n const { children, classNames, ...rest } = props;\n return (\n <Scaffold\n leftSidebar={null}\n routerAdapter={props.routerAdapter}\n classNames={{\n ...classNames,\n content: classNames?.content,\n topNavbar: cn(\"oui-bg-base-9\", classNames?.topNavbar),\n leftSidebar: cn(\n \"oui-rounded-xl oui-bg-base-9\",\n \"oui-m-3 oui-p-4\",\n \"oui-border oui-border-line\",\n classNames?.leftSidebar,\n ),\n }}\n {...omit([\"leftSideProps\"], rest)}\n >\n {children}\n </Scaffold>\n );\n};\n\n// type LeftSidebarProps = SideBarProps & {\n// routerAdapter?: RouterAdapter;\n// };\n\n// const LeftSidebar: React.FC<LeftSidebarProps> = (props) => {\n// const { t } = useTranslation();\n// const { expanded, setExpand } = useScaffoldContext();\n// return (\n// <SideBar\n// title={t(\"tradingRewards.rewards\")}\n// {...props}\n// open={expanded}\n// onOpenChange={(open) => setExpand(open)}\n// onItemSelect={(a) => {\n// props.onItemSelect?.(a);\n// props.routerAdapter?.onRouteChange?.({\n// href: a.href || \"\",\n// name: a.name,\n// });\n// }}\n// />\n// );\n// };\n","import { FC, PropsWithChildren } from \"react\";\nimport { ScaffoldProps } from \"@kodiak-finance/orderly-ui-scaffold\";\nimport { useTradingRewardsLayoutScript } from \"./layout.script\";\nimport { TradingRewardsLayout } from \"./layout.ui\";\n\nexport const TradingRewardsLayoutWidget: FC<\n PropsWithChildren<ScaffoldProps>\n> = (props) => {\n const state = useTradingRewardsLayoutScript({\n current: props.leftSideProps?.current,\n });\n return (\n <TradingRewardsLayout {...state} {...props}>\n {props.children}\n </TradingRewardsLayout>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/pages/index/title/title.ui.tsx","../src/pages/index/provider.tsx","../src/pages/index/title/title.script.tsx","../src/pages/index/title/title.widget.tsx","../src/pages/index/curEpoch/curEpoch.script.tsx","../src/pages/index/components/esOrderlyIcon.tsx","../src/pages/index/components/orderlyIcon.tsx","../src/pages/index/curEpoch/rewardsTooltip.tsx","../src/pages/index/curEpoch/curEpoch.ui.tsx","../src/pages/index/curEpoch/curEpoch.widget.tsx","../src/pages/index/curEpoch/index.ts","../src/pages/index/availableToClaim/availableToClaim.script.tsx","../src/pages/index/components/jumpIcon.tsx","../src/pages/index/availableToClaim/availableToClaim.ui.tsx","../src/pages/index/availableToClaim/availableToClaim.widget.tsx","../src/pages/index/availableToClaim/index.ts","../src/pages/index/stakeBooster/stakeBooster.script.tsx","../src/pages/index/components/rocket.tsx","../src/pages/index/stakeBooster/stakeBooster.ui.tsx","../src/pages/index/stakeBooster/stakeBooster.widget.tsx","../src/pages/index/stakeBooster/index.ts","../src/pages/index/rewardHistory/rewardsHistory.ui.tsx","../src/pages/index/rewardHistory/rewardsHistory.script.tsx","../src/pages/index/rewardHistory/rewardsHistory.widget.tsx","../src/pages/index/rewardHistory/index.ts","../src/pages/index/index.tsx","../src/pages/index/title/index.ts","../src/pages/index/page.tsx","../src/layout/layout.script.tsx","../src/layout/layout.ui.tsx","../src/layout/layout.widget.tsx"],"names":["jsx","useMemo","jsxs","React","Flex","Text","useTranslation","useState","AccountStatusEnum","commifyOptional","useWalletConnector","Statics","ENVType","useGetEnv","useDataTap","Decimal","Box","Divider","useAccount","useAppContext","useTradingRewardsStatus","EpochStatus","cn","StakeBooster","useEffect","useMediaQuery","TradingRewardsLeftSidebarPath"],"mappings":"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","sourcesContent":["import { Divider, Flex, Text } from \"@kodiak-finance/orderly-ui\";\nimport { FC } from \"react\";\nimport { TitleConfig } from \"./title.script\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\n\nexport const Title: FC<TitleConfig> = (props) => {\n const { title, subtitle, content, docOpenOptions } = props;\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-title\"\n p={6}\n direction={\"column\"}\n itemAlign={\"start\"}\n gap={4}\n className=\"oui-bg-base-9 oui-font-semibold\"\n r={\"2xl\"}\n width={\"100%\"}\n >\n {title || <Text size=\"lg\">{t(\"common.tradingRewards\")}</Text>}\n <Divider intensity={8} className=\"oui-w-full\" />\n <Flex direction={\"column\"} itemAlign={\"start\"} gap={1}>\n {subtitle || (\n <Text size=\"base\">\n {t(\"tradingRewards.subtitle\", {\n brokerName: props.brokerName,\n })}\n </Text>\n )}\n\n {content || <MultiLineText docOpenOptions={docOpenOptions} />}\n </Flex>\n </Flex>\n );\n};\n\nconst MultiLineText: FC<{\n docOpenOptions?: {\n url?: string;\n target?: string;\n features?: string;\n };\n}> = (props) => {\n const { t } = useTranslation();\n\n // const clickableParts = [\n // {\n // content: \"Learn more here\",\n // isLink: true,\n // },\n // // {\n // // content: \"about Orderly Trading rewards Program.\",\n // // isLink: false,\n // // },\n // // {\n // // content: \"Trading rewards Docs\",\n // // isLink: true,\n // // },\n // ];\n // const renderText = () => {\n // return clickableParts.map((item, index) => {\n // return (\n // <span\n // key={index}\n // className={`${\n // item.isLink\n // ? \"oui-text-primary-light hover:oui-text-primary-darken oui-cursor-pointer\"\n // : \"\"\n // }`}\n // dangerouslySetInnerHTML={{ __html: item.content }}\n // />\n // );\n // });\n // };\n\n return (\n <div\n className=\"oui-text-sm oui-text-base-contrast-54 oui-font-normal oui-flex oui-gap-1 oui-items-center hover:oui-text-primary-darken oui-text-primary-light oui-cursor-pointer\"\n onClick={() => [\n window.open(\n props.docOpenOptions?.url,\n props.docOpenOptions?.target,\n props.docOpenOptions?.features\n ),\n ]}\n >\n <span className=\"oui-text-primary-light hover:oui-text-primary-darken oui-cursor-pointer\">\n {t(\"tradingRewards.learnMore\")}\n </span>\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M4.008 7.995c0-.368.298-.666.666-.666H9.71L7.733 5.331l.937-.936 3.143 3.122c.13.13.195.304.195.479a.67.67 0 0 1-.195.478L8.67 11.596l-.937-.937 1.978-1.998H4.674a.666.666 0 0 1-.666-.666\" />\n </svg>\n </div>\n );\n};\n\nexport default MultiLineText;\n","import React, {\n PropsWithChildren,\n createContext,\n useContext,\n useMemo,\n} from \"react\";\nimport {\n TWType,\n EpochInfoType,\n useEpochInfo,\n useAllBrokers,\n useGetClaimed,\n DistributionId,\n useCurEpochEstimate,\n CurrentEpochEstimate,\n useWalletRewardsHistory,\n WalletRewardsHistoryReturns,\n Brokers,\n useConfig,\n useTradingRewardsStatus,\n StatusInfo,\n} from \"@kodiak-finance/orderly-hooks\";\nimport type { TitleConfig } from \"./title/title.script\";\n\nexport type TradingRewardsState = {\n type: TWType;\n brokerId: string;\n brokerName?: string;\n brokers?: Brokers;\n epochList: EpochInfoType;\n totalOrderClaimedReward: [number | undefined, { refresh: () => void }];\n totalEsOrderClaimedReward: [number | undefined, { refresh: () => void }];\n curEpochEstimate?: CurrentEpochEstimate;\n walletRewardsHistory: WalletRewardsHistoryReturns;\n titleConfig: TitleConfig;\n statusInfo: StatusInfo | undefined;\n showEpochPauseCountdown?: boolean;\n};\n\nexport const TradingRewardsContext = createContext<TradingRewardsState>(\n {} as TradingRewardsState,\n);\n\nexport const TradingRewardsProvider: React.FC<\n PropsWithChildren<{\n type?: TWType;\n titleConfig?: TitleConfig;\n showEpochPauseCountdown?: boolean;\n }>\n> = (props) => {\n const {\n type = TWType.normal,\n showEpochPauseCountdown,\n titleConfig = {\n docOpenOptions: {\n url: \"https://orderly.network/docs/introduction/tokenomics/trading-rewards\",\n target: \"_blank\",\n },\n },\n children,\n } = props;\n\n const brokerId = useConfig(\"brokerId\");\n\n const { statusInfo } = useTradingRewardsStatus(type === TWType.mm);\n const totalOrderClaimedReward = useGetClaimed(\n type === TWType.mm ? DistributionId.mmOrder : DistributionId.order,\n );\n const totalEsOrderClaimedReward = useGetClaimed(\n type === TWType.mm ? DistributionId.mmEsOrder : DistributionId.esORder,\n );\n\n const [brokers] = useAllBrokers();\n\n const [curEpochEstimate] = useCurEpochEstimate(type);\n\n const walletRewardsHistory = useWalletRewardsHistory(type);\n\n const epochList = useEpochInfo(type);\n\n const brokerName = useMemo(() => {\n return brokers?.[brokerId];\n }, [brokerId, brokers]);\n\n const memoizedValue = useMemo<TradingRewardsState>(() => {\n return {\n type: type,\n totalOrderClaimedReward,\n totalEsOrderClaimedReward,\n epochList,\n curEpochEstimate,\n walletRewardsHistory,\n titleConfig,\n brokerId,\n brokerName,\n brokers,\n statusInfo,\n showEpochPauseCountdown: showEpochPauseCountdown ?? false,\n };\n }, [\n type,\n totalOrderClaimedReward,\n totalEsOrderClaimedReward,\n epochList,\n curEpochEstimate,\n walletRewardsHistory,\n titleConfig,\n brokerId,\n brokerName,\n brokers,\n statusInfo,\n showEpochPauseCountdown,\n ]);\n\n return (\n <TradingRewardsContext.Provider value={memoizedValue}>\n {children}\n </TradingRewardsContext.Provider>\n );\n};\n\nexport const useTradingRewardsContext = () => {\n return useContext<TradingRewardsState>(TradingRewardsContext);\n};\n","import { ReactNode } from \"react\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type TitleConfig = {\n /// default is `Trading rewards`\n title?: string | ReactNode;\n /// default is `Trade with Orderly’s to earn ORDER.`\n subtitle?: string | ReactNode;\n /// default is `Learn more about Orderly Trading rewards Program in Trading rewards Docs`\n content?: string | ReactNode;\n /// default is { url: 'https://orderly.network/docs/introduction/tokenomics/trading-rewards', target: \"_blank\"}\n docOpenOptions?: {\n url?: string;\n target?: string;\n features?: string;\n };\n brokerName?: string;\n};\n\nexport const useTitleScript = (): TitleConfig => {\n\n const { titleConfig } = useTradingRewardsContext();\n\n return titleConfig;\n};\n","import React from \"react\";\nimport { useTitleScript } from \"./title.script\";\nimport { Title } from \"./title.ui\";\n\nexport const TitleWidget: React.FC = () => {\n const state = useTitleScript();\n return <Title {...state} />;\n};\n","import { useMemo } from \"react\";\nimport { useAccount, useWalletConnector } from \"@kodiak-finance/orderly-hooks\";\nimport { useAppContext } from \"@kodiak-finance/orderly-react-app\";\nimport { AccountStatusEnum } from \"@kodiak-finance/orderly-types\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport { RewardsTooltipProps } from \"./rewardsTooltip\";\n\nexport const useCurEpochScript = () => {\n const {\n epochList,\n curEpochEstimate: estimate,\n brokerId,\n brokerName,\n statusInfo,\n showEpochPauseCountdown,\n } = useTradingRewardsContext();\n const { wrongNetwork, disabledConnect } = useAppContext();\n const { connect } = useWalletConnector();\n const { state } = useAccount();\n\n const hideData = useMemo(() => {\n return (\n state.status <= AccountStatusEnum.SignedIn ||\n wrongNetwork ||\n disabledConnect\n );\n }, [state, wrongNetwork, disabledConnect]);\n\n const notConnected = useMemo(() => {\n return state.status <= AccountStatusEnum.SignedIn || disabledConnect;\n }, [state, disabledConnect]);\n\n const rewardsTooltip = useMemo((): RewardsTooltipProps | undefined => {\n if (typeof estimate === \"undefined\" || estimate === null) return undefined;\n const otherRewards = estimate.rows\n .filter((item) => item.broker_id !== brokerId)\n .reduce((a, b) => a + b.est_r_account, 0);\n const curRewards = Number(estimate.est_r_wallet) - otherRewards;\n return {\n brokerName,\n curRewards,\n otherRewards,\n };\n }, [brokerId, brokerName, estimate]);\n\n return {\n epochList,\n estimate,\n hideData,\n notConnected,\n connect,\n rewardsTooltip: hideData ? undefined : rewardsTooltip,\n statusInfo,\n showEpochPauseCountdown,\n };\n};\n\nexport type CurEpochReturns = ReturnType<typeof useCurEpochScript>;\n","export const EsOrderlyIcon = (props: {className?: string}) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2449)\">\n <path\n d=\"M10.0249 19.9361C15.5202 19.9361 19.9751 15.4813 19.9751 9.98589C19.9751 4.49052 15.5202 0.0356445 10.0249 0.0356445C4.52949 0.0356445 0.0746155 4.49052 0.0746155 9.98589C0.0746155 15.4813 4.52949 19.9361 10.0249 19.9361Z\"\n fill=\"url(#paint0_linear_862_2449)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0992 5.0347C14.1824 5.0347 14.2202 4.93253 14.1556 4.88017C13.0272 3.96625 11.59 3.41876 10.0249 3.41876C8.4598 3.41876 7.02258 3.96625 5.89428 4.88017C5.82963 4.93253 5.86743 5.0347 5.95063 5.0347H14.0992ZM7.2658 11.6648C7.34763 11.6648 7.42329 11.707 7.47028 11.7739C8.03421 12.5781 8.96819 13.1038 10.025 13.1038C11.0817 13.1038 12.0156 12.5781 12.5796 11.7739C12.6266 11.707 12.7022 11.6648 12.7841 11.6648H16.2198C16.2985 11.6648 16.3559 11.7395 16.334 11.8151C15.5419 14.5521 13.0171 16.5531 10.0249 16.5531C7.03275 16.5531 4.50795 14.5521 3.71578 11.8151C3.6939 11.7395 3.75127 11.6648 3.83 11.6648H7.2658ZM12.335 7.8919C12.3825 7.94426 12.4493 7.97581 12.5199 7.97581H16.114C16.1955 7.97581 16.2533 7.89653 16.2264 7.81972C15.9727 7.0936 15.5951 6.42564 15.119 5.84118C15.0743 5.78631 15.007 5.75526 14.9361 5.75526H5.11354C5.04279 5.75526 4.97543 5.78631 4.93075 5.84118C4.4546 6.42564 4.07701 7.0936 3.82337 7.81972C3.79653 7.89653 3.8543 7.97581 3.93567 7.97581H7.52983C7.60053 7.97581 7.66725 7.94426 7.71477 7.8919C8.28522 7.263 9.10892 6.86807 10.0249 6.86807C10.9408 6.86807 11.7646 7.263 12.335 7.8919ZM13.028 10.8273C13.0114 10.8862 13.0549 10.9458 13.116 10.9458H16.4447C16.4894 10.9458 16.5273 10.913 16.5333 10.8688C16.572 10.5798 16.5921 10.285 16.5921 9.98539C16.5921 9.56935 16.5534 9.1623 16.4795 8.76771C16.4716 8.72551 16.4345 8.6952 16.3916 8.6952H13.0042C12.9388 8.6952 12.895 8.763 12.9195 8.82377C13.0636 9.18276 13.1429 9.57477 13.1429 9.98529C13.1429 10.277 13.1029 10.5595 13.028 10.8273ZM6.9338 10.9458C6.99492 10.9458 7.03829 10.8862 7.02183 10.8273C6.94688 10.5595 6.90682 10.277 6.90682 9.98529C6.90682 9.57477 6.98617 9.18276 7.13037 8.82377C7.15477 8.763 7.11101 8.6952 7.04553 8.6952H3.65817C3.61522 8.6952 3.5782 8.72551 3.5703 8.76771C3.49631 9.1623 3.45761 9.56935 3.45761 9.98539C3.45761 10.285 3.47767 10.5798 3.51651 10.8688C3.52246 10.913 3.56045 10.9458 3.60511 10.9458H6.9338Z\"\n fill=\"url(#paint1_linear_862_2449)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"-2.24058\"\n x2=\"10.0249\"\n y2=\"21.2774\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"white\" />\n <stop offset=\"1\" stopColor=\"#EDE9F4\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"3.41876\"\n x2=\"10.0249\"\n y2=\"16.5531\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2449\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","export const OrderlyIcon = (props: {\n className?: string;\n}) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2443)\">\n <path\n d=\"M10.0249 19.9491C15.5202 19.9491 19.9751 15.4942 19.9751 9.99883C19.9751 4.50346 15.5202 0.048584 10.0249 0.048584C4.52949 0.048584 0.0746155 4.50346 0.0746155 9.99883C0.0746155 15.4942 4.52949 19.9491 10.0249 19.9491Z\"\n fill=\"url(#paint0_linear_862_2443)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1556 4.8931C14.2202 4.94547 14.1824 5.04764 14.0992 5.04764H5.95063C5.86743 5.04764 5.82963 4.94547 5.89428 4.8931C7.02258 3.97918 8.4598 3.4317 10.0249 3.4317C11.59 3.4317 13.0272 3.97918 14.1556 4.8931Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.47028 11.7869C7.4233 11.7199 7.34764 11.6777 7.26581 11.6777H3.83C3.75128 11.6777 3.69391 11.7525 3.71579 11.8281C4.50796 14.565 7.03275 16.566 10.0249 16.566C13.0171 16.566 15.5419 14.565 16.334 11.8281C16.3559 11.7525 16.2985 11.6777 16.2198 11.6777H12.7841C12.7022 11.6777 12.6266 11.7199 12.5796 11.7869C12.0156 12.5911 11.0817 13.1167 10.025 13.1167C8.96818 13.1167 8.03421 12.5911 7.47028 11.7869Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.335 7.90476C12.3825 7.95713 12.4493 7.98867 12.5199 7.98867H16.114C16.1955 7.98867 16.2533 7.9094 16.2264 7.83259C15.9727 7.10647 15.5951 6.43851 15.119 5.85405C15.0743 5.79918 15.007 5.76813 14.9361 5.76813H5.11354C5.04278 5.76813 4.97543 5.79918 4.93074 5.85405C4.45459 6.43851 4.07701 7.10647 3.82337 7.83259C3.79652 7.9094 3.85428 7.98867 3.93567 7.98867H7.52982C7.60052 7.98867 7.66725 7.95713 7.71475 7.90476C8.28522 7.27587 9.10892 6.88093 10.0249 6.88093C10.9408 6.88093 11.7646 7.27587 12.335 7.90476Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.116 10.9587C13.0549 10.9587 13.0114 10.8991 13.028 10.8402C13.1029 10.5723 13.1429 10.29 13.1429 9.99822C13.1429 9.5877 13.0636 9.19568 12.9195 8.83669C12.895 8.77593 12.9388 8.70813 13.0042 8.70813H16.3916C16.4345 8.70813 16.4716 8.73843 16.4795 8.78064C16.5534 9.17523 16.5921 9.58228 16.5921 9.99832C16.5921 10.2979 16.572 10.5927 16.5333 10.8816C16.5273 10.9259 16.4894 10.9587 16.4447 10.9587H13.116ZM7.02183 10.8402C7.03829 10.8991 6.99492 10.9587 6.93381 10.9587H3.60511C3.56045 10.9587 3.52246 10.9259 3.51651 10.8816C3.47767 10.5927 3.45761 10.2979 3.45761 9.99832C3.45761 9.58228 3.49631 9.17523 3.5703 8.78064C3.5782 8.73843 3.61523 8.70813 3.65817 8.70813H7.04553C7.11101 8.70813 7.15477 8.77593 7.13037 8.83669C6.98617 9.19568 6.90682 9.5877 6.90682 9.99822C6.90682 10.29 6.94688 10.5723 7.02183 10.8402Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2443\"\n x1=\"10.0249\"\n y1=\"0.0486119\"\n x2=\"10.0249\"\n y2=\"19.9491\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2443\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n };\n ","import React, { FC, useState } from \"react\";\nimport { Flex, Text, Tooltip } from \"@kodiak-finance/orderly-ui\";\nimport { commifyOptional } from \"@kodiak-finance/orderly-utils\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\n\nexport type RewardsTooltipProps = {\n brokerName: string | undefined;\n curRewards: number;\n otherRewards: number;\n};\n\nexport const RewardsTooltip: FC<{\n rewardsTooltip?: RewardsTooltipProps;\n children?: React.ReactElement;\n className?: string;\n arrowClassName?: string;\n align?: \"start\" | \"center\" | \"end\";\n}> = (props) => {\n const [open, setOpen] = useState(false);\n const { t } = useTranslation();\n\n const content = (): any => {\n return (\n <Flex\n direction={\"column\"}\n className=\"oui-leading-[1.5] oui-text-2xs oui-text-base-contrast-80 oui-min-w-[204px]\"\n gap={1}\n >\n <Flex gap={1} width={\"100%\"}>\n <Text className=\"oui-flex-1\">{props.rewardsTooltip?.brokerName}</Text>\n <Text>\n {commifyOptional(props.rewardsTooltip?.curRewards, { fix: 2 })}\n </Text>\n </Flex>\n <Flex gap={1} width={\"100%\"}>\n <Text className=\"oui-flex-1\">\n {t(\"tradingRewards.otherOrderlyDex\")}\n </Text>\n <Text>\n {commifyOptional(props.rewardsTooltip?.otherRewards, { fix: 2 })}\n </Text>\n </Flex>\n </Flex>\n );\n };\n\n return (\n <Tooltip\n content={content()}\n align={props.align}\n className={props.className}\n open={open}\n onOpenChange={setOpen}\n arrow={{\n className: props.arrowClassName,\n }}\n delayDuration={100}\n >\n {!!props.children ? (\n React.cloneElement(props.children!, {\n onClick: (e: any) => {\n e.preventDefault();\n setOpen(!open);\n },\n })\n ) : (\n <svg\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"oui-cursor-pointer\"\n onClick={(e) => {\n e.preventDefault();\n setOpen(!open);\n }}\n >\n <path\n d=\"M10.5 1.678a8.333 8.333 0 1 0-.001 16.667 8.333 8.333 0 0 0 0-16.667m0 4.167a.833.833 0 1 1-.001 1.667.833.833 0 0 1 0-1.667m0 2.5c.46 0 .832.373.832.833v4.167a.833.833 0 0 1-1.666 0V9.178c0-.46.373-.833.833-.833\"\n fill=\"#fff\"\n fillOpacity=\".36\"\n />\n </svg>\n )}\n </Tooltip>\n );\n};\n","import { useState, useEffect, FC, ReactNode, SVGProps, useMemo } from \"react\";\nimport { EpochStatus } from \"@kodiak-finance/orderly-hooks\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\nimport { AccountStatusEnum } from \"@kodiak-finance/orderly-types\";\nimport { Box, Flex, Text, cn } from \"@kodiak-finance/orderly-ui\";\nimport { AuthGuard } from \"@kodiak-finance/orderly-ui-connector\";\nimport { commifyOptional } from \"@kodiak-finance/orderly-utils\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { CurEpochReturns } from \"./curEpoch.script\";\nimport { RewardsTooltip } from \"./rewardsTooltip\";\n\nexport const CurEpoch: FC<CurEpochReturns> = (props) => {\n const { t } = useTranslation();\n\n const state = props;\n const curEpochInfo = state.epochList?.[1].curEpochInfo;\n const epochList = state.epochList?.[0];\n const startTime = curEpochInfo?.start_time;\n const endTime = curEpochInfo?.end_time;\n const curEpochId = curEpochInfo?.epoch_id;\n const max_reward_amount = curEpochInfo?.max_reward_amount;\n const token = curEpochInfo?.epoch_token;\n\n const isOrder = curEpochInfo\n ? `${curEpochInfo?.epoch_token}`.toLowerCase() === \"order\"\n : undefined;\n\n const pausedEpochTimeDown = useMemo(() => {\n if (!props.showEpochPauseCountdown) {\n return undefined;\n }\n if (!epochList || props.statusInfo?.epochStatus !== EpochStatus.paused) {\n return undefined;\n }\n\n const lastCompletedEpoch = props.statusInfo?.lastCompletedEpoch;\n if (lastCompletedEpoch === undefined) {\n return undefined;\n }\n const nextEpoch = lastCompletedEpoch + 1;\n const epoch = epochList.find((item: any) => item.epoch_id === nextEpoch);\n return epoch?.start_time;\n }, [props.statusInfo?.epochStatus, epochList]);\n\n const showPauseCountdown = useMemo(() => {\n return (\n props.statusInfo?.epochStatus === EpochStatus.paused &&\n pausedEpochTimeDown\n );\n }, [props.statusInfo?.epochStatus, pausedEpochTimeDown]);\n\n if (props.statusInfo?.epochStatus !== EpochStatus.active) {\n return (\n <Flex\n id=\"oui-tradingRewards-home-currentEpoch\"\n r={\"2xl\"}\n className=\"oui-bg-base-9 oui-font-semibold oui-p-10\"\n width={\"100%\"}\n height={\"100%\"}\n direction={\"column\"}\n // justify={\"stretch\"}\n itemAlign={\"stretch\"}\n >\n <Flex\n gap={2}\n direction={\"column\"}\n justify={\"center\"}\n itemAlign={\"center\"}\n className=\"oui-size-full\"\n >\n {showPauseCountdown ? (\n <Flex\n gap={2}\n direction={\"column\"}\n justify={\"center\"}\n itemAlign={\"center\"}\n >\n <Text className=\"oui-text-base-contrast-54 oui-text-sm\">\n {t(\"tradingRewards.epochPauseCountdown.title\")}\n </Text>\n <Countdown targetTimestamp={pausedEpochTimeDown} isStandalone />\n </Flex>\n ) : (\n <Flex\n className=\"oui-text-base-contrast-54 oui-text-sm oui-text-center\"\n justify={\"center\"}\n itemAlign={\"center\"}\n >\n {props.statusInfo?.epochStatus === EpochStatus.paused\n ? t(\"tradingRewards.eopchStatus.pause\")\n : t(\"tradingRewards.eopchStatus.ended\")}\n </Flex>\n )}\n {props.statusInfo?.epochStatus === EpochStatus.paused && (\n <div\n className={cn(\n \"oui-w-full\",\n showPauseCountdown ? \"oui-mt-2\" : \"oui-mt-0\",\n )}\n >\n <TwitterLInk />\n </div>\n )}\n </Flex>\n </Flex>\n );\n }\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-currentEpoch\"\n r={\"2xl\"}\n className=\"oui-bg-base-9 oui-font-semibold\"\n width={\"100%\"}\n height={\"100%\"}\n direction={\"column\"}\n // justify={\"stretch\"}\n itemAlign={\"stretch\"}\n >\n <Countdown targetTimestamp={endTime} />\n <Flex p={6} direction={\"column\"} gap={4} className=\"oui-h-full\">\n <Flex direction={\"row\"} gap={3} width={\"100%\"} justify={\"around\"}>\n <Statics\n title={t(\"tradingRewards.epoch\")}\n highLight={curEpochId ? `${curEpochId}` : \"--\"}\n text={\n startTime && endTime\n ? `${getDate(startTime)} - ${getDate(endTime)}`\n : \"\"\n }\n />\n <Statics\n title={t(\"tradingRewards.epochRewards\")}\n highLight={commifyOptional(max_reward_amount, { fix: 0 })}\n text={token}\n />\n </Flex>\n <EstRewards\n isOrder={isOrder}\n direction={state.notConnected ? \"row\" : \"column\"}\n justify={state.notConnected ? \"between\" : \"center\"}\n hideData={state.hideData}\n estRewards={state.hideData ? \"--\" : props.estimate?.est_r_wallet}\n rewardsTooltip={props.rewardsTooltip}\n background={\n state.notConnected\n ? \"linear-gradient(28.29deg, #1B1D22 21.6%, #26292E 83.23%)\"\n : \"linear-gradient(0deg, #2D0061 2.62%, #BD6BED 86.5%)\"\n }\n />\n {/* {state.notConnected && (\n <Button\n variant=\"gradient\"\n fullWidth\n onClick={(e) => {\n e.stopPropagation();\n state.connect();\n }}\n >\n Connect wallet\n </Button>\n )} */}\n\n <div className=\"oui-w-full\">\n <AuthGuard\n status={AccountStatusEnum.SignedIn}\n buttonProps={{ fullWidth: true }}\n >\n <></>\n </AuthGuard>\n </div>\n </Flex>\n </Flex>\n );\n};\n\nconst EstRewards: FC<{\n isOrder?: boolean;\n estRewards?: number | string;\n direction: \"row\" | \"column\";\n justify: \"center\" | \"between\";\n background: string;\n hideData: boolean;\n rewardsTooltip:\n | {\n brokerName: string | undefined;\n curRewards: number;\n otherRewards: number;\n }\n | undefined;\n}> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n direction={props.direction}\n gap={2}\n py={4}\n px={6}\n width={\"100%\"}\n r=\"xl\"\n itemAlign={\"center\"}\n justify={props.justify}\n style={{\n background: props.background,\n }}\n className=\"oui-flex-1 oui-h-full\"\n >\n <Text className=\"oui-text-base xl:oui-text-lg oui-text-base-contrast-54\">\n {t(\"tradingRewards.myEstRewards\")}\n </Text>\n <Flex direction={\"row\"} gap={3}>\n {props.isOrder == true && (\n <OrderlyIcon className=\"oui-w-5 oui-h-5 md:oui-w-6 md:oui-h-6 lg:oui-w-7 lg:oui-h-7 xl:oui-w-8 xl:oui-h-8\" />\n )}\n {props.isOrder == false && (\n <EsOrderlyIcon className=\"oui-w-5 oui-h-5 md:oui-w-6 md:oui-h-6 lg:oui-w-7 lg:oui-h-7 xl:oui-w-8 xl:oui-h-8\" />\n )}\n <Text\n children={commifyOptional(props.estRewards, { fix: 2 })}\n className=\"oui-text-xl md:oui-text-2xl xl:oui-text-[32px]\"\n />\n {props.rewardsTooltip && (\n <RewardsTooltip rewardsTooltip={props.rewardsTooltip} />\n )}\n </Flex>\n </Flex>\n );\n};\n\nconst Statics: FC<{\n title: string;\n highLight?: string;\n text?: string;\n}> = (props) => {\n const { title, highLight, text } = props;\n return (\n <Flex\n // px={1}\n py={2}\n justify={\"between\"}\n direction={\"column\"}\n className=\"flex-1\"\n gap={2}\n >\n <Text\n className={cn(\n \"oui-text-base-contrast-54\",\n // font size\n \"oui-text-xs md:oui-text-sm xl:oui-text-base\",\n /// leading\n \"oui-leading-[20px] xl:oui-leading-[24px]\",\n )}\n >\n {title}\n </Text>\n <Flex direction={\"row\"} gap={1} itemAlign={\"end\"} justify={\"center\"}>\n <Text.gradient\n color=\"brand\"\n angle={90}\n className=\"oui-text-base md:oui-text-lg lg:oui-text-xl xl:oui-text-2xl\"\n >\n {highLight}\n </Text.gradient>\n <Text\n intensity={80}\n className=\"oui-mb-[3px] oui-text-2xs md:oui-text-xs xl:oui-text-sm\"\n >\n {text}\n </Text>\n </Flex>\n </Flex>\n );\n};\n\nconst Countdown: FC<{\n targetTimestamp?: number;\n isStandalone?: boolean;\n}> = (props) => {\n const { targetTimestamp, isStandalone } = props;\n const { t } = useTranslation();\n const [timeLeft, setTimeLeft] = useState({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n if (typeof targetTimestamp === \"undefined\") return;\n const now = new Date().getTime();\n const distance = targetTimestamp - now;\n\n if (distance < 0) {\n clearInterval(intervalId as unknown as number);\n setTimeLeft({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n } else {\n const days = Math.floor(distance / (1000 * 60 * 60 * 24));\n const hours = Math.floor(\n (distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60),\n );\n const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((distance % (1000 * 60)) / 1000);\n\n setTimeLeft({ days, hours, minutes, seconds });\n }\n }, 1000);\n\n return () => clearInterval(intervalId as unknown as number);\n }, [targetTimestamp]);\n\n const num = (value: string) => {\n return (\n <Text className=\"oui-text-sm oui-text-base-contrast md:oui-text-base lg:oui-text-lg \">\n {value}\n </Text>\n );\n };\n\n return (\n <Box\n className=\"oui-rounded-t-2xl oui-font-semibold oui-text-base-contrast-54\"\n gradient={isStandalone ? undefined : \"neutral\"}\n angle={180}\n width={\"full\"}\n >\n <Flex justify={\"center\"} gap={1}>\n {isStandalone ? null : <span>{`${t(\"common.countdown\")}: `}</span>}\n <Flex\n direction={\"row\"}\n itemAlign={\"end\"}\n gap={1}\n className={cn(\n \"oui-text-2xs md:oui-text-xs lg:oui-text-sm\",\n isStandalone ? \"oui-py-0\" : \"oui-py-[13px]\",\n )}\n >\n {num(`${timeLeft.days}`.padStart(2, \"0\"))}\n <span>D</span>\n {num(`${timeLeft.hours}`.padStart(2, \"0\"))}\n <span>H</span>\n {num(`${timeLeft.minutes}`.padStart(2, \"0\"))}\n <span>M</span>\n {num(`${timeLeft.seconds}`.padStart(2, \"0\"))}\n <span>S</span>\n </Flex>\n </Flex>\n </Box>\n );\n};\n\nconst CountDownNum = (props: { children?: ReactNode }) => {\n return (\n <Text className=\"oui-text-sm oui-text-base-contrast md:oui-text-base lg:oui-text-lg \">\n {props.children}\n </Text>\n );\n};\n\nconst getDate = (timestamp?: number) => {\n if (!timestamp) return \"\";\n\n const date = new Date(timestamp);\n\n // return format(timestamp, \"MMM. d\");\n\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getUTCMonth()];\n const day = date.getUTCDate();\n return `${month}. ${day}`;\n};\n\nexport const ArrowRightIcon: FC<SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <mask\n id=\"mask0_1997_45723\"\n style={{ maskType: \"alpha\" }}\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"0\"\n width=\"21\"\n height=\"20\"\n >\n <rect x=\"0.5\" width=\"20\" height=\"20\" fill=\"#D9D9D9\" />\n </mask>\n <g mask=\"url(#mask0_1997_45723)\">\n <path\n d=\"M12.0384 14.7111L11.1603 13.8073L14.343 10.6246H4.25V9.37463H14.343L11.1603 6.19192L12.0384 5.28809L16.75 9.99961L12.0384 14.7111Z\"\n // fill=\"black\"\n // fill-opacity=\"0.8\"\n />\n </g>\n </svg>\n);\nconst TwitterLInk: FC = () => {\n const { t } = useTranslation();\n return (\n <Flex\n gap={1}\n itemAlign={\"center\"}\n justify={\"center\"}\n className=\"oui-group oui-cursor-pointer oui-fill-base-contrast-36 oui-text-sm oui-text-base-contrast-36 group-hover:oui-text-base-contrast-80\"\n onClick={() => window.open(\"https://x.com/OrderlyNetwork\")}\n >\n <div className=\"oui-cursor-pointer oui-fill-base-contrast-36 oui-text-sm oui-text-base-contrast-36 group-hover:oui-text-base-contrast-80\">\n {t(\"tradingRewards.eopchStatus.linkDescription\")}\n </div>\n <ArrowRightIcon className=\"oui-text-fill-base-contrast-36 oui-fill-base-contrast-36 group-hover:oui-fill-base-contrast-80\" />\n </Flex>\n );\n};\n","import { FC } from \"react\";\nimport { useCurEpochScript } from \"./curEpoch.script\";\nimport { CurEpoch } from \"./curEpoch.ui\";\n\nexport const CurEpochWidget: FC = () => {\n const state = useCurEpochScript();\n return <CurEpoch {...state} />;\n};\n","export { CurEpochWidget } from \"./curEpoch.widget\";\nexport { CurEpoch } from \"./curEpoch.ui\";\nexport { useCurEpochScript } from \"./curEpoch.script\";\n","import { useCallback, useMemo } from \"react\";\nimport { useDataTap } from \"@kodiak-finance/orderly-react-app\";\nimport { Decimal } from \"@kodiak-finance/orderly-utils\";\nimport { ChainNamespace } from \"@kodiak-finance/orderly-types\";\nimport { ENVType, useGetEnv, useWalletConnector } from \"@kodiak-finance/orderly-hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type AvailableReturns = {\n order?: number;\n esOrder?: number;\n goToClaim?: (e: any) => void;\n};\n\nexport const useAvailableScript = (): AvailableReturns => {\n const {\n totalOrderClaimedReward,\n walletRewardsHistory,\n totalEsOrderClaimedReward,\n } = useTradingRewardsContext();\n const [orderClaimedRewardData] = totalOrderClaimedReward;\n const [esOrderClaimedRewardData] = totalEsOrderClaimedReward;\n\n const { namespace } = useWalletConnector();\n\n const [data] = walletRewardsHistory;\n\n const lifetimeOrderReward = useMemo(() => {\n if (namespace === ChainNamespace.evm) {\n return data?.wallet_lifetime_trading_rewards_order;\n }\n return data?.wallet_pending_trading_rewards_order;\n }, [namespace, data]);\n\n const lifetimeEsOrderReward = useMemo(() => {\n if (namespace === ChainNamespace.evm) {\n return data?.wallet_lifetime_trading_rewards_escrow;\n }\n return data?.wallet_pending_trading_rewards_escrow;\n }, [data, namespace]);\n\n const env = useGetEnv();\n const goToClaim = (e: any) => {\n const url = `https://${\n env !== ENVType.prod ? `${env}-` : \"\"\n }app.orderly.network/tradingRewards`;\n window.open(url, \"_blank\");\n };\n\n const calculateRemainingReward = useCallback(\n (totalReward: string | undefined, claimedReward: number | undefined) => {\n if (\n typeof claimedReward !== \"undefined\" &&\n typeof totalReward !== \"undefined\"\n ) {\n const remainingReward = new Decimal(totalReward)\n .sub(claimedReward)\n .toFixed(18, Decimal.ROUND_DOWN);\n return Number(remainingReward);\n }\n return undefined;\n },\n []\n );\n\n const availableOrder = useMemo(\n () => calculateRemainingReward(lifetimeOrderReward, orderClaimedRewardData),\n [lifetimeOrderReward, orderClaimedRewardData, calculateRemainingReward]\n );\n\n const availableEsOrder = useMemo(\n () =>\n calculateRemainingReward(lifetimeEsOrderReward, esOrderClaimedRewardData),\n [lifetimeEsOrderReward, esOrderClaimedRewardData, calculateRemainingReward]\n );\n\n const orderValue = useDataTap<number | undefined>(availableOrder);\n const esorderValue = useDataTap<number | undefined>(availableEsOrder);\n return {\n order: orderValue ?? undefined,\n esOrder: esorderValue ?? undefined,\n goToClaim,\n };\n};\n","export const JumpIcon = () => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n // fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n >\n <path\n d=\"M11.3275 13.9938C12.8001 13.9938 13.9941 12.7998 13.9941 11.3272V4.66049C13.9941 3.18782 12.8001 1.99382 11.3275 1.99382H4.66081C3.18814 1.99382 1.99414 3.18782 1.99414 4.66049V11.3272C1.99414 12.7998 3.18814 13.9938 4.66081 13.9938H11.3275ZM5.99414 10.6605C5.82347 10.6605 5.64548 10.6031 5.51481 10.4732C5.25481 10.2125 5.25481 9.77516 5.51481 9.51449L8.18148 6.84782L6.66081 5.32715H10.6608V9.32715L9.14014 7.80648L6.47347 10.4732C6.34347 10.6031 6.16481 10.6605 5.99414 10.6605Z\"\n \n />\n </svg>\n );\n};\n","import { Flex, Text } from \"@kodiak-finance/orderly-ui\";\nimport { JumpIcon } from \"../components/jumpIcon\";\nimport { FC } from \"react\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { AvailableReturns } from \"./availableToClaim.script\";\nimport { commifyOptional } from \"@kodiak-finance/orderly-utils\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\n\nexport const AvailableToClaim: FC<AvailableReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-availableToClaim\"\n p={6}\n r=\"2xl\"\n direction={\"column\"}\n gap={4}\n width={\"100%\"}\n className=\" oui-font-semibold oui-bg-base-9 \"\n >\n <Flex direction={\"row\"} justify={\"between\"} width={\"100%\"}>\n <Text className=\"oui-text-lg\">\n {t(\"tradingRewards.availableClaim\")}\n </Text>\n <Flex\n direction={\"row\"}\n gap={1}\n onClick={props.goToClaim}\n className=\"oui-cursor-pointer oui-text-primary-light\"\n >\n <Text size=\"sm\">{t(\"tradingRewards.claim\")}</Text>\n <JumpIcon />\n </Flex>\n </Flex>\n <Flex direction={\"row\"} gap={3} width={\"100%\"}>\n <Statics title=\"ORDER\" value={props.order} />\n <Statics title=\"esORDER\" value={props.esOrder} isEsOrder />\n </Flex>\n </Flex>\n );\n};\n// background: linear-gradient(28.29deg, #1B1D22 21.6%, #26292E 83.23%);\n\nconst Statics: FC<{\n title: string;\n isEsOrder?: boolean;\n value?: number;\n}> = (props) => {\n const { value } = props;\n return (\n <Flex\n className=\"oui-flex-1 oui-bg-base-8 oui-py-[11px]\"\n direction={\"column\"}\n gap={2}\n r=\"xl\"\n gradient=\"neutral\"\n angle={180}\n border\n borderColor={6}\n >\n <Text className=\"oui-text-xs xl:oui-text-sm oui-text-base-contrast-54\">\n {props.title}\n </Text>\n <Flex direction={\"row\"} gap={1}>\n {props.isEsOrder ? <EsOrderlyIcon /> : <OrderlyIcon />}\n <Text\n className=\"oui-text-sm xl:oui-text-base\"\n children={commifyOptional(value, { fix: 2 })}\n />\n </Flex>\n </Flex>\n );\n};\n","import React from \"react\";\nimport { useAvailableScript } from \"./availableToClaim.script\";\nimport { AvailableToClaim } from \"./availableToClaim.ui\";\n\nexport const AvailableToClaimWidget: React.FC = () => {\n const state = useAvailableScript();\n return <AvailableToClaim {...state} />;\n};\n","\nexport { AvailableToClaimWidget } from \"./availableToClaim.widget\";\nexport { AvailableToClaim } from \"./availableToClaim.ui\";","import { CurrentEpochEstimate } from \"@kodiak-finance/orderly-hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport { ENVType, useGetEnv } from \"@kodiak-finance/orderly-hooks\";\nimport { useDataTap } from \"@kodiak-finance/orderly-react-app\";\nimport { Decimal } from \"@kodiak-finance/orderly-utils\";\nimport { useMemo } from \"react\";\n\nexport const useStakeBoosterScript = () => {\n const { curEpochEstimate } = useTradingRewardsContext();\n\n const env = useGetEnv();\n const stakeNow = (e: any) => {\n const url = `https://${\n env !== ENVType.prod ? `${env}-` : \"\"\n }app.orderly.network/staking`;\n window.open(url, \"_blank\");\n };\n const estimateValue = useDataTap(curEpochEstimate);\n\n const booster = useMemo(() => {\n const estStakeBoost = curEpochEstimate?.est_stake_boost;\n if (typeof estStakeBoost === \"undefined\" || estStakeBoost === null) {\n return undefined;\n }\n\n if (estStakeBoost === 0) return estStakeBoost;\n\n return new Decimal(estStakeBoost)\n .div(new Decimal(10).pow(0.15))\n .toDecimalPlaces(2, Decimal.ROUND_DOWN)\n .toString();\n }, [curEpochEstimate?.est_stake_boost]);\n return {\n curEpochEstimate: estimateValue ?? undefined,\n stakeNow,\n booster,\n };\n};\n\n\nexport type StakeBoosterReturns = ReturnType<typeof useStakeBoosterScript>;","export const RocketIcon = () => {\n return (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.439 10.5672C14.0868 10.9198 13.7025 11.2403 13.3183 11.5287C13.1902 11.6248 13.1261 11.721 13.0941 11.8812C12.7739 13.1952 12.1015 14.4451 11.0448 15.5027C10.5645 15.9835 10.0522 16.3681 9.47584 16.7206C8.99553 17.009 8.41917 16.5283 8.61129 15.9835C8.93149 15.1502 9.05957 14.2528 9.05957 13.3234C8.99553 13.3234 8.89947 13.3555 8.83543 13.3555C8.06695 12.7145 7.3625 12.0415 6.65805 11.3364C5.95361 10.6313 5.28118 9.89421 4.64078 9.15708C4.64078 9.09299 4.6728 8.99684 4.6728 8.93274C3.74421 8.93274 2.84764 9.09299 2.01512 9.38143C1.50279 9.57372 0.990469 8.99684 1.27865 8.51611C1.63087 7.93923 2.01512 7.42645 2.49542 6.94572C3.55209 5.88811 4.80088 5.21508 6.11371 4.89459C6.24179 4.86255 6.36987 4.7664 6.46593 4.67025C6.75412 4.25362 7.07432 3.90108 7.42654 3.54855C9.92412 1.04874 13.4143 0.183422 16.6484 0.920545C16.8725 0.984642 17.0326 1.14489 17.0967 1.36923C17.8011 4.57411 16.9366 8.06742 14.439 10.5672ZM13.0301 4.95869C12.2616 4.18952 10.9808 4.18952 10.2123 4.95869C9.44382 5.72786 9.44382 7.00982 10.2123 7.77899C10.9808 8.54816 12.2616 8.54816 13.0301 7.77899C13.8306 6.97777 13.8306 5.72786 13.0301 4.95869ZM5.88957 14.7656C5.28118 15.3745 1.53481 17.9385 0.798348 17.2013C0.0618817 16.4642 2.6235 12.7145 3.23189 12.1056C3.84027 11.4966 4.92896 11.5928 5.66543 12.3299C6.40189 13.067 6.49795 14.1567 5.88957 14.7656Z\"\n fill=\"url(#paint0_linear_88_1748)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_88_1748\"\n x1=\"17.3331\"\n y1=\"8.99996\"\n x2=\"0.666504\"\n y2=\"8.99996\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { FC, ReactNode } from \"react\";\nimport { Flex, Text } from \"@kodiak-finance/orderly-ui\";\nimport { JumpIcon } from \"../components/jumpIcon\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { RocketIcon } from \"../components/rocket\";\nimport { StakeBoosterReturns } from \"./stakeBooster.script\";\nimport { commify, commifyOptional } from \"@kodiak-finance/orderly-utils\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\n\nexport const StakeBooster: FC<StakeBoosterReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-stakeBooster\"\n p={6}\n r=\"2xl\"\n direction={\"column\"}\n gap={4}\n width={\"100%\"}\n className=\" oui-font-semibold oui-bg-base-9 \"\n >\n <Flex direction={\"row\"} justify={\"between\"} width={\"100%\"}>\n <Text className=\"oui-text-lg\">{t(\"tradingRewards.stakeBooster\")}</Text>\n <Flex\n direction={\"row\"}\n gap={1}\n onClick={props.stakeNow}\n className=\"oui-cursor-pointer oui-text-primary-light\"\n >\n <Text size=\"sm\">{t(\"tradingRewards.stake\")}</Text>\n <JumpIcon />\n </Flex>\n </Flex>\n <Flex direction={\"row\"} gap={3} width={\"100%\"}>\n <Statics\n title={t(\"tradingRewards.avgStakedAmount\")}\n value={props.curEpochEstimate?.est_avg_stake}\n icon={\n <div className=\"oui-flex oui-w-[32px] oui-h-[20px] oui-relative\">\n <div className=\"oui-absolute oui-right-0 oui-top-0\">\n <EsOrderlyIcon />\n </div>\n <div className=\"oui-absolute oui-left-0 oui-top-0 \">\n <OrderlyIcon />\n </div>\n </div>\n }\n />\n <Statics\n title={t(\"tradingRewards.booster\")}\n value={props.booster}\n icon={<RocketIcon />}\n gradient\n />\n </Flex>\n </Flex>\n );\n};\n\nconst Statics: FC<{\n title: string;\n icon: ReactNode;\n value?: number | string;\n gradient?: boolean;\n}> = (props) => {\n const calcValue = commify(props.value || \"--\", 2);\n return (\n <Flex\n className=\"oui-flex-1 oui-bg-base-8 oui-py-[11px]\"\n direction={\"column\"}\n gap={2}\n r=\"xl\"\n gradient=\"neutral\"\n angle={180}\n border\n borderColor={6}\n >\n <Text className=\"oui-text-xs xl:oui-text-sm oui-text-base-contrast-54\">\n {props.title}\n </Text>\n <Flex direction={\"row\"} gap={1}>\n {props.icon}\n {props.gradient ? (\n <Text.gradient\n className=\"oui-text-sm xl:oui-text-base\"\n color=\"brand\"\n angle={90}\n >\n {calcValue + (calcValue === \"--\" ? \"\" : \"x\")}\n </Text.gradient>\n ) : (\n <Text className=\"oui-text-sm xl:oui-text-base\">\n {commifyOptional(props.value, { fix: 2 })}\n </Text>\n )}\n </Flex>\n </Flex>\n );\n};\n","import React from \"react\";\nimport { useStakeBoosterScript } from \"./stakeBooster.script\";\nimport { StakeBooster } from \"./stakeBooster.ui\";\n\nexport const StakeBoosterWidget: React.FC = () => {\n const state = useStakeBoosterScript();\n return <StakeBooster {...state} />;\n};\n","\nexport { StakeBoosterWidget } from \"./stakeBooster.widget\";\nexport { StakeBooster } from \"./stakeBooster.ui\";","import { FC } from \"react\";\nimport {\n Box,\n Divider,\n Flex,\n ListView,\n Text,\n DataTable,\n Column,\n} from \"@kodiak-finance/orderly-ui\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { ListType, RewardsHistoryReturns } from \"./rewardsHistory.script\";\nimport { useMediaQuery } from \"@kodiak-finance/orderly-hooks\";\nimport { commifyOptional } from \"@kodiak-finance/orderly-utils\";\nimport { AuthGuardEmpty } from \"@kodiak-finance/orderly-ui-connector\";\nimport { AccountStatusEnum } from \"@kodiak-finance/orderly-types\";\nimport { RewardsTooltip } from \"../curEpoch/rewardsTooltip\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\n\nexport const RewardHistory: FC<RewardsHistoryReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-rewardHistory\"\n py={4}\n px={3}\n direction={\"column\"}\n gap={2}\n itemAlign={\"start\"}\n r=\"2xl\"\n className=\"oui-bg-base-9 oui-w-full oui-font-semibold oui-tabular-nums\"\n >\n <Text className=\"oui-text-lg oui-px-3\">\n {t(\"tradingRewards.rewardHistory\")}\n </Text>\n <div className=\"oui-border-t-2 oui-border-line-4 oui-w-full\">\n <List {...props} />\n </div>\n </Flex>\n );\n};\n\nconst List: FC<RewardsHistoryReturns> = (props) => {\n const isMobile = useMediaQuery(\"(max-width: 767px)\");\n\n return isMobile ? (\n <ListView\n dataSource={props.originalData}\n renderItem={(item, index) => {\n return <MobileCell data={item} />;\n }}\n className=\"oui-mt-3 oui-max-h-[356px]\"\n />\n ) : (\n <Box px={3}>\n <DesktopList {...props} />\n </Box>\n );\n};\n\nconst MobileCell: FC<{\n data: ListType;\n}> = (props) => {\n const { data } = props;\n const { t } = useTranslation();\n\n console.log(data.rewardsTooltip);\n const isOrder =\n `${data?.info?.epoch_token || data.epoch_token}`.toLowerCase() === \"order\";\n const r_warret = commifyOptional(data.info?.r_wallet, { fix: 2 });\n\n return (\n <Flex\n key={data.epoch_id}\n direction={\"column\"}\n px={4}\n pt={0}\n gap={3}\n className=\"oui-text-base-contrast-80\"\n >\n <Flex direction={\"row\"} width={\"100%\"}>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.epoch\")}\n </Text>\n <Text className=\"oui-text-sm\">{`Epoch ${data.epoch_id}`}</Text>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.epochRewards\")}{\" \"}\n </Text>\n <Flex gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n <Text className=\"oui-text-sm\">\n {commifyOptional(data.max_reward_amount, { fix: 2 })}\n </Text>\n </Flex>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"end\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardsEarned\")}{\" \"}\n </Text>\n <Flex gap={1}>\n {r_warret !== \"--\" &&\n (isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />)}\n {!!data.rewardsTooltip ? (\n <RewardsTooltip\n rewardsTooltip={data.rewardsTooltip}\n children={\n <Text className=\"oui-text-sm oui-underline oui-decoration-dashed oui-cursor-pointer oui-underline-offset-4 oui-decoration-line-16\">\n {r_warret}\n </Text>\n }\n align=\"center\"\n className=\"oui-bg-base-5\"\n arrowClassName=\"oui-fill-base-5\"\n />\n ) : (\n <Text className=\"oui-text-sm\">{r_warret}</Text>\n )}\n </Flex>\n </Flex>\n </Flex>\n <Flex direction={\"row\"} width={\"100%\"}>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardHistory.column.startDate\")}\n </Text>\n <Flex direction={\"row\"}>\n <Text className=\"oui-text-sm\">\n {formatTimestamp(data.start_time).firstPart} \n </Text>\n <Text className=\"oui-text-2xs oui-text-base-contrast-36\">\n {formatTimestamp(data.start_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"end\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardHistory.column.endDate\")}\n </Text>\n <Flex direction={\"row\"}>\n <Text className=\"oui-text-sm\">\n {formatTimestamp(data.end_time).firstPart} \n </Text>\n <Text className=\"oui-text-2xs oui-text-base-contrast-36\">\n {formatTimestamp(data.end_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Divider className=\"oui-w-full\" />\n </Flex>\n );\n};\n\nconst DesktopList: FC<RewardsHistoryReturns> = (props) => {\n const { data } = props;\n const { t } = useTranslation();\n\n const columns: Column<ListType>[] = [\n {\n title: t(\"tradingRewards.epoch\"),\n dataIndex: \"epoch_id\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value) => {\n return <Text>{`${t(\"tradingRewards.epoch\")} ${value}`}</Text>;\n },\n },\n {\n title: t(\"tradingRewards.rewardHistory.column.start&EndDate\"),\n dataIndex: \"time\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n return (\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[2px]\"\n justify={\"start\"}\n itemAlign={\"start\"}\n >\n <Flex direction={\"row\"} gap={1}>\n <Text>{formatTimestamp(record.start_time).firstPart}</Text>\n <Text className=\"oui-text-base-contrast-54\">\n {formatTimestamp(record.start_time).secondPart}\n </Text>\n </Flex>\n <Flex direction={\"row\"} gap={1}>\n <Text>{formatTimestamp(record.end_time).firstPart}</Text>\n <Text className=\"oui-text-base-contrast-54\">\n {formatTimestamp(record.end_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n );\n },\n },\n {\n title: t(\"tradingRewards.epochRewards\"),\n dataIndex: \"max_reward_amount\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n const isOrder =\n `${record?.info?.epoch_token || record.epoch_token}`.toLowerCase() ===\n \"order\";\n return (\n <Flex direction={\"row\"} gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n <Text>{commifyOptional(value)}</Text>\n </Flex>\n );\n },\n },\n {\n title: t(\"tradingRewards.rewardsEarned\"),\n dataIndex: \"earned\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n const isOrder =\n `${record?.info?.epoch_token || record.epoch_token}`.toLowerCase() ===\n \"order\";\n\n let children = (\n <Text\n className={\n record.rewardsTooltip\n ? \"oui-underline oui-decoration-dashed oui-cursor-pointer oui-underline-offset-4 oui-decoration-line-16\"\n : \"\"\n }\n >\n {commifyOptional(record.info?.r_wallet, { fix: 2 })}\n </Text>\n );\n\n if (record.rewardsTooltip) {\n children = (\n <RewardsTooltip\n rewardsTooltip={record.rewardsTooltip}\n children={children}\n align=\"center\"\n className=\"oui-bg-base-5\"\n arrowClassName=\"oui-fill-base-5\"\n />\n );\n }\n return (\n <Flex direction={\"row\"} gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n {children}\n </Flex>\n );\n },\n },\n ];\n\n return (\n <DataTable\n bordered\n columns={columns}\n loading={props.isLoading}\n dataSource={data}\n emptyView={<AuthGuardEmpty status={AccountStatusEnum.SignedIn} />}\n onRow={(record) => {\n return {\n className: \"oui-h-[59px]\",\n };\n }}\n pagination={props.pagination}\n />\n );\n};\n\nfunction formatTimestamp(timestamp?: number) {\n if (typeof timestamp === \"undefined\")\n return {\n firstPart: \"-\",\n secondPart: \"\",\n };\n const date = new Date(timestamp);\n\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getUTCMonth()];\n const day = date.getUTCDate().toString().padStart(2, \"0\");\n const year = date.getUTCFullYear();\n const hours = date.getUTCHours();\n const minutes = date.getUTCMinutes();\n const amPm = hours >= 12 ? \"PM\" : \"AM\";\n const formattedHours = (hours % 12).toString().padStart(2, \"0\");\n const formattedMinutes = minutes.toString().padStart(2, \"0\");\n\n // return `${month} ${day}, ${year}_${formattedHours}:${formattedMinutes} ${amPm}`;\n return {\n firstPart: `${month} ${day}, ${year}`,\n secondPart: `${formattedHours}:${formattedMinutes} ${amPm}`,\n };\n}\n","import { useMemo } from \"react\";\nimport {\n EpochInfoItem,\n useAccount,\n useAccountRewardsHistory,\n WalletRewardsItem,\n} from \"@kodiak-finance/orderly-hooks\";\nimport { useAppContext } from \"@kodiak-finance/orderly-react-app\";\nimport { usePagination } from \"@kodiak-finance/orderly-ui\";\nimport { getTimestamp } from \"@kodiak-finance/orderly-utils\";\nimport { RewardsTooltipProps } from \"../curEpoch/rewardsTooltip\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type ListType = EpochInfoItem & {\n info?: WalletRewardsItem;\n state?: string;\n rewardsTooltip?: RewardsTooltipProps;\n};\n\nexport type RewardsHistoryReturns = ReturnType<typeof useRewardsHistoryScript>;\n\nexport const useRewardsHistoryScript = () => {\n const { account } = useAccount();\n const {\n epochList,\n walletRewardsHistory,\n totalOrderClaimedReward,\n brokerId,\n brokerName,\n } = useTradingRewardsContext();\n const epochInfos = epochList?.[0];\n const { isNotStared } = epochList?.[1];\n const [history] = walletRewardsHistory;\n const { wrongNetwork, disabledConnect } = useAppContext();\n\n const { data: accountHistory } = useAccountRewardsHistory(account.address);\n\n const data = useMemo(() => {\n if (isNotStared || disabledConnect) {\n return [];\n }\n const list = [...(epochInfos || [])];\n\n const combineData = list.map((e): ListType => {\n const id = e.epoch_id;\n const index = history?.rows.findIndex((info) => id === info.epoch_id);\n\n let rewardsTooltip: RewardsTooltipProps | undefined = undefined;\n\n if (index !== -1 && !wrongNetwork) {\n const info = history?.rows?.[index as number];\n const _findIndex = accountHistory?.findIndex((item: any) => {\n return item?.epoch_id === e.epoch_id;\n });\n\n if (\n accountHistory !== undefined &&\n _findIndex !== undefined &&\n _findIndex !== -1\n ) {\n // get broker\n const brokerList = accountHistory[_findIndex].broker;\n const curBrokerIndex = brokerList.findIndex(\n (item) => item.broker_id === brokerId,\n );\n const curBroker =\n curBrokerIndex !== -1 ? brokerList[curBrokerIndex] : undefined;\n const curRewards = curBroker?.r_account ?? 0;\n const otherRewards = Math.max(0, (info?.r_wallet ?? 0) - curRewards);\n rewardsTooltip = {\n brokerName,\n curRewards,\n otherRewards,\n };\n }\n return {\n ...e,\n info,\n rewardsTooltip,\n } as ListType;\n }\n return {\n ...e,\n } as ListType;\n });\n\n combineData.sort((a, b) => a.epoch_id - b.epoch_id); // asc\n let [claimedReward] = totalOrderClaimedReward;\n if (typeof claimedReward !== \"undefined\") {\n for (let i = 0; i < combineData.length; i++) {\n const element = combineData[i];\n if (typeof element?.info === \"undefined\") {\n element.state = \"Null\";\n continue;\n }\n const status = element.info?.reward_status;\n if (status === \"Confirmed\") {\n if (claimedReward - element.info?.r_wallet >= 0) {\n element.state = \"Claimed\";\n } else {\n element.state = \"Claimable\";\n }\n claimedReward -= element.info?.r_wallet;\n } else if (status === \"Pending\") {\n element.state = \"Processing\";\n }\n }\n }\n combineData.sort((a, b) => b.epoch_id - a.epoch_id);\n const curDate = getTimestamp();\n return combineData.filter((item) => item.end_time <= curDate);\n }, [\n history,\n epochInfos,\n totalOrderClaimedReward,\n isNotStared,\n wrongNetwork,\n accountHistory,\n disabledConnect,\n ]);\n\n const { pagination } = usePagination();\n\n return {\n data,\n originalData: data,\n pagination,\n isLoading: epochList[1].isLoading,\n };\n};\n","import React from \"react\";\nimport { useRewardsHistoryScript } from \"./rewardsHistory.script\";\nimport { RewardHistory } from \"./rewardsHistory.ui\";\n\nexport const RewardsHistoryWidget: React.FC = () => {\n const state = useRewardsHistoryScript();\n return <RewardHistory {...state} />;\n};\n","export { RewardHistory } from \"./rewardsHistory.ui\";\nexport { RewardsHistoryWidget } from \"./rewardsHistory.widget\";","\nexport * from \"./title\";\nexport * from \"./curEpoch\";\nexport * from \"./availableToClaim\";\nexport * from \"./stakeBooster\";\nexport * from \"./rewardHistory\";\nexport { TradingRewardsProvider} from \"./provider\";\nexport { HomePage } from \"./page\";\n","export { Title } from \"./title.ui\";\nexport { TitleWidget } from \"./title.widget\";\nexport type { TitleConfig } from \"./title.script\";","import React, { useMemo } from \"react\";\nimport { useTradingRewardsStatus, EpochStatus } from \"@kodiak-finance/orderly-hooks\";\nimport { Flex, Box, cn } from \"@kodiak-finance/orderly-ui\";\nimport { TradingRewardsProvider } from \"./provider\";\nimport type { TitleConfig } from \"./title/title.script\";\n\nconst LazyTitleWidget = React.lazy(() =>\n import(\"./title/title.widget\").then((mod) => {\n return { default: mod.TitleWidget };\n }),\n);\n\nconst LazyCurEpochWidget = React.lazy(() =>\n import(\"./curEpoch\").then((mod) => {\n return { default: mod.CurEpochWidget };\n }),\n);\n\nconst LazyAvailableToClaimWidget = React.lazy(() =>\n import(\"./availableToClaim\").then((mod) => {\n return { default: mod.AvailableToClaimWidget };\n }),\n);\n\nconst LazyStakeBoosterWidget = React.lazy(() =>\n import(\"./stakeBooster\").then((mod) => {\n return { default: mod.StakeBoosterWidget };\n }),\n);\n\nconst LazyRewardsHistoryWidget = React.lazy(() =>\n import(\"./rewardHistory\").then((mod) => {\n return { default: mod.RewardsHistoryWidget };\n }),\n);\n\nconst StakeBooster: React.FC = () => {\n const { statusInfo } = useTradingRewardsStatus(false);\n const isStakeBoosterVisible = useMemo(() => {\n return statusInfo?.epochStatus === EpochStatus.active;\n }, [statusInfo?.epochStatus]);\n return isStakeBoosterVisible ? (\n <React.Suspense fallback={null}>\n <LazyStakeBoosterWidget />\n </React.Suspense>\n ) : null;\n};\n\nexport const HomePage: React.FC<{\n titleConfig?: TitleConfig;\n className?: string;\n showEpochPauseCountdown?: boolean;\n}> = (props) => {\n return (\n <TradingRewardsProvider\n titleConfig={props.titleConfig}\n showEpochPauseCountdown={props.showEpochPauseCountdown}\n >\n <Flex\n id=\"oui-tradingRewards-home-page\"\n className={cn(\"oui-h-lvw oui-w-full\", props.className)}\n direction={\"column\"}\n gap={4}\n >\n <React.Suspense fallback={null}>\n <LazyTitleWidget />\n </React.Suspense>\n <Flex className=\"oui-flex oui-size-full oui-flex-col oui-gap-4 2xl:oui-flex-row 2xl:oui-items-stretch\">\n <Box className=\"oui-w-full 2xl:oui-size-auto 2xl:oui-flex-1\">\n <React.Suspense fallback={null}>\n <LazyCurEpochWidget />\n </React.Suspense>\n </Box>\n <Flex className=\"oui-flex oui-w-full oui-flex-col oui-gap-4 lg:oui-flex-row 2xl:oui-flex-1 2xl:oui-flex-col\">\n <React.Suspense fallback={null}>\n <LazyAvailableToClaimWidget />\n </React.Suspense>\n <StakeBooster />\n </Flex>\n </Flex>\n <React.Suspense fallback={null}>\n <LazyRewardsHistoryWidget />\n </React.Suspense>\n </Flex>\n </TradingRewardsProvider>\n );\n};\n","import { useEffect, useMemo, useState } from \"react\";\nimport { useMediaQuery } from \"@kodiak-finance/orderly-hooks\";\nimport type { SideBarProps } from \"@kodiak-finance/orderly-ui-scaffold\";\nimport { useTranslation } from \"@kodiak-finance/orderly-i18n\";\n\nexport enum TradingRewardsLeftSidebarPath {\n Trading = \"/rewards/trading\",\n Affiliate = \"/rewards/affiliate\",\n}\n\nexport const useTradingRewardsLayoutScript = (props: {\n current?: string;\n}): SideBarProps & {\n hideSideBar: boolean;\n} => {\n const { t } = useTranslation();\n const [current, setCurrent] = useState(props.current || \"/rewards/affiliate\");\n\n useEffect(() => {\n if (props.current) setCurrent(props.current);\n }, [props.current]);\n\n const items = useMemo(() => {\n return [\n {\n name: t(\"common.trading\"),\n href: TradingRewardsLeftSidebarPath.Trading,\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.883 1.5c-.166.01-.393.076-.515.173a2 2 0 0 0-.18.173L.918 6.553a.86.86 0 0 0-.168.475c0 .339.232.543.232.543l7.374 8.633c.005.006.269.301.644.296s.64-.29.644-.296l7.402-8.663s.204-.269.204-.513-.196-.517-.196-.517L13.82 1.848c-.023-.032-.076-.021-.103-.049-.033-.038-.037-.091-.077-.124-.123-.097-.267-.106-.413-.123-.04-.005-.063-.049-.103-.049h-.078zm1.745 1.582h4.744L9 5.795zm-1.675.542 2.294 2.615H3.122zm8.094 0 1.831 2.615h-4.125zM3.328 7.818h4.847v5.672zm6.497 0h4.847c-1.151 1.345-3.422 4.007-4.847 5.672z\"\n // fill=\"url(#a)\"\n className=\"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]\"\n />\n <defs>\n <linearGradient\n id=\"a\"\n x1=\"17.25\"\n y1=\"9\"\n x2=\".75\"\n y2=\"9\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop\n offset=\"1\"\n stopColor=\"rgb(var(--oui-gradient-brand-start))\"\n />\n </linearGradient>\n </defs>\n </svg>\n ),\n },\n {\n name: t(\"common.affiliate\"),\n href: TradingRewardsLeftSidebarPath.Affiliate,\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.625 4.95c0-.746.604-1.35 1.35-1.35h4.05c.746 0 1.35.604 1.35 1.35v4.62L9 12.195 5.625 9.57zm8.624 3.163-.524.407v-.96l.074.05c.193.128.346.302.45.502m-4.42 5.148L14.4 9.705v3.345a1.35 1.35 0 0 1-1.35 1.35h-8.1a1.35 1.35 0 0 1-1.35-1.35V9.705l4.571 3.556c.488.379 1.17.379 1.658 0M4.275 8.52l-.524-.407c.104-.2.257-.374.45-.503l.074-.049zm0-2.581V4.95a2.7 2.7 0 0 1 2.7-2.7h4.05a2.7 2.7 0 0 1 2.7 2.7v.989l.823.548a2.7 2.7 0 0 1 1.202 2.247v4.316a2.7 2.7 0 0 1-2.7 2.7h-8.1a2.7 2.7 0 0 1-2.7-2.7V8.734a2.7 2.7 0 0 1 1.202-2.247zM9 6.089l.111-.118.005-.005a1.08 1.08 0 0 1 1.58.004 1.223 1.223 0 0 1 0 1.668l-1.515 1.62-.004.004c-.1.102-.26.1-.358-.004l-1.516-1.62a1.223 1.223 0 0 1 0-1.668l.004-.004a1.08 1.08 0 0 1 1.58.004z\"\n className=\"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]\"\n />\n </svg>\n ),\n },\n ];\n }, [t]);\n\n const hideSideBar = useMediaQuery(\"(max-width: 768px)\");\n\n return {\n items,\n current,\n hideSideBar,\n // open: sideOpen,\n // onOpenChange(open) {\n // setSideOpen(open);\n // },\n onItemSelect: (item) => {\n // @ts-ignore\n setCurrent(item.href);\n },\n };\n};\n","import React, { PropsWithChildren } from \"react\";\nimport omit from \"ramda/es/omit\";\nimport { cn } from \"@kodiak-finance/orderly-ui\";\nimport { Scaffold, SideBarProps } from \"@kodiak-finance/orderly-ui-scaffold\";\nimport { ScaffoldProps } from \"@kodiak-finance/orderly-ui-scaffold\";\n\nexport type TradingRewardsLayoutProps = ScaffoldProps & {\n hideSideBar?: boolean;\n items?: SideBarProps[\"items\"];\n};\n\nexport const TradingRewardsLayout: React.FC<\n PropsWithChildren<TradingRewardsLayoutProps>\n> = (props) => {\n const { children, classNames, ...rest } = props;\n return (\n <Scaffold\n leftSidebar={null}\n routerAdapter={props.routerAdapter}\n classNames={{\n ...classNames,\n content: classNames?.content,\n topNavbar: cn(\"oui-bg-base-9\", classNames?.topNavbar),\n leftSidebar: cn(\n \"oui-rounded-xl oui-bg-base-9\",\n \"oui-m-3 oui-p-4\",\n \"oui-border oui-border-line\",\n classNames?.leftSidebar,\n ),\n }}\n {...omit([\"leftSideProps\"], rest)}\n >\n {children}\n </Scaffold>\n );\n};\n\n// type LeftSidebarProps = SideBarProps & {\n// routerAdapter?: RouterAdapter;\n// };\n\n// const LeftSidebar: React.FC<LeftSidebarProps> = (props) => {\n// const { t } = useTranslation();\n// const { expanded, setExpand } = useScaffoldContext();\n// return (\n// <SideBar\n// title={t(\"tradingRewards.rewards\")}\n// {...props}\n// open={expanded}\n// onOpenChange={(open) => setExpand(open)}\n// onItemSelect={(a) => {\n// props.onItemSelect?.(a);\n// props.routerAdapter?.onRouteChange?.({\n// href: a.href || \"\",\n// name: a.name,\n// });\n// }}\n// />\n// );\n// };\n","import { FC, PropsWithChildren } from \"react\";\nimport { ScaffoldProps } from \"@kodiak-finance/orderly-ui-scaffold\";\nimport { useTradingRewardsLayoutScript } from \"./layout.script\";\nimport { TradingRewardsLayout } from \"./layout.ui\";\n\nexport const TradingRewardsLayoutWidget: FC<\n PropsWithChildren<ScaffoldProps>\n> = (props) => {\n const state = useTradingRewardsLayoutScript({\n current: props.leftSideProps?.current,\n });\n return (\n <TradingRewardsLayout {...state} {...props}>\n {props.children}\n </TradingRewardsLayout>\n );\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kodiak-finance/orderly-trading-rewards",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.19",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"date-fns": "^3.6.0",
|
|
17
17
|
"ramda": "^0.31.3",
|
|
18
|
-
"@kodiak-finance/orderly-hooks": "2.8.
|
|
19
|
-
"@kodiak-finance/orderly-i18n": "2.8.
|
|
20
|
-
"@kodiak-finance/orderly-react-app": "2.8.
|
|
21
|
-
"@kodiak-finance/orderly-types": "2.8.
|
|
22
|
-
"@kodiak-finance/orderly-ui": "2.8.
|
|
23
|
-
"@kodiak-finance/orderly-ui-connector": "2.8.
|
|
24
|
-
"@kodiak-finance/orderly-ui-scaffold": "2.8.
|
|
25
|
-
"@kodiak-finance/orderly-utils": "2.8.
|
|
18
|
+
"@kodiak-finance/orderly-hooks": "2.8.19",
|
|
19
|
+
"@kodiak-finance/orderly-i18n": "2.8.19",
|
|
20
|
+
"@kodiak-finance/orderly-react-app": "2.8.19",
|
|
21
|
+
"@kodiak-finance/orderly-types": "2.8.19",
|
|
22
|
+
"@kodiak-finance/orderly-ui": "2.8.19",
|
|
23
|
+
"@kodiak-finance/orderly-ui-connector": "2.8.19",
|
|
24
|
+
"@kodiak-finance/orderly-ui-scaffold": "2.8.19",
|
|
25
|
+
"@kodiak-finance/orderly-utils": "2.8.19"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/ramda": "^0.29.3",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"tailwindcss": "^3.4.4",
|
|
34
34
|
"tsup": "^7.1.0",
|
|
35
35
|
"typescript": "^5.1.6",
|
|
36
|
-
"tsconfig": "0.11.
|
|
36
|
+
"tsconfig": "0.11.18"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": ">=18",
|