{"version":3,"file":"StakingPage-CFyEFGuQ.js","sources":["../../node_modules/@tabler/icons-react/dist/esm/icons/IconDownload.mjs","../../src/hooks/useStaking.ts","../../src/contexts/StakingContext.tsx","../../src/components/Staking/GovernanceCarousel.tsx","../../node_modules/recharts/es6/shape/Polygon.js","../../node_modules/lodash/maxBy.js","../../node_modules/lodash/minBy.js","../../node_modules/recharts/es6/polar/PolarRadiusAxis.js","../../node_modules/recharts/es6/polar/PolarAngleAxis.js","../../node_modules/recharts/es6/polar/Pie.js","../../node_modules/recharts/es6/chart/PieChart.js","../../node_modules/@mantine/charts/esm/PieChart/PieChart.module.css.mjs","../../node_modules/@mantine/charts/esm/PieChart/PieChart.mjs","../../src/components/Countdown.tsx","../../src/components/Staking/Staking/MSTClock.tsx","../../src/components/Staking/Staking/RewardsRecipients.tsx","../../src/hooks/useStakingBot.ts","../../src/components/Modals/Staking/ManageStakingModal/Collect.tsx","../../src/components/Staking/StakeCalculator.tsx","../../src/components/Modals/Staking/ManageStakingModal/Stake.tsx","../../node_modules/react-csv/src/core.js","../../node_modules/react-csv/src/metaProps.js","../../node_modules/react-csv/src/components/Download.js","../../node_modules/react-csv/src/components/Link.jsx","../../node_modules/react-csv/src/index.js","../../src/components/Tables/WithdrawTable.tsx","../../src/components/Modals/Staking/Withdraw/RestakeConfirmation.tsx","../../src/components/Modals/Staking/Withdraw/WithdrawConfirmation.tsx","../../src/components/Modals/Staking/ManageStakingModal/Withdraw.tsx","../../src/components/Staking/Staking/YourStaking.tsx","../../src/components/Staking/Staking/Staking.tsx","../../src/schemas/staking.schema.ts","../../src/components/Cards/DataCard.tsx","../../src/components/Staking/Supply.tsx","../../src/components/Staking/StakingPage.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.22.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nvar IconDownload = createReactComponent(\"outline\", \"download\", \"IconDownload\", [[\"path\", { \"d\": \"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M7 11l5 5l5 -5\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M12 4l0 12\", \"key\": \"svg-2\" }]]);\n\nexport { IconDownload as default };\n//# sourceMappingURL=IconDownload.mjs.map\n","import { readContract } from '@wagmi/core'\nimport { useEffect, useMemo, useState } from 'react'\n\nimport { STAKE_ADDRESS } from '@/constants/blockchain'\nimport Stake from '@/contracts/Stake'\nimport { useCustomContractRead, useCustomContractReadBalance } from '@/hooks/useCustomContract'\nimport { useAuth } from '@/plugins/auth'\nimport { getWagmiConfig, l1NativeConfig, l1NativeWagmiConfig } from '@/plugins/auth/config'\nimport { CustomError, parseError } from '@/utils/helpers'\nimport { emptyBalance, processBalance, ProcessedBalance } from '@/utils/utils'\n\nimport { useChainValues } from './useChain'\n\nexport type StakedItem = {\n day: number\n amount: ProcessedBalance\n stake: ProcessedBalance\n left: number\n}\n\nexport type StakingHook = {\n staked: ProcessedBalance\n stake: ProcessedBalance\n stakedList: StakedItem[] | undefined\n claimableRewards: ProcessedBalance\n isLoading: boolean\n error: CustomError\n}\n\nexport const EmptyStaking: StakingHook = {\n staked: emptyBalance,\n stake: emptyBalance,\n stakedList: undefined,\n claimableRewards: emptyBalance,\n isLoading: false,\n error: {\n call: '',\n msg: undefined,\n isError: false,\n },\n}\n\nconst useGetUnlockableAndBurnableAmounts = (\n address: `0x${string}`,\n days?: readonly number[],\n deps?: any[]\n) => {\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [value, setValue] = useState<[ProcessedBalance, ProcessedBalance][]>()\n const config = getWagmiConfig()\n\n // Get unlockable + burnable amounts\n const getAmounts = async (): Promise => {\n try {\n if (!days) {\n return\n }\n setIsLoading(true)\n const unlockable = await Promise.all(\n days.map(day =>\n readContract(config, {\n chainId: l1NativeConfig.chainId,\n address: STAKE_ADDRESS,\n abi: Stake,\n functionName: 'unlockable',\n args: [address, day],\n })\n )\n )\n const burnable = await Promise.all(\n days.map(day =>\n readContract(config, {\n chainId: l1NativeConfig.chainId,\n address: STAKE_ADDRESS,\n abi: Stake,\n functionName: 'burnable',\n args: [address, day],\n })\n )\n )\n setValue(unlockable.map((u, i) => [processBalance(u), processBalance(burnable[i])]))\n setIsError(false)\n } catch (error: any) {\n setIsError(true)\n }\n setIsLoading(false)\n }\n\n // Fetch on changes to address or days\n useEffect(() => {\n if (address && days && days.length > 0) {\n getAmounts()\n }\n }, [address, days, ...(deps || [])])\n\n return {\n value,\n isLoading,\n error: { call: 'getUnlockableAmounts', msg: isError ? '' : undefined, isError },\n }\n}\n\nconst maxDays = 30\n\nconst useGetRewards = (address: `0x${string}`, startDay?: number, endDay?: number) => {\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [value, setValue] = useState(processBalance(BigInt(0)))\n const config = getWagmiConfig()\n\n // Get rewards in batches if necessary\n const getRewards = async (start: number, end: number): Promise => {\n try {\n if (start > end) {\n setValue(processBalance(BigInt(0)))\n return\n }\n setIsLoading(true)\n const numBatches = Math.ceil((1 + end - start) / maxDays)\n const batches: [number, number][] = []\n for (let i = 0; i < numBatches; i++) {\n const batchStart = start + i * maxDays\n const batchEnd = Math.min(start + (i + 1) * maxDays, end)\n batches.push([batchStart, batchEnd])\n }\n const values = await Promise.all(\n batches.map(([s, e]) =>\n readContract(config, {\n chainId: l1NativeConfig.chainId,\n address: STAKE_ADDRESS,\n abi: Stake,\n functionName: 'claimableRL1Range',\n args: [address, s, e],\n })\n )\n )\n const total = values.reduce((acc, val) => acc + (val as bigint), BigInt(0))\n setValue(processBalance(total))\n setIsError(false)\n } catch (error: any) {\n setIsError(true)\n }\n setIsLoading(false)\n }\n\n // Fetch on changes to start day or last day\n useEffect(() => {\n if (address && startDay !== undefined && endDay !== undefined) {\n getRewards(startDay, endDay)\n }\n }, [address, startDay, endDay])\n\n return {\n value,\n isLoading,\n error: { call: 'claimableRL1Range', msg: isError ? '' : undefined, isError },\n }\n}\n\nexport const useStaking = (): StakingHook => {\n const { address } = useAuth()\n\n // Get block number\n const { blockNumber } = useChainValues(l1NativeWagmiConfig.id)\n\n // User staked balance\n const {\n value: staked,\n isLoading: isLoadingStaked,\n error: errorStaked,\n } = useCustomContractReadBalance(\n {\n chainId: l1NativeWagmiConfig.id,\n address: STAKE_ADDRESS,\n args: [address as `0x${string}`],\n abi: Stake,\n functionName: 'locked',\n },\n blockNumber,\n !!address\n )\n\n // User stake balance\n const {\n value: stake,\n isLoading: isLoadingStake,\n error: errorStake,\n } = useCustomContractReadBalance(\n {\n chainId: l1NativeWagmiConfig.id,\n address: STAKE_ADDRESS,\n args: [address as `0x${string}`],\n abi: Stake,\n functionName: 'balanceOf',\n },\n blockNumber,\n !!address\n )\n\n // Check if staking has started\n const {\n value: started,\n isLoading: isLoadingHasStarted,\n error: errorHasStarted,\n } = useCustomContractRead(\n {\n chainId: l1NativeWagmiConfig.id,\n address: STAKE_ADDRESS,\n args: [],\n abi: Stake,\n functionName: 'hasStarted',\n },\n blockNumber\n )\n\n // Today\n const { value: today, isLoading: isLoadingToday } = useCustomContractRead(\n {\n chainId: l1NativeWagmiConfig.id,\n address: STAKE_ADDRESS,\n args: [],\n abi: Stake,\n functionName: 'today',\n },\n blockNumber,\n started || false\n )\n\n // User unlockable days\n const {\n value: unlockableDays,\n isLoading: isLoadingunlockableDays,\n error: errorunlockableDays,\n } = useCustomContractRead(\n {\n chainId: l1NativeWagmiConfig.id,\n address: STAKE_ADDRESS,\n args: [address as `0x${string}`],\n abi: Stake,\n functionName: 'getUnlockableDays',\n },\n blockNumber,\n !!address\n )\n\n // User unlockable + burnable amounts\n const {\n value: unlockableAmounts,\n isLoading: isLoadingUnlockableAmounts,\n error: errorUnlockableAmounts,\n } = useGetUnlockableAndBurnableAmounts(address as `0x${string}`, unlockableDays, [stake])\n // NOTE: pass stake as a dependency to recalculate unlockableAmounts when stake token value changes\n // This is necessary on withdraw, since stake tokens are burnt but unlockableDays doesn't change\n // On staking, unlockableDays changes, so it should be fine\n\n // User staked list\n const stakedList: StakedItem[] | undefined = useMemo(() => {\n if (\n today !== undefined &&\n unlockableDays &&\n unlockableAmounts &&\n unlockableDays.length === unlockableAmounts.length\n ) {\n return unlockableDays\n .map((day, i) => ({\n day,\n amount: unlockableAmounts[i][0],\n stake: unlockableAmounts[i][1],\n left: day - today, // days left to unlock (negative means stake can be withdrawn)\n }))\n .filter(({ amount }) => amount?.value > 0) // Filter out 0 amounts (already withdrawn)\n .sort((a, b) => a.day - b.day) // Sort by day\n }\n return undefined\n }, [today, unlockableDays, unlockableAmounts])\n\n // Compute user available rewards\n\n // Get first day user staked\n // This comes from stake balance changes index 0\n const {\n value: stakeBalanceChanges,\n isLoading: isLoadingStakeBalanceChanges,\n error: errorStakeBalanceChanges,\n } = useCustomContractRead(\n {\n chainId: l1NativeWagmiConfig.id,\n address: STAKE_ADDRESS,\n args: [address as `0x${string}`],\n abi: Stake,\n functionName: 'getStakeBalanceChanges',\n },\n blockNumber,\n !!address\n )\n\n // Get user largest claimed day\n const {\n value: largestClaimedDay,\n isLoading: isLoadingLargestClaimedDay,\n error: errorLargestClaimedDay,\n } = useCustomContractRead(\n {\n chainId: l1NativeWagmiConfig.id,\n address: STAKE_ADDRESS,\n args: [address as `0x${string}`],\n abi: Stake,\n functionName: 'largestClaimedDay',\n },\n blockNumber,\n !!address\n )\n\n // Start day\n // This is the first day the user staked OR the largest claimed day + 1\n // if user has claimed before\n const startDay = useMemo(() => {\n if (largestClaimedDay && largestClaimedDay > 0) {\n return largestClaimedDay + 1\n }\n if (stakeBalanceChanges && stakeBalanceChanges.length > 0) {\n return stakeBalanceChanges[0].day\n }\n return undefined\n }, [largestClaimedDay, stakeBalanceChanges])\n\n // Last day\n const lastDay = useMemo(() => {\n if (today) {\n return today - 1\n }\n if (today === 0) {\n return 0\n }\n return undefined\n }, [today])\n\n // Compute claimable rewards\n const {\n value: claimableRewards,\n isLoading: isLoadingClaimableRewards,\n error: errorClaimableRewards,\n } = useGetRewards(address as `0x${string}`, startDay, lastDay)\n\n // Loading\n const isLoading = useMemo(\n () =>\n isLoadingStaked ||\n isLoadingStake ||\n isLoadingHasStarted ||\n isLoadingToday ||\n isLoadingunlockableDays ||\n isLoadingUnlockableAmounts ||\n isLoadingStakeBalanceChanges ||\n isLoadingLargestClaimedDay ||\n isLoadingClaimableRewards,\n [\n isLoadingStaked,\n isLoadingStake,\n isLoadingHasStarted,\n isLoadingToday,\n isLoadingunlockableDays,\n isLoadingUnlockableAmounts,\n isLoadingStakeBalanceChanges,\n isLoadingLargestClaimedDay,\n isLoadingClaimableRewards,\n ]\n )\n\n // Error\n const errors = [\n errorStaked,\n errorStake,\n errorHasStarted,\n errorunlockableDays,\n errorUnlockableAmounts,\n errorStakeBalanceChanges,\n errorLargestClaimedDay,\n errorClaimableRewards,\n ]\n const error = useMemo(() => parseError(errors), errors)\n\n return {\n staked,\n stake,\n stakedList,\n claimableRewards,\n isLoading,\n error: {\n call: `staking.${error.call}`,\n msg: error.msg,\n isError: error.isError,\n },\n }\n}\n","import { createContext, ReactNode, useContext } from 'react'\n\nimport { EmptyStaking, StakingHook, useStaking } from '@/hooks/useStaking'\n\ntype WithChildren = {\n children?: ReactNode\n}\n\nconst StakingContext = createContext(EmptyStaking)\n\nexport const StakingProvider: React.FC = ({ children }) => {\n const value = useStaking()\n return {children}\n}\n\nexport const useStakingContext = () => useContext(StakingContext)\n","import { Carousel } from '@mantine/carousel'\nimport { Stack, Title, useMantineTheme } from '@mantine/core'\nimport { useMediaQuery } from '@mantine/hooks'\nimport { IconCaretLeftFilled, IconCaretRightFilled } from '@tabler/icons-react'\nimport React, { useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { useErrorMessages } from '../../constants/content'\nimport useSessionStorage from '../../hooks/useSessionStorage'\nimport { Entry, GOVERNANCE_CAROUSEL_CONTENT_TYPE } from '../../plugins/contentful/api'\nimport client from '../../plugins/contentful/client'\nimport {\n GalleryElementsImagesByEntryId,\n pullGalleryImage,\n wrapData,\n} from '../Discover/DiscoverCarousel'\nimport ErrorMessage from '../ErrorMessage'\nimport { CTACard } from '../GetStarted'\nimport Loading from '../Loading'\n\nconst GovernanceCarousel: React.FC = () => {\n const {\n t,\n i18n: { language },\n } = useTranslation()\n const errorMessages = useErrorMessages()\n const theme = useMantineTheme()\n const isMobile = useMediaQuery(`(max-width: ${theme.breakpoints.sm})`)\n const [isLoading, setIsLoading] = useState(false)\n const [error, setError] = useState('')\n const [governanceCarousel, setGovernanceCarousel] = useSessionStorage(\n `governanceCarousel-${language}`,\n []\n )\n const [galleryImageByEntry, setGalleryImageByEntry] = useState({})\n\n useEffect(() => {\n if (!governanceCarousel.length) {\n setIsLoading(true)\n client\n .getEntries({ content_type: GOVERNANCE_CAROUSEL_CONTENT_TYPE, locale: language })\n .then((response: any) => {\n const sortedContent = response.items.sort(\n (a: Entry, b: Entry) => a.fields.order - b.fields.order\n )\n setGovernanceCarousel(sortedContent)\n })\n .catch((err: any) => {\n setError(err.message)\n setIsLoading(false)\n })\n .finally(() => {\n setIsLoading(false)\n })\n }\n }, [governanceCarousel, setGovernanceCarousel, t, language])\n\n useEffect(() => {\n if (governanceCarousel) {\n setGalleryImageByEntry(oldGalleryImageByEntry =>\n pullGalleryImage(governanceCarousel, oldGalleryImageByEntry, setGalleryImageByEntry)\n )\n }\n }, [governanceCarousel])\n\n return (\n \n \n {t('components.staking.carouselTitle', 'Helpful Resources')}\n \n {isLoading && }\n {error && }\n {!isLoading && !error && (\n \n }\n nextControlIcon={}\n >\n {governanceCarousel &&\n governanceCarousel.map((elem, index) => {\n const card = wrapData(elem, galleryImageByEntry)\n return (\n \n \n \n )\n })}\n \n \n )}\n \n )\n}\n\nexport default GovernanceCarousel\n","var _excluded = [\"points\", \"className\", \"baseLinePoints\", \"connectNulls\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\n/**\n * @fileOverview Polygon\n */\nimport React from 'react';\nimport clsx from 'clsx';\nimport { filterProps } from '../util/ReactUtils';\nvar isValidatePoint = function isValidatePoint(point) {\n return point && point.x === +point.x && point.y === +point.y;\n};\nvar getParsedPoints = function getParsedPoints() {\n var points = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var segmentPoints = [[]];\n points.forEach(function (entry) {\n if (isValidatePoint(entry)) {\n segmentPoints[segmentPoints.length - 1].push(entry);\n } else if (segmentPoints[segmentPoints.length - 1].length > 0) {\n // add another path\n segmentPoints.push([]);\n }\n });\n if (isValidatePoint(points[0])) {\n segmentPoints[segmentPoints.length - 1].push(points[0]);\n }\n if (segmentPoints[segmentPoints.length - 1].length <= 0) {\n segmentPoints = segmentPoints.slice(0, -1);\n }\n return segmentPoints;\n};\nvar getSinglePolygonPath = function getSinglePolygonPath(points, connectNulls) {\n var segmentPoints = getParsedPoints(points);\n if (connectNulls) {\n segmentPoints = [segmentPoints.reduce(function (res, segPoints) {\n return [].concat(_toConsumableArray(res), _toConsumableArray(segPoints));\n }, [])];\n }\n var polygonPath = segmentPoints.map(function (segPoints) {\n return segPoints.reduce(function (path, point, index) {\n return \"\".concat(path).concat(index === 0 ? 'M' : 'L').concat(point.x, \",\").concat(point.y);\n }, '');\n }).join('');\n return segmentPoints.length === 1 ? \"\".concat(polygonPath, \"Z\") : polygonPath;\n};\nvar getRanglePath = function getRanglePath(points, baseLinePoints, connectNulls) {\n var outerPath = getSinglePolygonPath(points, connectNulls);\n return \"\".concat(outerPath.slice(-1) === 'Z' ? outerPath.slice(0, -1) : outerPath, \"L\").concat(getSinglePolygonPath(baseLinePoints.reverse(), connectNulls).slice(1));\n};\nexport var Polygon = function Polygon(props) {\n var points = props.points,\n className = props.className,\n baseLinePoints = props.baseLinePoints,\n connectNulls = props.connectNulls,\n others = _objectWithoutProperties(props, _excluded);\n if (!points || !points.length) {\n return null;\n }\n var layerClass = clsx('recharts-polygon', className);\n if (baseLinePoints && baseLinePoints.length) {\n var hasStroke = others.stroke && others.stroke !== 'none';\n var rangePath = getRanglePath(points, baseLinePoints, connectNulls);\n return /*#__PURE__*/React.createElement(\"g\", {\n className: layerClass\n }, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(others, true), {\n fill: rangePath.slice(-1) === 'Z' ? others.fill : 'none',\n stroke: \"none\",\n d: rangePath\n })), hasStroke ? /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(others, true), {\n fill: \"none\",\n d: getSinglePolygonPath(points, connectNulls)\n })) : null, hasStroke ? /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(others, true), {\n fill: \"none\",\n d: getSinglePolygonPath(baseLinePoints, connectNulls)\n })) : null);\n }\n var singlePath = getSinglePolygonPath(points, connectNulls);\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(others, true), {\n fill: singlePath.slice(-1) === 'Z' ? others.fill : 'none',\n className: layerClass,\n d: singlePath\n }));\n};","var baseExtremum = require('./_baseExtremum'),\n baseGt = require('./_baseGt'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * This method is like `_.max` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.maxBy(objects, function(o) { return o.n; });\n * // => { 'n': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.maxBy(objects, 'n');\n * // => { 'n': 2 }\n */\nfunction maxBy(array, iteratee) {\n return (array && array.length)\n ? baseExtremum(array, baseIteratee(iteratee, 2), baseGt)\n : undefined;\n}\n\nmodule.exports = maxBy;\n","var baseExtremum = require('./_baseExtremum'),\n baseIteratee = require('./_baseIteratee'),\n baseLt = require('./_baseLt');\n\n/**\n * This method is like `_.min` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.minBy(objects, function(o) { return o.n; });\n * // => { 'n': 1 }\n *\n * // The `_.property` iteratee shorthand.\n * _.minBy(objects, 'n');\n * // => { 'n': 1 }\n */\nfunction minBy(array, iteratee) {\n return (array && array.length)\n ? baseExtremum(array, baseIteratee(iteratee, 2), baseLt)\n : undefined;\n}\n\nmodule.exports = minBy;\n","var _excluded = [\"cx\", \"cy\", \"angle\", \"ticks\", \"axisLine\"],\n _excluded2 = [\"ticks\", \"tick\", \"angle\", \"tickFormatter\", \"stroke\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview The axis of polar coordinate system\n */\nimport React, { PureComponent } from 'react';\nimport maxBy from 'lodash/maxBy';\nimport minBy from 'lodash/minBy';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { Layer } from '../container/Layer';\nimport { getTickClassName, polarToCartesian } from '../util/PolarUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nexport var PolarRadiusAxis = /*#__PURE__*/function (_PureComponent) {\n function PolarRadiusAxis() {\n _classCallCheck(this, PolarRadiusAxis);\n return _callSuper(this, PolarRadiusAxis, arguments);\n }\n _inherits(PolarRadiusAxis, _PureComponent);\n return _createClass(PolarRadiusAxis, [{\n key: \"getTickValueCoord\",\n value:\n /**\n * Calculate the coordinate of tick\n * @param {Number} coordinate The radius of tick\n * @return {Object} (x, y)\n */\n function getTickValueCoord(_ref) {\n var coordinate = _ref.coordinate;\n var _this$props = this.props,\n angle = _this$props.angle,\n cx = _this$props.cx,\n cy = _this$props.cy;\n return polarToCartesian(cx, cy, coordinate, angle);\n }\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor() {\n var orientation = this.props.orientation;\n var textAnchor;\n switch (orientation) {\n case 'left':\n textAnchor = 'end';\n break;\n case 'right':\n textAnchor = 'start';\n break;\n default:\n textAnchor = 'middle';\n break;\n }\n return textAnchor;\n }\n }, {\n key: \"getViewBox\",\n value: function getViewBox() {\n var _this$props2 = this.props,\n cx = _this$props2.cx,\n cy = _this$props2.cy,\n angle = _this$props2.angle,\n ticks = _this$props2.ticks;\n var maxRadiusTick = maxBy(ticks, function (entry) {\n return entry.coordinate || 0;\n });\n var minRadiusTick = minBy(ticks, function (entry) {\n return entry.coordinate || 0;\n });\n return {\n cx: cx,\n cy: cy,\n startAngle: angle,\n endAngle: angle,\n innerRadius: minRadiusTick.coordinate || 0,\n outerRadius: maxRadiusTick.coordinate || 0\n };\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props3 = this.props,\n cx = _this$props3.cx,\n cy = _this$props3.cy,\n angle = _this$props3.angle,\n ticks = _this$props3.ticks,\n axisLine = _this$props3.axisLine,\n others = _objectWithoutProperties(_this$props3, _excluded);\n var extent = ticks.reduce(function (result, entry) {\n return [Math.min(result[0], entry.coordinate), Math.max(result[1], entry.coordinate)];\n }, [Infinity, -Infinity]);\n var point0 = polarToCartesian(cx, cy, extent[0], angle);\n var point1 = polarToCartesian(cx, cy, extent[1], angle);\n var props = _objectSpread(_objectSpread(_objectSpread({}, filterProps(others, false)), {}, {\n fill: 'none'\n }, filterProps(axisLine, false)), {}, {\n x1: point0.x,\n y1: point0.y,\n x2: point1.x,\n y2: point1.y\n });\n return /*#__PURE__*/React.createElement(\"line\", _extends({\n className: \"recharts-polar-radius-axis-line\"\n }, props));\n }\n }, {\n key: \"renderTicks\",\n value: function renderTicks() {\n var _this = this;\n var _this$props4 = this.props,\n ticks = _this$props4.ticks,\n tick = _this$props4.tick,\n angle = _this$props4.angle,\n tickFormatter = _this$props4.tickFormatter,\n stroke = _this$props4.stroke,\n others = _objectWithoutProperties(_this$props4, _excluded2);\n var textAnchor = this.getTickTextAnchor();\n var axisProps = filterProps(others, false);\n var customTickProps = filterProps(tick, false);\n var items = ticks.map(function (entry, i) {\n var coord = _this.getTickValueCoord(entry);\n var tickProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n textAnchor: textAnchor,\n transform: \"rotate(\".concat(90 - angle, \", \").concat(coord.x, \", \").concat(coord.y, \")\")\n }, axisProps), {}, {\n stroke: 'none',\n fill: stroke\n }, customTickProps), {}, {\n index: i\n }, coord), {}, {\n payload: entry\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: clsx('recharts-polar-radius-axis-tick', getTickClassName(tick)),\n key: \"tick-\".concat(entry.coordinate)\n }, adaptEventsOfChild(_this.props, entry, i)), PolarRadiusAxis.renderTickItem(tick, tickProps, tickFormatter ? tickFormatter(entry.value, i) : entry.value));\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-polar-radius-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props5 = this.props,\n ticks = _this$props5.ticks,\n axisLine = _this$props5.axisLine,\n tick = _this$props5.tick;\n if (!ticks || !ticks.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('recharts-polar-radius-axis', this.props.className)\n }, axisLine && this.renderAxisLine(), tick && this.renderTicks(), Label.renderCallByParent(this.props, this.getViewBox()));\n }\n }], [{\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n tickItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n tickItem = option(props);\n } else {\n tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n className: \"recharts-polar-radius-axis-tick-value\"\n }), value);\n }\n return tickItem;\n }\n }]);\n}(PureComponent);\n_defineProperty(PolarRadiusAxis, \"displayName\", 'PolarRadiusAxis');\n_defineProperty(PolarRadiusAxis, \"axisType\", 'radiusAxis');\n_defineProperty(PolarRadiusAxis, \"defaultProps\", {\n type: 'number',\n radiusAxisId: 0,\n cx: 0,\n cy: 0,\n angle: 0,\n orientation: 'right',\n stroke: '#ccc',\n axisLine: true,\n tick: true,\n tickCount: 5,\n allowDataOverflow: false,\n scale: 'auto',\n allowDuplicatedCategory: true\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Axis of radial direction\n */\nimport React, { PureComponent } from 'react';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { Layer } from '../container/Layer';\nimport { Dot } from '../shape/Dot';\nimport { Polygon } from '../shape/Polygon';\nimport { Text } from '../component/Text';\nimport { adaptEventsOfChild } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nimport { getTickClassName, polarToCartesian } from '../util/PolarUtils';\nvar RADIAN = Math.PI / 180;\nvar eps = 1e-5;\nexport var PolarAngleAxis = /*#__PURE__*/function (_PureComponent) {\n function PolarAngleAxis() {\n _classCallCheck(this, PolarAngleAxis);\n return _callSuper(this, PolarAngleAxis, arguments);\n }\n _inherits(PolarAngleAxis, _PureComponent);\n return _createClass(PolarAngleAxis, [{\n key: \"getTickLineCoord\",\n value:\n /**\n * Calculate the coordinate of line endpoint\n * @param {Object} data The Data if ticks\n * @return {Object} (x0, y0): The start point of text,\n * (x1, y1): The end point close to text,\n * (x2, y2): The end point close to axis\n */\n function getTickLineCoord(data) {\n var _this$props = this.props,\n cx = _this$props.cx,\n cy = _this$props.cy,\n radius = _this$props.radius,\n orientation = _this$props.orientation,\n tickSize = _this$props.tickSize;\n var tickLineSize = tickSize || 8;\n var p1 = polarToCartesian(cx, cy, radius, data.coordinate);\n var p2 = polarToCartesian(cx, cy, radius + (orientation === 'inner' ? -1 : 1) * tickLineSize, data.coordinate);\n return {\n x1: p1.x,\n y1: p1.y,\n x2: p2.x,\n y2: p2.y\n };\n }\n\n /**\n * Get the text-anchor of each tick\n * @param {Object} data Data of ticks\n * @return {String} text-anchor\n */\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor(data) {\n var orientation = this.props.orientation;\n var cos = Math.cos(-data.coordinate * RADIAN);\n var textAnchor;\n if (cos > eps) {\n textAnchor = orientation === 'outer' ? 'start' : 'end';\n } else if (cos < -eps) {\n textAnchor = orientation === 'outer' ? 'end' : 'start';\n } else {\n textAnchor = 'middle';\n }\n return textAnchor;\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props2 = this.props,\n cx = _this$props2.cx,\n cy = _this$props2.cy,\n radius = _this$props2.radius,\n axisLine = _this$props2.axisLine,\n axisLineType = _this$props2.axisLineType;\n var props = _objectSpread(_objectSpread({}, filterProps(this.props, false)), {}, {\n fill: 'none'\n }, filterProps(axisLine, false));\n if (axisLineType === 'circle') {\n return /*#__PURE__*/React.createElement(Dot, _extends({\n className: \"recharts-polar-angle-axis-line\"\n }, props, {\n cx: cx,\n cy: cy,\n r: radius\n }));\n }\n var ticks = this.props.ticks;\n var points = ticks.map(function (entry) {\n return polarToCartesian(cx, cy, radius, entry.coordinate);\n });\n return /*#__PURE__*/React.createElement(Polygon, _extends({\n className: \"recharts-polar-angle-axis-line\"\n }, props, {\n points: points\n }));\n }\n }, {\n key: \"renderTicks\",\n value: function renderTicks() {\n var _this = this;\n var _this$props3 = this.props,\n ticks = _this$props3.ticks,\n tick = _this$props3.tick,\n tickLine = _this$props3.tickLine,\n tickFormatter = _this$props3.tickFormatter,\n stroke = _this$props3.stroke;\n var axisProps = filterProps(this.props, false);\n var customTickProps = filterProps(tick, false);\n var tickLineProps = _objectSpread(_objectSpread({}, axisProps), {}, {\n fill: 'none'\n }, filterProps(tickLine, false));\n var items = ticks.map(function (entry, i) {\n var lineCoord = _this.getTickLineCoord(entry);\n var textAnchor = _this.getTickTextAnchor(entry);\n var tickProps = _objectSpread(_objectSpread(_objectSpread({\n textAnchor: textAnchor\n }, axisProps), {}, {\n stroke: 'none',\n fill: stroke\n }, customTickProps), {}, {\n index: i,\n payload: entry,\n x: lineCoord.x2,\n y: lineCoord.y2\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: clsx('recharts-polar-angle-axis-tick', getTickClassName(tick)),\n key: \"tick-\".concat(entry.coordinate)\n }, adaptEventsOfChild(_this.props, entry, i)), tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({\n className: \"recharts-polar-angle-axis-tick-line\"\n }, tickLineProps, lineCoord)), tick && PolarAngleAxis.renderTickItem(tick, tickProps, tickFormatter ? tickFormatter(entry.value, i) : entry.value));\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-polar-angle-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n ticks = _this$props4.ticks,\n radius = _this$props4.radius,\n axisLine = _this$props4.axisLine;\n if (radius <= 0 || !ticks || !ticks.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('recharts-polar-angle-axis', this.props.className)\n }, axisLine && this.renderAxisLine(), this.renderTicks());\n }\n }], [{\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n tickItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n tickItem = option(props);\n } else {\n tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n className: \"recharts-polar-angle-axis-tick-value\"\n }), value);\n }\n return tickItem;\n }\n }]);\n}(PureComponent);\n_defineProperty(PolarAngleAxis, \"displayName\", 'PolarAngleAxis');\n_defineProperty(PolarAngleAxis, \"axisType\", 'angleAxis');\n_defineProperty(PolarAngleAxis, \"defaultProps\", {\n type: 'category',\n angleAxisId: 0,\n scale: 'auto',\n cx: 0,\n cy: 0,\n orientation: 'outer',\n axisLine: true,\n tickLine: true,\n tickSize: 8,\n tick: true,\n hide: false,\n allowDuplicatedCategory: true\n});","var _Pie;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Render sectors of a pie\n */\nimport React, { PureComponent } from 'react';\nimport Animate from 'react-smooth';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport isNil from 'lodash/isNil';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { Layer } from '../container/Layer';\nimport { Curve } from '../shape/Curve';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { LabelList } from '../component/LabelList';\nimport { Cell } from '../component/Cell';\nimport { findAllByType, filterProps } from '../util/ReactUtils';\nimport { Global } from '../util/Global';\nimport { polarToCartesian, getMaxRadius } from '../util/PolarUtils';\nimport { isNumber, getPercentValue, mathSign, interpolateNumber, uniqueId } from '../util/DataUtils';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport { warn } from '../util/LogUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { Shape } from '../util/ActiveShapeUtils';\nexport var Pie = /*#__PURE__*/function (_PureComponent) {\n function Pie(props) {\n var _this;\n _classCallCheck(this, Pie);\n _this = _callSuper(this, Pie, [props]);\n _defineProperty(_this, \"pieRef\", null);\n _defineProperty(_this, \"sectorRefs\", []);\n _defineProperty(_this, \"id\", uniqueId('recharts-pie-'));\n _defineProperty(_this, \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n });\n _defineProperty(_this, \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n });\n _this.state = {\n isAnimationFinished: !props.isAnimationActive,\n prevIsAnimationActive: props.isAnimationActive,\n prevAnimationId: props.animationId,\n sectorToFocus: 0\n };\n return _this;\n }\n _inherits(Pie, _PureComponent);\n return _createClass(Pie, [{\n key: \"isActiveIndex\",\n value: function isActiveIndex(i) {\n var activeIndex = this.props.activeIndex;\n if (Array.isArray(activeIndex)) {\n return activeIndex.indexOf(i) !== -1;\n }\n return i === activeIndex;\n }\n }, {\n key: \"hasActiveIndex\",\n value: function hasActiveIndex() {\n var activeIndex = this.props.activeIndex;\n return Array.isArray(activeIndex) ? activeIndex.length !== 0 : activeIndex || activeIndex === 0;\n }\n }, {\n key: \"renderLabels\",\n value: function renderLabels(sectors) {\n var isAnimationActive = this.props.isAnimationActive;\n if (isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n var _this$props = this.props,\n label = _this$props.label,\n labelLine = _this$props.labelLine,\n dataKey = _this$props.dataKey,\n valueKey = _this$props.valueKey;\n var pieProps = filterProps(this.props, false);\n var customLabelProps = filterProps(label, false);\n var customLabelLineProps = filterProps(labelLine, false);\n var offsetRadius = label && label.offsetRadius || 20;\n var labels = sectors.map(function (entry, i) {\n var midAngle = (entry.startAngle + entry.endAngle) / 2;\n var endPoint = polarToCartesian(entry.cx, entry.cy, entry.outerRadius + offsetRadius, midAngle);\n var labelProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, pieProps), entry), {}, {\n stroke: 'none'\n }, customLabelProps), {}, {\n index: i,\n textAnchor: Pie.getTextAnchor(endPoint.x, entry.cx)\n }, endPoint);\n var lineProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, pieProps), entry), {}, {\n fill: 'none',\n stroke: entry.fill\n }, customLabelLineProps), {}, {\n index: i,\n points: [polarToCartesian(entry.cx, entry.cy, entry.outerRadius, midAngle), endPoint]\n });\n var realDataKey = dataKey;\n // TODO: compatible to lower versions\n if (isNil(dataKey) && isNil(valueKey)) {\n realDataKey = 'value';\n } else if (isNil(dataKey)) {\n realDataKey = valueKey;\n }\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(Layer, {\n key: \"label-\".concat(entry.startAngle, \"-\").concat(entry.endAngle, \"-\").concat(entry.midAngle, \"-\").concat(i)\n }, labelLine && Pie.renderLabelLineItem(labelLine, lineProps, 'line'), Pie.renderLabelItem(label, labelProps, getValueByDataKey(entry, realDataKey)))\n );\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-pie-labels\"\n }, labels);\n }\n }, {\n key: \"renderSectorsStatically\",\n value: function renderSectorsStatically(sectors) {\n var _this2 = this;\n var _this$props2 = this.props,\n activeShape = _this$props2.activeShape,\n blendStroke = _this$props2.blendStroke,\n inactiveShapeProp = _this$props2.inactiveShape;\n return sectors.map(function (entry, i) {\n if ((entry === null || entry === void 0 ? void 0 : entry.startAngle) === 0 && (entry === null || entry === void 0 ? void 0 : entry.endAngle) === 0 && sectors.length !== 1) return null;\n var isActive = _this2.isActiveIndex(i);\n var inactiveShape = inactiveShapeProp && _this2.hasActiveIndex() ? inactiveShapeProp : null;\n var sectorOptions = isActive ? activeShape : inactiveShape;\n var sectorProps = _objectSpread(_objectSpread({}, entry), {}, {\n stroke: blendStroke ? entry.fill : entry.stroke,\n tabIndex: -1\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n ref: function ref(_ref) {\n if (_ref && !_this2.sectorRefs.includes(_ref)) {\n _this2.sectorRefs.push(_ref);\n }\n },\n tabIndex: -1,\n className: \"recharts-pie-sector\"\n }, adaptEventsOfChild(_this2.props, entry, i), {\n // eslint-disable-next-line react/no-array-index-key\n key: \"sector-\".concat(entry === null || entry === void 0 ? void 0 : entry.startAngle, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.endAngle, \"-\").concat(entry.midAngle, \"-\").concat(i)\n }), /*#__PURE__*/React.createElement(Shape, _extends({\n option: sectorOptions,\n isActive: isActive,\n shapeType: \"sector\"\n }, sectorProps)));\n });\n }\n }, {\n key: \"renderSectorsWithAnimation\",\n value: function renderSectorsWithAnimation() {\n var _this3 = this;\n var _this$props3 = this.props,\n sectors = _this$props3.sectors,\n isAnimationActive = _this$props3.isAnimationActive,\n animationBegin = _this$props3.animationBegin,\n animationDuration = _this$props3.animationDuration,\n animationEasing = _this$props3.animationEasing,\n animationId = _this$props3.animationId;\n var _this$state = this.state,\n prevSectors = _this$state.prevSectors,\n prevIsAnimationActive = _this$state.prevIsAnimationActive;\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"pie-\".concat(animationId, \"-\").concat(prevIsAnimationActive),\n onAnimationStart: this.handleAnimationStart,\n onAnimationEnd: this.handleAnimationEnd\n }, function (_ref2) {\n var t = _ref2.t;\n var stepData = [];\n var first = sectors && sectors[0];\n var curAngle = first.startAngle;\n sectors.forEach(function (entry, index) {\n var prev = prevSectors && prevSectors[index];\n var paddingAngle = index > 0 ? get(entry, 'paddingAngle', 0) : 0;\n if (prev) {\n var angleIp = interpolateNumber(prev.endAngle - prev.startAngle, entry.endAngle - entry.startAngle);\n var latest = _objectSpread(_objectSpread({}, entry), {}, {\n startAngle: curAngle + paddingAngle,\n endAngle: curAngle + angleIp(t) + paddingAngle\n });\n stepData.push(latest);\n curAngle = latest.endAngle;\n } else {\n var endAngle = entry.endAngle,\n startAngle = entry.startAngle;\n var interpolatorAngle = interpolateNumber(0, endAngle - startAngle);\n var deltaAngle = interpolatorAngle(t);\n var _latest = _objectSpread(_objectSpread({}, entry), {}, {\n startAngle: curAngle + paddingAngle,\n endAngle: curAngle + deltaAngle + paddingAngle\n });\n stepData.push(_latest);\n curAngle = _latest.endAngle;\n }\n });\n return /*#__PURE__*/React.createElement(Layer, null, _this3.renderSectorsStatically(stepData));\n });\n }\n }, {\n key: \"attachKeyboardHandlers\",\n value: function attachKeyboardHandlers(pieRef) {\n var _this4 = this;\n // eslint-disable-next-line no-param-reassign\n pieRef.onkeydown = function (e) {\n if (!e.altKey) {\n switch (e.key) {\n case 'ArrowLeft':\n {\n var next = ++_this4.state.sectorToFocus % _this4.sectorRefs.length;\n _this4.sectorRefs[next].focus();\n _this4.setState({\n sectorToFocus: next\n });\n break;\n }\n case 'ArrowRight':\n {\n var _next = --_this4.state.sectorToFocus < 0 ? _this4.sectorRefs.length - 1 : _this4.state.sectorToFocus % _this4.sectorRefs.length;\n _this4.sectorRefs[_next].focus();\n _this4.setState({\n sectorToFocus: _next\n });\n break;\n }\n case 'Escape':\n {\n _this4.sectorRefs[_this4.state.sectorToFocus].blur();\n _this4.setState({\n sectorToFocus: 0\n });\n break;\n }\n default:\n {\n // There is nothing to do here\n }\n }\n }\n };\n }\n }, {\n key: \"renderSectors\",\n value: function renderSectors() {\n var _this$props4 = this.props,\n sectors = _this$props4.sectors,\n isAnimationActive = _this$props4.isAnimationActive;\n var prevSectors = this.state.prevSectors;\n if (isAnimationActive && sectors && sectors.length && (!prevSectors || !isEqual(prevSectors, sectors))) {\n return this.renderSectorsWithAnimation();\n }\n return this.renderSectorsStatically(sectors);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.pieRef) {\n this.attachKeyboardHandlers(this.pieRef);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this5 = this;\n var _this$props5 = this.props,\n hide = _this$props5.hide,\n sectors = _this$props5.sectors,\n className = _this$props5.className,\n label = _this$props5.label,\n cx = _this$props5.cx,\n cy = _this$props5.cy,\n innerRadius = _this$props5.innerRadius,\n outerRadius = _this$props5.outerRadius,\n isAnimationActive = _this$props5.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n if (hide || !sectors || !sectors.length || !isNumber(cx) || !isNumber(cy) || !isNumber(innerRadius) || !isNumber(outerRadius)) {\n return null;\n }\n var layerClass = clsx('recharts-pie', className);\n return /*#__PURE__*/React.createElement(Layer, {\n tabIndex: this.props.rootTabIndex,\n className: layerClass,\n ref: function ref(_ref3) {\n _this5.pieRef = _ref3;\n }\n }, this.renderSectors(), label && this.renderLabels(sectors), Label.renderCallByParent(this.props, null, false), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, sectors, false));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (prevState.prevIsAnimationActive !== nextProps.isAnimationActive) {\n return {\n prevIsAnimationActive: nextProps.isAnimationActive,\n prevAnimationId: nextProps.animationId,\n curSectors: nextProps.sectors,\n prevSectors: [],\n isAnimationFinished: true\n };\n }\n if (nextProps.isAnimationActive && nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curSectors: nextProps.sectors,\n prevSectors: prevState.curSectors,\n isAnimationFinished: true\n };\n }\n if (nextProps.sectors !== prevState.curSectors) {\n return {\n curSectors: nextProps.sectors,\n isAnimationFinished: true\n };\n }\n return null;\n }\n }, {\n key: \"getTextAnchor\",\n value: function getTextAnchor(x, cx) {\n if (x > cx) {\n return 'start';\n }\n if (x < cx) {\n return 'end';\n }\n return 'middle';\n }\n }, {\n key: \"renderLabelLineItem\",\n value: function renderLabelLineItem(option, props, key) {\n if ( /*#__PURE__*/React.isValidElement(option)) {\n return /*#__PURE__*/React.cloneElement(option, props);\n }\n if (isFunction(option)) {\n return option(props);\n }\n var className = clsx('recharts-pie-label-line', typeof option !== 'boolean' ? option.className : '');\n return /*#__PURE__*/React.createElement(Curve, _extends({}, props, {\n key: key,\n type: \"linear\",\n className: className\n }));\n }\n }, {\n key: \"renderLabelItem\",\n value: function renderLabelItem(option, props, value) {\n if ( /*#__PURE__*/React.isValidElement(option)) {\n return /*#__PURE__*/React.cloneElement(option, props);\n }\n var label = value;\n if (isFunction(option)) {\n label = option(props);\n if ( /*#__PURE__*/React.isValidElement(label)) {\n return label;\n }\n }\n var className = clsx('recharts-pie-label-text', typeof option !== 'boolean' && !isFunction(option) ? option.className : '');\n return /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n alignmentBaseline: \"middle\",\n className: className\n }), label);\n }\n }]);\n}(PureComponent);\n_Pie = Pie;\n_defineProperty(Pie, \"displayName\", 'Pie');\n_defineProperty(Pie, \"defaultProps\", {\n stroke: '#fff',\n fill: '#808080',\n legendType: 'rect',\n cx: '50%',\n cy: '50%',\n startAngle: 0,\n endAngle: 360,\n innerRadius: 0,\n outerRadius: '80%',\n paddingAngle: 0,\n labelLine: true,\n hide: false,\n minAngle: 0,\n isAnimationActive: !Global.isSsr,\n animationBegin: 400,\n animationDuration: 1500,\n animationEasing: 'ease',\n nameKey: 'name',\n blendStroke: false,\n rootTabIndex: 0\n});\n_defineProperty(Pie, \"parseDeltaAngle\", function (startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign * deltaAngle;\n});\n_defineProperty(Pie, \"getRealPieData\", function (itemProps) {\n var data = itemProps.data,\n children = itemProps.children;\n var presentationProps = filterProps(itemProps, false);\n var cells = findAllByType(children, Cell);\n if (data && data.length) {\n return data.map(function (entry, index) {\n return _objectSpread(_objectSpread(_objectSpread({\n payload: entry\n }, presentationProps), entry), cells && cells[index] && cells[index].props);\n });\n }\n if (cells && cells.length) {\n return cells.map(function (cell) {\n return _objectSpread(_objectSpread({}, presentationProps), cell.props);\n });\n }\n return [];\n});\n_defineProperty(Pie, \"parseCoordinateOfPie\", function (itemProps, offset) {\n var top = offset.top,\n left = offset.left,\n width = offset.width,\n height = offset.height;\n var maxPieRadius = getMaxRadius(width, height);\n var cx = left + getPercentValue(itemProps.cx, width, width / 2);\n var cy = top + getPercentValue(itemProps.cy, height, height / 2);\n var innerRadius = getPercentValue(itemProps.innerRadius, maxPieRadius, 0);\n var outerRadius = getPercentValue(itemProps.outerRadius, maxPieRadius, maxPieRadius * 0.8);\n var maxRadius = itemProps.maxRadius || Math.sqrt(width * width + height * height) / 2;\n return {\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n maxRadius: maxRadius\n };\n});\n_defineProperty(Pie, \"getComposedData\", function (_ref4) {\n var item = _ref4.item,\n offset = _ref4.offset;\n var itemProps = item.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, item.type.defaultProps), item.props) : item.props;\n var pieData = _Pie.getRealPieData(itemProps);\n if (!pieData || !pieData.length) {\n return null;\n }\n var cornerRadius = itemProps.cornerRadius,\n startAngle = itemProps.startAngle,\n endAngle = itemProps.endAngle,\n paddingAngle = itemProps.paddingAngle,\n dataKey = itemProps.dataKey,\n nameKey = itemProps.nameKey,\n valueKey = itemProps.valueKey,\n tooltipType = itemProps.tooltipType;\n var minAngle = Math.abs(itemProps.minAngle);\n var coordinate = _Pie.parseCoordinateOfPie(itemProps, offset);\n var deltaAngle = _Pie.parseDeltaAngle(startAngle, endAngle);\n var absDeltaAngle = Math.abs(deltaAngle);\n var realDataKey = dataKey;\n if (isNil(dataKey) && isNil(valueKey)) {\n warn(false, \"Use \\\"dataKey\\\" to specify the value of pie,\\n the props \\\"valueKey\\\" will be deprecated in 1.1.0\");\n realDataKey = 'value';\n } else if (isNil(dataKey)) {\n warn(false, \"Use \\\"dataKey\\\" to specify the value of pie,\\n the props \\\"valueKey\\\" will be deprecated in 1.1.0\");\n realDataKey = valueKey;\n }\n var notZeroItemCount = pieData.filter(function (entry) {\n return getValueByDataKey(entry, realDataKey, 0) !== 0;\n }).length;\n var totalPadingAngle = (absDeltaAngle >= 360 ? notZeroItemCount : notZeroItemCount - 1) * paddingAngle;\n var realTotalAngle = absDeltaAngle - notZeroItemCount * minAngle - totalPadingAngle;\n var sum = pieData.reduce(function (result, entry) {\n var val = getValueByDataKey(entry, realDataKey, 0);\n return result + (isNumber(val) ? val : 0);\n }, 0);\n var sectors;\n if (sum > 0) {\n var prev;\n sectors = pieData.map(function (entry, i) {\n var val = getValueByDataKey(entry, realDataKey, 0);\n var name = getValueByDataKey(entry, nameKey, i);\n var percent = (isNumber(val) ? val : 0) / sum;\n var tempStartAngle;\n if (i) {\n tempStartAngle = prev.endAngle + mathSign(deltaAngle) * paddingAngle * (val !== 0 ? 1 : 0);\n } else {\n tempStartAngle = startAngle;\n }\n var tempEndAngle = tempStartAngle + mathSign(deltaAngle) * ((val !== 0 ? minAngle : 0) + percent * realTotalAngle);\n var midAngle = (tempStartAngle + tempEndAngle) / 2;\n var middleRadius = (coordinate.innerRadius + coordinate.outerRadius) / 2;\n var tooltipPayload = [{\n name: name,\n value: val,\n payload: entry,\n dataKey: realDataKey,\n type: tooltipType\n }];\n var tooltipPosition = polarToCartesian(coordinate.cx, coordinate.cy, middleRadius, midAngle);\n prev = _objectSpread(_objectSpread(_objectSpread({\n percent: percent,\n cornerRadius: cornerRadius,\n name: name,\n tooltipPayload: tooltipPayload,\n midAngle: midAngle,\n middleRadius: middleRadius,\n tooltipPosition: tooltipPosition\n }, entry), coordinate), {}, {\n value: getValueByDataKey(entry, realDataKey),\n startAngle: tempStartAngle,\n endAngle: tempEndAngle,\n payload: entry,\n paddingAngle: mathSign(deltaAngle) * paddingAngle\n });\n return prev;\n });\n }\n return _objectSpread(_objectSpread({}, coordinate), {}, {\n sectors: sectors,\n data: pieData\n });\n});","/**\n * @fileOverview Pie Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { PolarAngleAxis } from '../polar/PolarAngleAxis';\nimport { PolarRadiusAxis } from '../polar/PolarRadiusAxis';\nimport { formatAxisMap } from '../util/PolarUtils';\nimport { Pie } from '../polar/Pie';\nexport var PieChart = generateCategoricalChart({\n chartName: 'PieChart',\n GraphicalChild: Pie,\n validateTooltipEventTypes: ['item'],\n defaultTooltipEventType: 'item',\n legendContent: 'children',\n axisComponents: [{\n axisType: 'angleAxis',\n AxisComp: PolarAngleAxis\n }, {\n axisType: 'radiusAxis',\n AxisComp: PolarRadiusAxis\n }],\n formatAxisMap: formatAxisMap,\n defaultProps: {\n layout: 'centric',\n startAngle: 0,\n endAngle: 360,\n cx: '50%',\n cy: '50%',\n innerRadius: 0,\n outerRadius: '80%'\n }\n});","'use client';\nvar classes = {\"root\":\"m_cd8943fd\"};\n\nexport { classes as default };\n//# sourceMappingURL=PieChart.module.css.mjs.map\n","'use client';\nimport { jsx, jsxs } from 'react/jsx-runtime';\nimport { Cell, ResponsiveContainer, PieChart as PieChart$1, Pie, Tooltip } from 'recharts';\nimport { createVarsResolver, getThemeColor, rem, factory, useProps, useMantineTheme, useStyles, useResolvedStylesApi, Box } from '@mantine/core';\nimport { ChartTooltip } from '../ChartTooltip/ChartTooltip.mjs';\nimport classes from './PieChart.module.css.mjs';\n\nconst defaultProps = {\n withTooltip: false,\n withLabelsLine: true,\n paddingAngle: 0,\n size: 160,\n strokeWidth: 1,\n startAngle: 0,\n endAngle: 360,\n tooltipDataSource: \"all\",\n labelsPosition: \"outside\",\n labelsType: \"value\"\n};\nconst varsResolver = createVarsResolver(\n (theme, { strokeColor, labelColor, withLabels, size, labelsPosition }) => ({\n root: {\n \"--chart-stroke-color\": strokeColor ? getThemeColor(strokeColor, theme) : void 0,\n \"--chart-labels-color\": labelColor ? getThemeColor(labelColor, theme) : void 0,\n \"--chart-size\": withLabels && labelsPosition === \"outside\" ? rem(size + 80) : rem(size)\n }\n })\n);\nconst getLabelValue = (labelsType, value, percent, valueFormatter) => {\n if (labelsType === \"percent\") {\n return `${(percent * 100).toFixed(0)}%`;\n }\n if (typeof valueFormatter === \"function\") {\n return valueFormatter(value);\n }\n return value;\n};\nconst getInsideLabel = (labelsType, valueFormatter) => ({ cx, cy, midAngle, innerRadius, outerRadius, value, percent }) => {\n const RADIAN = Math.PI / 180;\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const x = cx + radius * Math.cos(-midAngle * RADIAN);\n const y = cy + radius * Math.sin(-midAngle * RADIAN);\n return /* @__PURE__ */ jsx(\n \"text\",\n {\n x,\n y,\n textAnchor: x > cx ? \"start\" : \"end\",\n dominantBaseline: \"central\",\n className: classes.label,\n children: getLabelValue(labelsType, value, percent, valueFormatter)\n }\n );\n};\nconst getOutsideLabel = (labelsType, valueFormatter) => ({ x, y, cx, cy, percent, value }) => /* @__PURE__ */ jsx(\n \"text\",\n {\n x,\n y,\n cx,\n cy,\n textAnchor: x > cx ? \"start\" : \"end\",\n fill: \"var(--chart-labels-color, var(--mantine-color-dimmed))\",\n fontFamily: \"var(--mantine-font-family)\",\n fontSize: 12,\n children: /* @__PURE__ */ jsx(\"tspan\", { x, children: getLabelValue(labelsType, value, percent, valueFormatter) })\n }\n);\nconst PieChart = factory((_props, ref) => {\n const props = useProps(\"PieChart\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n data,\n withTooltip,\n tooltipAnimationDuration,\n tooltipProps,\n pieProps,\n paddingAngle,\n withLabels,\n withLabelsLine,\n size,\n strokeWidth,\n startAngle,\n endAngle,\n tooltipDataSource,\n children,\n pieChartProps,\n labelsPosition,\n valueFormatter,\n labelsType,\n strokeColor,\n ...others\n } = props;\n const theme = useMantineTheme();\n const getStyles = useStyles({\n name: \"PieChart\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({\n classNames,\n styles,\n props\n });\n const cells = data.map((item, index) => /* @__PURE__ */ jsx(\n Cell,\n {\n fill: getThemeColor(item.color, theme),\n stroke: \"var(--chart-stroke-color, var(--mantine-color-body))\",\n strokeWidth\n },\n index\n ));\n return /* @__PURE__ */ jsx(Box, { ref, size, ...getStyles(\"root\"), ...others, children: /* @__PURE__ */ jsx(ResponsiveContainer, { children: /* @__PURE__ */ jsxs(PieChart$1, { ...pieChartProps, children: [\n /* @__PURE__ */ jsx(\n Pie,\n {\n data,\n innerRadius: 0,\n outerRadius: size / 2,\n dataKey: \"value\",\n isAnimationActive: false,\n paddingAngle,\n startAngle,\n endAngle,\n label: withLabels ? labelsPosition === \"inside\" ? getInsideLabel(labelsType || \"value\", valueFormatter) : getOutsideLabel(labelsType || \"value\", valueFormatter) : false,\n labelLine: withLabelsLine && labelsPosition === \"outside\" ? {\n stroke: \"var(--chart-label-color, var(--mantine-color-dimmed))\",\n strokeWidth: 1\n } : false,\n ...pieProps,\n children: cells\n }\n ),\n withTooltip && /* @__PURE__ */ jsx(\n Tooltip,\n {\n animationDuration: tooltipAnimationDuration,\n isAnimationActive: false,\n content: ({ payload }) => /* @__PURE__ */ jsx(\n ChartTooltip,\n {\n payload: data,\n classNames: resolvedClassNames,\n styles: resolvedStyles,\n type: \"radial\",\n segmentId: tooltipDataSource === \"segment\" ? payload?.[0]?.name : void 0,\n valueFormatter\n }\n ),\n ...tooltipProps\n }\n ),\n children\n ] }) }) });\n});\nPieChart.displayName = \"@mantine/charts/PieChart\";\nPieChart.classes = classes;\n\nexport { PieChart };\n//# sourceMappingURL=PieChart.mjs.map\n","import { Text, Title, useMantineTheme } from '@mantine/core'\nimport React, { useEffect, useState } from 'react'\n\ninterface CountdownProps {\n futureDate?: string\n countdownMessage?: string\n}\n\nconst parseDate = (date: string): string => (date.endsWith('GMT') ? date : `${date}Z`)\n\nconst Countdown: React.FC = React.memo(({ futureDate, countdownMessage = '' }) => {\n const theme = useMantineTheme()\n const [countdown, setCountdown] = useState('')\n\n useEffect(() => {\n const updateCountdown = () => {\n const now = new Date()\n const future = futureDate ? new Date(parseDate(futureDate)) : now\n const diff = future.getTime() - now.getTime()\n\n if (diff <= 0) {\n setCountdown(countdownMessage)\n return\n }\n\n const days = Math.floor(diff / (1000 * 60 * 60 * 24))\n const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60))\n .toString()\n .padStart(2, '0')\n const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60))\n .toString()\n .padStart(2, '0')\n const seconds = Math.floor((diff % (1000 * 60)) / 1000)\n .toString()\n .padStart(2, '0')\n setCountdown(`${days ? `${days} :` : ''} ${hours} : ${minutes} : ${seconds}`)\n }\n\n const interval = setInterval(updateCountdown, 1000)\n\n // Initial update\n updateCountdown()\n\n // Cleanup interval on component unmount\n return () => clearInterval(interval)\n }, [futureDate])\n\n return (\n <>\n {countdown === countdownMessage ? (\n \n {countdown}\n \n ) : (\n \n {countdown}\n \n )}\n \n )\n})\n\nCountdown.displayName = 'Countdown'\n\nexport default Countdown\n","import { Stack, Text } from '@mantine/core'\nimport React, { useEffect, useState } from 'react'\n\nimport { metaverseStandardDateAndTime } from '@/utils/utils'\n\nconst MSTClock: React.FC = () => {\n const [currentTime, setCurrentTime] = useState(new Date())\n\n useEffect(() => {\n const timer = setInterval(() => {\n const newTime = new Date()\n newTime.setSeconds(newTime.getSeconds() + 1)\n setCurrentTime(newTime)\n }, 1000)\n\n return () => {\n clearInterval(timer)\n }\n }, [])\n\n return (\n \n {metaverseStandardDateAndTime(currentTime)}\n \n )\n}\n\nexport default MSTClock\n","import { PieChart } from '@mantine/charts'\nimport { Stack, Text, Title, useMantineTheme } from '@mantine/core'\nimport { useMediaQuery } from '@mantine/hooks'\nimport { useEffect, useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport Countdown from '@/components/Countdown'\nimport ErrorMessage from '@/components/ErrorMessage'\nimport Loading from '@/components/Loading'\nimport { useEconomicsContext } from '@/contexts/EconomicsContext'\nimport { processBalance, ProcessedBalance } from '@/utils/utils'\n\nimport MSTClock from './MSTClock'\n\nconst ChartLegendRow: React.FC<{ value: string; color: string; text: string }> = ({\n value,\n color,\n text,\n}) => (\n \n \n {`${text} (${value})`}\n \n)\n\ninterface ChartLegendProps {\n rl1Minted: ProcessedBalance\n title: string\n data: { name: string; value: number; color: string }[]\n}\n\nconst ChartLegend: React.FC = ({ rl1Minted, title, data }) => (\n \n {title}\n \n {data.map(item => {\n const value = processBalance(\n BigInt(Math.round(parseFloat(rl1Minted.value.toString()) * (item.value / 100)))\n )\n return (\n \n )\n })}\n \n \n)\n\nconst RewardsRecipients: React.FC = () => {\n const theme = useMantineTheme()\n const { t } = useTranslation()\n const isMobile = useMediaQuery(`(max-width: ${theme.breakpoints.sm})`)\n const isDownMd = useMediaQuery(`(max-width: 1130px)`)\n\n const {\n getCurrentDay,\n getDayStart,\n rl1CurrentPeriod,\n rl1CurrentPeriodStart,\n rl1CurrentPeriodEnd,\n rl1Minted,\n rl1SupplyLeft,\n rewardsPercentages,\n isLoading,\n error,\n } = useEconomicsContext()\n\n // Convert period start and end to dates\n const periodStart = useMemo(\n () => new Date(rl1CurrentPeriodStart * 1000).toLocaleDateString(),\n [rl1CurrentPeriodStart]\n )\n const periodEnd = useMemo(\n () => new Date(rl1CurrentPeriodEnd * 1000).toLocaleDateString(),\n [rl1CurrentPeriodEnd]\n )\n\n const data = useMemo(() => {\n if (isLoading || error.isError || rewardsPercentages.length < 3) {\n return []\n }\n const values = []\n if (rewardsPercentages[0] > 0) {\n values.push({\n name: t('components.staking.staking.barChart.stakers', 'Stakers') as string,\n value: Number((100 * rewardsPercentages[0]).toPrecision(2)),\n color: theme.colors.barChartGreen[0],\n })\n }\n if (rewardsPercentages[1] > 0) {\n values.push({\n name: t('components.staking.staking.barChart.creators', 'Creators') as string,\n value: Number((100 * rewardsPercentages[1]).toPrecision(2)),\n color: theme.colors.barChartPurple[0],\n })\n }\n if (rewardsPercentages[2] > 0) {\n values.push({\n name: t('components.staking.staking.barChart.ecosystem', 'Ecosystem') as string,\n value: Number((100 * rewardsPercentages[2]).toPrecision(2)),\n color: theme.colors.barChartBlue[0],\n })\n }\n return values\n }, [isLoading, error, rewardsPercentages, t, theme])\n\n const issuancePercentage = useMemo(() => {\n if (rl1Minted && rl1SupplyLeft) {\n return (\n (100 * parseFloat(rl1Minted.value.toString())) / parseFloat(rl1SupplyLeft.value.toString())\n )\n }\n return 0\n }, [rl1Minted, rl1SupplyLeft])\n\n // Trigger update day\n const [trigger, setTrigger] = useState(false)\n useEffect(() => {\n const interval = setInterval(() => {\n setTrigger(prev => !prev)\n }, 1000)\n return () => clearInterval(interval)\n }, [])\n const today = useMemo(() => getCurrentDay(), [getCurrentDay, trigger])\n const nextDayStart = useMemo(() => getDayStart(today + 1), [getDayStart, today])\n\n return (\n \n {t('components.staking.staking.rewardsInfo.title', 'Rewards Info')}\n {error.isError && !isLoading && (\n \n )}\n {isLoading && !error.isError && }\n {!isLoading && !error.isError && (\n \n \n \n \n Current Rewards Cycle\n \n \n Day:\n {today}\n \n \n Quarter:\n {rl1CurrentPeriod + 1}\n \n \n Period:\n \n {periodStart} - {periodEnd}\n \n \n \n Issuance:\n \n {rl1Minted?.display || '-'} RL1 ({issuancePercentage.toFixed(0)}% of{' '}\n {rl1SupplyLeft.display || '-'} RL1)\n \n \n \n \n \n Metaverse Standard Time\n \n \n \n {!isDownMd &&
}\n Time until next day\n \n
\n
\n
\n\n \n \n \n
\n \n )}\n \n )\n}\n\nexport default RewardsRecipients\n","import { signMessage } from '@wagmi/core'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { STAKING_BOT } from '@/constants/blockchain'\nimport { useAuth } from '@/plugins/auth'\nimport { getWagmiConfig, l1NativeWagmiConfig } from '@/plugins/auth/config'\nimport { CustomError } from '@/utils/helpers'\nimport { convertTimestampDateAndTimeUTC, post } from '@/utils/utils'\n\nimport { useChainValues } from './useChain'\n\ntype StatusResponse = {\n valid: boolean\n can_claim: boolean\n last_claim?: string\n next_claim?: string\n error?: string\n}\n\ntype CollectResponse = {\n valid: boolean\n error?: string\n}\n\nconst useStakingBot = () => {\n // Hooks\n const { address } = useAuth()\n const { blockNumber } = useChainValues(l1NativeWagmiConfig.id)\n\n // State\n const [canCollect, setCanCollect] = useState(false)\n const [lastCollectTimestamp, setLastCollectTimestamp] = useState()\n const [nextCollectTimestamp, setNextCollectTimestamp] = useState()\n const [error, setError] = useState({\n call: 'stakingBot',\n msg: '',\n isError: false,\n })\n\n // Fetch status\n const fetchStatus = useCallback(async () => {\n if (!address) return\n try {\n const retval = (await post(\n `${STAKING_BOT}/status`,\n `{ \"address\": \"${address}\" }`\n )) as StatusResponse\n // Set error if response not valid\n if (!retval.valid) {\n setError({\n call: 'stakingBot.status',\n msg: retval.error || 'Error connecting to Staking Bot',\n isError: true,\n })\n } else {\n // Set state\n if (retval.can_claim) {\n setCanCollect(true)\n } else {\n setCanCollect(false)\n }\n if (retval.last_claim) {\n setLastCollectTimestamp(retval.last_claim)\n }\n if (retval.next_claim) {\n setNextCollectTimestamp(retval.next_claim)\n }\n }\n } catch (err: any) {\n setError({ call: 'stakingBot.status', msg: err.message, isError: true })\n }\n }, [address])\n // Update on new blocks\n useEffect(() => {\n if (address) fetchStatus()\n }, [address, blockNumber, fetchStatus])\n\n // Build message to sign\n const timestamp = useMemo(() => convertTimestampDateAndTimeUTC(new Date()), [])\n const message = `Collect all my rewards on ${timestamp}`\n\n // Claim / Collect request\n const collectRewards = useCallback(async () => {\n if (!address) return\n // Get signature first\n let signature: string | undefined\n try {\n signature = await signMessage(getWagmiConfig(), { message })\n } catch (err: any) {\n setError({ call: 'stakingBot.collect', msg: 'Failed to get signature', isError: true })\n return\n }\n if (!signature) {\n setError({ call: 'stakingBot.collect', msg: 'Failed to get signature', isError: true })\n return\n }\n // Make request\n try {\n const retval = (await post(\n `${STAKING_BOT}/claim`,\n `{ \"address\": \"${address}\", \"timestamp\": \"${timestamp}\", \"signature\": \"${signature}\" }`\n )) as CollectResponse\n // Set error if response not valid\n if (!retval.valid) {\n setError({\n call: 'stakingBot.collect',\n msg: retval.error || 'Error connecting to Staking Bot',\n isError: true,\n })\n }\n } catch (err: any) {\n setError({ call: 'stakingBot.collect', msg: err.message, isError: true })\n }\n }, [address, timestamp])\n\n return {\n canCollect,\n lastCollectTimestamp,\n nextCollectTimestamp,\n collectRewards,\n error,\n }\n}\n\nexport default useStakingBot\n","import { Stack, Text, Title, useMantineTheme } from '@mantine/core'\nimport { useCallback, useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport RootButton from '@/components/Buttons/RootButton'\nimport ErrorMessage from '@/components/ErrorMessage'\nimport { ConfirmationLoading, ConfirmationReady } from '@/components/Identity/ConfirmModals/utils'\nimport TooltipTitle from '@/components/TooltipTitle'\nimport useStakingBot from '@/hooks/useStakingBot'\nimport { processBalance, ProcessedBalance } from '@/utils/utils'\n\ninterface CollectProps {\n close: () => void\n claimableRewards: ProcessedBalance\n ll1Withdrawable: ProcessedBalance\n rl1Withdrawable: ProcessedBalance\n}\n\nconst Collect: React.FC = ({\n close,\n claimableRewards,\n ll1Withdrawable,\n rl1Withdrawable,\n}) => {\n const { t } = useTranslation()\n const theme = useMantineTheme()\n\n // Connect to staking bot\n const { canCollect, error, collectRewards } = useStakingBot()\n\n const [isLoading, setIsLoading] = useState(false)\n const [isReady, setIsReady] = useState(false)\n\n const handleClaim = useCallback(async () => {\n setIsLoading(true)\n await collectRewards()\n setIsLoading(false)\n setIsReady(true)\n }, [collectRewards])\n\n const totalUnwrap = useMemo(\n () => processBalance(ll1Withdrawable.value + rl1Withdrawable.value),\n [ll1Withdrawable, rl1Withdrawable]\n )\n\n return (\n <>\n {error.isError && (\n \n )}\n {isLoading && (\n \n )}\n {isReady && !isLoading && !error.isError && (\n \n )}\n {!isReady && !isLoading && !error.isError && (\n \n \n {t(\n 'components.staking.staking.modal.claim.info',\n 'Review the Liquid L1 and Rewards L1 available to you, then press ‘Collect’ to bring those tokens into your Wallet.'\n )}\n \n \n \n \n \n {claimableRewards.display} RL1\n \n \n \n \n \n {totalUnwrap.display} L1\n \n \n \n \n \n {t('buttons.cancel', 'Cancel')}\n \n \n {t('buttons.collect', 'Collect')}\n \n \n \n )}\n \n )\n}\nexport default Collect\n","import { Stack, Text, Title, useMantineTheme } from '@mantine/core'\nimport { useMediaQuery } from '@mantine/hooks'\nimport { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { formatValueToSuffix, ProcessedBalance } from '@/utils/utils'\n\nimport TooltipTitle from '../TooltipTitle'\n\nconst MAX_WITHOUT_SUFFIX = 100000000\ninterface StakeCalculatorProps {\n amount: number\n newStake: number\n stakeMaxDays: number\n stakeMultiplier: number\n currentStaked: ProcessedBalance\n currentStake: ProcessedBalance\n rl1PerDay: number\n stakeSupply: ProcessedBalance\n state?: 'stake' | 'restake' | 'withdraw'\n}\n\nconst StakeCalculator: React.FC = ({\n amount,\n newStake,\n stakeMaxDays,\n stakeMultiplier,\n currentStaked,\n currentStake,\n rl1PerDay,\n stakeSupply,\n state = 'stake',\n}) => {\n const { t } = useTranslation()\n const theme = useMantineTheme()\n const isMobile = useMediaQuery(`(max-width: ${theme.breakpoints.md})`)\n\n // Current values\n const currStakedNumber = useMemo(() => parseFloat(currentStaked.fullValue), [currentStaked])\n const currStakeNumber = useMemo(() => parseFloat(currentStake.fullValue), [currentStake])\n const currStakeSupplyNumber = useMemo(() => parseFloat(stakeSupply.fullValue), [stakeSupply])\n const currRl1PerDayNumber = useMemo(() => rl1PerDay / 1e18, [rl1PerDay])\n const currRewards = useMemo(\n () =>\n currStakeSupplyNumber === 0\n ? 0\n : (currRl1PerDayNumber * currStakeNumber) / currStakeSupplyNumber,\n [currRl1PerDayNumber, currStakeNumber, currStakeSupplyNumber]\n )\n\n // New values\n const afterStaked = useMemo(() => currStakedNumber + amount, [currStakedNumber, amount])\n const afterStake = useMemo(() => currStakeNumber + newStake, [currStakeNumber, newStake])\n const afterStakeSupply = useMemo(\n () => currStakeSupplyNumber + newStake,\n [currStakeSupplyNumber, newStake]\n )\n const afterRL1 = useMemo(\n () => (afterStakeSupply === 0 ? 0 : (currRl1PerDayNumber * afterStake) / afterStakeSupply),\n [currRl1PerDayNumber, afterStake, afterStakeSupply]\n )\n const stakePercentage = useMemo(\n () => (afterStake / afterStakeSupply) * 100,\n [afterStake, afterStakeSupply]\n )\n\n // Added reward is weird because it's computed as after - curr\n const newRewards = useMemo(() => afterRL1 - currRewards, [afterRL1, currRewards])\n\n // Compute APY and rl1 per day per l1\n const rl1perDayPerL1 = useMemo(\n () => (afterStaked > 0 ? afterRL1 / afterStaked : 0),\n [afterRL1, afterStaked]\n )\n const rl1Apy = useMemo(\n () =>\n afterStakeSupply === 0\n ? 0\n : (currRl1PerDayNumber / afterStakeSupply) * 365 * stakeMaxDays * 100,\n [currRl1PerDayNumber, afterStakeSupply]\n )\n\n return (\n \n \n \n \n \n {t('components.staking.staking.modal.stake.yield', 'Est. L1 Yield')}\n \n \n {`${rl1Apy.toFixed(2)}% APY`}\n \n \n \n \n {t(\n 'components.staking.staking.modal.stake.yieldDescription',\n 'Annual rate of daily unlocked RL1 rewards per staked L1'\n )}\n \n \n \n \n \n \n {\n t(\n 'components.staking.staking.modal.stake.multiplier',\n 'Staking Power Multiplier'\n ) as string\n }\n \n \n {stakeMultiplier}x\n \n \n \n \n {\n t(\n 'components.staking.staking.modal.stake.multiplierDescription',\n 'Used to calculate Staking Power per L1 staked'\n ) as string\n }\n \n \n \n \n \n \n {t('components.staking.staking.modal.stake.netChange', 'Net Change')}\n \n \n \n {`${newRewards > 0 ? '+' : ''}${newRewards > MAX_WITHOUT_SUFFIX ? formatValueToSuffix(newRewards) : newRewards.toFixed(2)}`}\n \n \n {t('components.staking.staking.modal.stake.dailyRewards', 'Daily Rewards (RL1)')}\n \n \n \n \n {`${newStake > 0 ? '+' : ''}${newStake > MAX_WITHOUT_SUFFIX ? formatValueToSuffix(newStake) : newStake.toFixed(2)}`}\n \n \n \n {t('components.staking.staking.modal.stake.stakingPower', 'Staking Power (STAKE)')}\n \n {state === 'stake' && (\n \n {t('components.staking.staking.modal.stake.votingPower', 'Voting Power (VOTE)')}\n \n )}\n \n \n \n \n \n {state === 'restake'\n ? t('components.staking.staking.modal.stake.afterRestake', 'After Restake')\n : state === 'withdraw'\n ? t('components.staking.staking.modal.stake.afterWithdrawal', 'After withdrawal')\n : t('components.staking.staking.modal.stake.afterDeposit', 'After Deposit')}\n \n \n \n {afterRL1 > MAX_WITHOUT_SUFFIX ? formatValueToSuffix(afterRL1) : afterRL1.toFixed(2)}\n \n\n \n {rl1perDayPerL1.toFixed(2)} RL1 per STAKE\n \n \n \n \n {afterStake > MAX_WITHOUT_SUFFIX\n ? formatValueToSuffix(afterStake)\n : afterStake.toFixed(2)}\n \n\n \n {stakePercentage.toFixed(7)}% of all STAKE\n \n \n \n \n \n )\n}\nexport default StakeCalculator\n","import { NumberInput, Slider, Stack, Text, Title, useMantineTheme } from '@mantine/core'\nimport { useDisclosure, useMediaQuery } from '@mantine/hooks'\nimport { useCallback, useMemo, useState } from 'react'\nimport { Trans, useTranslation } from 'react-i18next'\nimport { parseEther } from 'viem'\n\nimport RootButton from '@/components/Buttons/RootButton'\nimport CurrencyInput from '@/components/CurrencyInput'\nimport ErrorMessage from '@/components/ErrorMessage'\nimport { ConfirmationLoading, ConfirmationReady } from '@/components/Identity/ConfirmModals/utils'\nimport Loading from '@/components/Loading'\nimport StakeCalculator from '@/components/Staking/StakeCalculator'\nimport TransactionSummary from '@/components/Transfer/TransactionSummary'\nimport { MIN_STAKE_AMOUNT, MIN_STAKE_DAYS, STAKE_ADDRESS } from '@/constants/blockchain'\nimport { useEconomicsContext } from '@/contexts/EconomicsContext'\nimport { useStakingContext } from '@/contexts/StakingContext'\nimport StakeAbi from '@/contracts/Stake'\nimport { ContractCall, useChainFunctions } from '@/hooks/useChain'\nimport { l1NativeWagmiConfig } from '@/plugins/auth/config'\nimport { formatDays } from '@/utils/utils'\n\nimport ModalSkeleton from '../../ModalSkeleton'\n\ninterface StakeProps {\n close: () => void\n}\n\nconst Stake: React.FC = ({ close }) => {\n const { t } = useTranslation()\n const theme = useMantineTheme()\n const isMobile = useMediaQuery(`(max-width: ${theme.breakpoints.md})`)\n\n // modal\n const [openedConfirmation, { open: openConfirmation, close: closeConfirmation }] = useDisclosure()\n // fees - default value to setup minimum staking amount\n const estimatedFee = MIN_STAKE_AMOUNT\n // stake info\n const [amount, setAmount] = useState({ value: '', touched: false, error: '' })\n // ready confirmation\n const [isLoading, setIsLoading] = useState(false)\n const [error, setError] = useState('')\n const [isReady, setIsReady] = useState(false)\n\n const { writeContract } = useChainFunctions(l1NativeWagmiConfig)\n\n // Get staking and economics data\n const { totalStakeSupply, stakeMaxDays, stakeMultiplier, rl1PerDay, getCurrentDay, getDayStart } =\n useEconomicsContext()\n const { staked, stake } = useStakingContext()\n\n const [stakeDays, setStakeDays] = useState(1)\n const contractCalls: ContractCall[] | undefined = useMemo(() => {\n if (!amount.value) {\n return undefined\n }\n return [\n {\n args: {\n address: STAKE_ADDRESS,\n abi: StakeAbi,\n functionName: 'lock',\n args: [stakeDays],\n value: parseEther(amount.value),\n },\n },\n ]\n }, [stakeDays, amount.value])\n\n const handleStake = useCallback(async () => {\n if (!(contractCalls && contractCalls.length > 0)) return\n try {\n setIsLoading(true)\n await writeContract(contractCalls[0].args)\n setIsLoading(false)\n setIsReady(true)\n } catch (err: any) {\n console.error(err)\n setIsLoading(false)\n setError(err.message)\n }\n }, [contractCalls, writeContract])\n\n // Compute the withdrawal date\n const today = useMemo(() => getCurrentDay(), [getCurrentDay])\n const withdrawalDate = useMemo(\n () => getDayStart(today + stakeDays + 1),\n [getDayStart, today, stakeDays]\n )\n\n const handleCloseConfirmationCancel = useCallback(() => {\n setError('')\n closeConfirmation()\n }, [closeConfirmation])\n\n const handleCloseConfirmation = useCallback(() => {\n setError('')\n closeConfirmation()\n close()\n }, [closeConfirmation, close])\n\n return (\n <>\n \n \n {t(\n 'components.staking.staking.modal.stakeDescription1',\n 'Stake L1 to support the LAMINA1 network. In exchange, you’ll receive STAKE and VOTE tokens to increase your earning power, along with Rewards (RL1) tokens you can collect every day during the designated staking period.'\n )}\n \n \n \n \n {t('components.staking.staking.modal.stake.stakeAmount', 'Stake Amount')}\n \n \n \n {t('components.staking.staking.modal.stake.stakePeriod', 'Stake Period')}\n \n \n 0 ? stakeDays : ''}\n onChange={value => setStakeDays(Number(value))}\n min={MIN_STAKE_DAYS}\n max={stakeMaxDays}\n step={1}\n placeholder=\"\"\n disabled={!!amount.error || !amount.value}\n />\n (value === 1 ? `${value} day` : `${value} days`)}\n onChange={setStakeDays}\n disabled={!!amount.error || !amount.value}\n />\n \n \n \n Enter or use slider to select a staking period between 1 day and{' '}\n {{ duration: formatDays(stakeMaxDays) }}.\n \n \n {isMobile &&\n (staked && stake && totalStakeSupply ? (\n \n ) : (\n \n ))}\n \n \n {t('buttons.cancel', 'Cancel')}\n \n \n {t('components.staking.staking.modal.stake.stake', 'Stake')}\n \n \n \n \n {!isMobile &&\n (staked && stake && totalStakeSupply ? (\n \n ) : (\n \n ))}\n \n \n \n {error && (\n \n )}\n {isLoading && (\n \n )}\n {isReady && !isLoading && !error && (\n \n )}\n {!isReady && !error && !isLoading && (\n <>\n \n \n You are about to lock {{ amount: amount.value }} L1 for{' '}\n {{ numberStakeDays: stakeDays }} {{ stakeDays: stakeDays === 1 ? 'day' : 'days' }}.\n These L1 will not be accessible to you during the designated staking period. This\n stake will be available for withdrawal on {{ withdrawalDate }}.\n \n \n \n \n {t('buttons.cancel', 'Cancel')}\n \n \n {t('buttons.confirm', 'Confirm')}\n \n \n \n )}\n \n \n )\n}\n\nexport default Stake\n","/**\n * Simple safari detection based on user agent test\n */\nexport const isSafari = () => /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\nexport const isJsons = ((array) => Array.isArray(array) && array.every(\n row => (typeof row === 'object' && !(row instanceof Array))\n));\n\nexport const isArrays = ((array) => Array.isArray(array) && array.every(\n row => Array.isArray(row)\n));\n\nexport const jsonsHeaders = ((array) => Array.from(\n array.map(json => Object.keys(json))\n .reduce((a, b) => new Set([...a, ...b]), [])\n));\n\nexport const jsons2arrays = (jsons, headers) => {\n headers = headers || jsonsHeaders(jsons);\n\n // allow headers to have custom labels, defaulting to having the header data key be the label\n let headerLabels = headers;\n let headerKeys = headers;\n if (isJsons(headers)) {\n headerLabels = headers.map((header) => header.label);\n headerKeys = headers.map((header) => header.key);\n }\n\n const data = jsons.map((object) => headerKeys.map((header) => getHeaderValue(header, object)));\n return [headerLabels, ...data];\n};\n\nexport const getHeaderValue = (property, obj) => {\n const foundValue = property\n .replace(/\\[([^\\]]+)]/g, \".$1\")\n .split(\".\")\n .reduce(function (o, p, i, arr) {\n // if at any point the nested keys passed do not exist, splice the array so it doesnt keep reducing\n const value = o[p];\n if (value === undefined || value === null) {\n arr.splice(1);\n } else {\n return value;\n }\n }, obj);\n // if at any point the nested keys passed do not exist then looks for key `property` in object obj\n return (foundValue === undefined) ? ((property in obj) ? obj[property] : '') : foundValue;\n}\n\nexport const elementOrEmpty = (element) =>\n (typeof element === 'undefined' || element === null) ? '' : element;\n\nexport const joiner = ((data, separator = ',', enclosingCharacter = '\"') => {\n return data\n .filter(e => e)\n .map(\n row => row\n .map((element) => elementOrEmpty(element))\n .map(column => `${enclosingCharacter}${column}${enclosingCharacter}`)\n .join(separator)\n )\n .join(`\\n`);\n});\n\nexport const arrays2csv = ((data, headers, separator, enclosingCharacter) =>\n joiner(headers ? [headers, ...data] : data, separator, enclosingCharacter)\n);\n\nexport const jsons2csv = ((data, headers, separator, enclosingCharacter) =>\n joiner(jsons2arrays(data, headers), separator, enclosingCharacter)\n);\n\nexport const string2csv = ((data, headers, separator, enclosingCharacter) =>\n (headers) ? `${headers.join(separator)}\\n${data}` : data.replace(/\"/g, '\"\"')\n);\n\nexport const toCSV = (data, headers, separator, enclosingCharacter) => {\n if (isJsons(data)) return jsons2csv(data, headers, separator, enclosingCharacter);\n if (isArrays(data)) return arrays2csv(data, headers, separator, enclosingCharacter);\n if (typeof data === 'string') return string2csv(data, headers, separator);\n throw new TypeError(`Data should be a \"String\", \"Array of arrays\" OR \"Array of objects\" `);\n};\n\nexport const buildURI = ((data, uFEFF, headers, separator, enclosingCharacter) => {\n const csv = toCSV(data, headers, separator, enclosingCharacter);\n const type = isSafari() ? 'application/csv' : 'text/csv';\n const blob = new Blob([uFEFF ? '\\uFEFF' : '', csv], { type });\n const dataURI = `data:${type};charset=utf-8,${uFEFF ? '\\uFEFF' : ''}${csv}`;\n\n const URL = window.URL || window.webkitURL;\n\n return (typeof URL.createObjectURL === 'undefined')\n ? dataURI\n : URL.createObjectURL(blob);\n});\n","import React from 'react';\nimport { string, array, oneOfType, bool, func } from 'prop-types';\n\n\nexport const propTypes = {\n data: oneOfType([string, array, func]).isRequired,\n headers: array,\n target: string,\n separator: string,\n filename: string,\n uFEFF: bool,\n onClick: func,\n asyncOnClick: bool,\n enclosingCharacter: string\n};\n\nexport const defaultProps = {\n separator: ',',\n filename: 'generatedBy_react-csv.csv',\n uFEFF: true,\n asyncOnClick: false,\n enclosingCharacter: '\"'\n};\n\nexport const PropsNotForwarded = [\n `data`,\n `headers`\n];\n","import React from 'react';\nimport {buildURI} from '../core';\nimport {\n defaultProps as commonDefaultProps,\n propTypes as commonPropTypes} from '../metaProps';\nconst defaultProps = {\n target: '_blank'\n};\n\n/**\n *\n * @example ../../sample-site/csvdownload.example.md\n */\nclass CSVDownload extends React.Component {\n\n static defaultProps = Object.assign(\n commonDefaultProps,\n defaultProps\n );\n\n static propTypes = commonPropTypes;\n\n constructor(props) {\n super(props);\n this.state={};\n }\n\n buildURI() {\n return buildURI(...arguments);\n }\n\n componentDidMount(){\n const {data, headers, separator, enclosingCharacter, uFEFF, target, specs, replace} = this.props;\n this.state.page = window.open(\n this.buildURI(data, uFEFF, headers, separator, enclosingCharacter), target, specs, replace\n );\n }\n\n getWindow() {\n return this.state.page;\n }\n\n render(){\n return (null)\n }\n}\n\nexport default CSVDownload;\n","import React from 'react';\nimport { buildURI, toCSV } from '../core';\nimport {\n defaultProps as commonDefaultProps,\n propTypes as commonPropTypes\n} from '../metaProps';\n\n/**\n *\n * @example ../../sample-site/csvlink.example.md\n */\nclass CSVLink extends React.Component {\n static defaultProps = commonDefaultProps;\n static propTypes = commonPropTypes;\n\n constructor(props) {\n super(props);\n this.buildURI = this.buildURI.bind(this);\n }\n\n buildURI() {\n return buildURI(...arguments);\n }\n\n /**\n * In IE11 this method will trigger the file download\n */\n handleLegacy(event, isAsync = false) {\n // If this browser is IE 11, it does not support the `download` attribute\n if (window.navigator.msSaveOrOpenBlob) {\n // Stop the click propagation\n event.preventDefault();\n\n const {\n data,\n headers,\n separator,\n filename,\n enclosingCharacter,\n uFEFF\n } = this.props;\n\n const csvData = isAsync && typeof data === 'function' ? data() : data;\n\n let blob = new Blob([uFEFF ? '\\uFEFF' : '', toCSV(csvData, headers, separator, enclosingCharacter)]);\n window.navigator.msSaveBlob(blob, filename);\n\n return false;\n }\n }\n\n handleAsyncClick(event) {\n const done = proceed => {\n if (proceed === false) {\n event.preventDefault();\n return;\n }\n this.handleLegacy(event, true);\n };\n\n this.props.onClick(event, done);\n }\n\n handleSyncClick(event) {\n const stopEvent = this.props.onClick(event) === false;\n if (stopEvent) {\n event.preventDefault();\n return;\n }\n this.handleLegacy(event);\n }\n\n handleClick() {\n return event => {\n if (typeof this.props.onClick === 'function') {\n return this.props.asyncOnClick\n ? this.handleAsyncClick(event)\n : this.handleSyncClick(event);\n }\n this.handleLegacy(event);\n };\n }\n\n render() {\n const {\n data,\n headers,\n separator,\n filename,\n uFEFF,\n children,\n onClick,\n asyncOnClick,\n enclosingCharacter,\n ...rest\n } = this.props;\n\n const isNodeEnvironment = typeof window === 'undefined';\n const href = isNodeEnvironment ? '' : this.buildURI(data, uFEFF, headers, separator, enclosingCharacter)\n\n return (\n (this.link = link)}\n target=\"_self\"\n href={href}\n onClick={this.handleClick()}\n >\n {children}\n \n );\n }\n}\n\nexport default CSVLink;\n","import Download from './components/Download';\nimport Link from './components/Link';\n\nexport const CSVDownload = Download;\nexport const CSVLink = Link;\n","import { Checkbox, ScrollArea, Stack, Table, Title, Tooltip, useMantineTheme } from '@mantine/core'\nimport { randomId } from '@mantine/hooks'\nimport { IconDownload } from '@tabler/icons-react'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\nimport { CSVLink } from 'react-csv'\nimport { useTranslation } from 'react-i18next'\n\nimport { StakedItem } from '@/hooks/useStaking'\nimport { formatDays } from '@/utils/utils'\n\nimport Loading from '../Loading'\nimport TooltipText from '../TooltipText'\nimport classes from './WithdrawTable.module.css'\n\ninterface ActiveStakeValues {\n day: number\n l1: number\n stakingPower: number\n boost: number\n left: number\n}\n\ninterface WithdrawTableProps {\n isLoading: boolean\n activeStakes: StakedItem[] | undefined\n getDayStart: (day: number) => string\n selectedRows: number[]\n setSelectedRows: (selectedRows: number[]) => void\n}\n\nconst WithdrawTable: React.FC = ({\n isLoading,\n activeStakes,\n getDayStart,\n selectedRows,\n setSelectedRows,\n}) => {\n const theme = useMantineTheme()\n const { t } = useTranslation()\n\n const [withdrawOptions, setWithdrawOptions] = useState([])\n const allChecked = useMemo(\n () => selectedRows.length === withdrawOptions.length && withdrawOptions.length > 0,\n [selectedRows, withdrawOptions]\n )\n const indeterminate = useMemo(\n () => selectedRows.length > 0 && !allChecked,\n [selectedRows, allChecked]\n )\n\n const activeStakeValues: ActiveStakeValues[] = useMemo(() => {\n if (activeStakes) {\n return activeStakes.map(stake => ({\n day: stake.day,\n l1: Number(stake.amount.fullValue),\n stakingPower: Number(stake.stake.fullValue),\n boost: Math.round(Number(stake.stake.fullValue) / Number(stake.amount.fullValue)),\n left: stake.left,\n }))\n }\n return []\n }, [activeStakes])\n\n useEffect(() => {\n setWithdrawOptions(activeStakeValues.filter(stake => stake.left < 0))\n }, [activeStakeValues, setSelectedRows])\n\n const handleSelectAll = useCallback(() => {\n if (!activeStakes) return\n if (allChecked) {\n setSelectedRows([])\n } else {\n setSelectedRows(activeStakes.filter(stake => stake.left < 0).map(stake => stake.day))\n }\n }, [activeStakes, allChecked])\n\n const rows = activeStakeValues.map(stake => (\n \n {`${stake.l1} L1`}\n {`x ${stake.boost}`}\n \n {stake.left < 0 ? (\n 'Now'\n ) : (\n \n )}\n \n \n \n setSelectedRows(\n event.currentTarget.checked\n ? [...selectedRows, stake.day]\n : selectedRows.filter(day => day !== stake.day)\n )\n }\n disabled={stake.left >= 0}\n />\n \n \n ))\n\n const csvData = useMemo(() => {\n const headers = [['Staked', 'Multiplier', 'Staking Power', 'Withdrawable', 'Timestamp']]\n const data = activeStakeValues.map(stake => [\n `${stake.l1} L1`,\n `x ${stake.boost}`,\n `${stake.stakingPower}`,\n stake.left < 0 ? 'Now' : `In ~${formatDays(stake.left + 1)}`,\n getDayStart(stake.day + 1),\n ])\n return headers.concat(data)\n }, [activeStakeValues])\n\n return (\n <>\n \n \n {t('components.staking.staking.modal.stake.stakeAmount', 'Stake Amount')}\n \n \n \n \n \n \n \n \n \n \n \n Staked\n Multiplier\n Withdrawable\n \n \n \n \n \n {rows}\n {isLoading && }\n \n
\n \n )\n}\n\nexport default WithdrawTable\n","import { Stack, Text } from '@mantine/core'\nimport React, { useCallback, useState } from 'react'\nimport { Trans, useTranslation } from 'react-i18next'\n\nimport RootButton from '@/components/Buttons/RootButton'\nimport ErrorMessage from '@/components/ErrorMessage'\nimport { ConfirmationLoading, ConfirmationReady } from '@/components/Identity/ConfirmModals/utils'\nimport { ContractParams, useChainFunctions } from '@/hooks/useChain'\nimport { l1NativeWagmiConfig } from '@/plugins/auth/config'\n\ninterface RestakeConfirmationProps {\n close: () => void\n stakeDays: number\n selectedCompletedStakes: string\n stakeCallConfig: ContractParams | undefined\n}\n\nconst RestakeConfirmation: React.FC = ({\n close,\n stakeDays,\n selectedCompletedStakes,\n stakeCallConfig,\n}) => {\n const { t } = useTranslation()\n\n const { writeContract } = useChainFunctions(l1NativeWagmiConfig)\n\n // ready confirmation\n const [isLoading, setIsLoading] = useState(false)\n const [error, setError] = useState('')\n const [isReady, setIsReady] = useState(false)\n\n const handleRestake = useCallback(async () => {\n if (!stakeCallConfig) return\n try {\n setIsLoading(true)\n await writeContract(stakeCallConfig)\n setIsLoading(false)\n setIsReady(true)\n } catch (err: any) {\n console.error(err)\n setIsLoading(false)\n setError(err.message)\n }\n }, [stakeCallConfig, writeContract])\n\n return (\n <>\n {error && (\n \n )}\n {isLoading && (\n \n )}\n {isReady && !isLoading && !error && (\n \n )}\n {!isReady && !error && !isLoading && (\n <>\n \n \n You are about to lock {{ amount: selectedCompletedStakes }} L1 for{' '}\n {{ numberStakeDays: stakeDays }} {{ stakeDays: stakeDays === 1 ? 'day' : 'days' }}.\n These L1 will not be accessible to you during the designated staking period.\n \n \n \n \n {t('buttons.cancel', 'Cancel')}\n \n \n {t('buttons.confirm', 'Confirm')}\n \n \n \n )}\n \n )\n}\n\nexport default RestakeConfirmation\n","import { Stack, Text } from '@mantine/core'\nimport React, { useCallback, useMemo, useState } from 'react'\nimport { Trans, useTranslation } from 'react-i18next'\n\nimport RootButton from '@/components/Buttons/RootButton'\nimport ErrorMessage from '@/components/ErrorMessage'\nimport { ConfirmationLoading, ConfirmationReady } from '@/components/Identity/ConfirmModals/utils'\nimport { STAKE_ADDRESS } from '@/constants/blockchain'\nimport Stake from '@/contracts/Stake'\nimport { ContractParams, useChainFunctions } from '@/hooks/useChain'\nimport { l1NativeWagmiConfig } from '@/plugins/auth/config'\n\ninterface WithdrawConfirmationProps {\n close: () => void\n cancel: () => void\n selectedDays: number[]\n}\n\nconst unlockMultipleConfig = (days: number[]): ContractParams => ({\n address: STAKE_ADDRESS,\n abi: Stake,\n functionName: 'unlockMultiple',\n args: [days],\n})\n\nconst maxDays = 30\n\nconst WithdrawConfirmation: React.FC = ({\n close,\n cancel,\n selectedDays,\n}) => {\n const { t } = useTranslation()\n\n const { writeContract } = useChainFunctions(l1NativeWagmiConfig)\n\n // ready confirmation\n const [isLoading, setIsLoading] = useState(false)\n const [error, setError] = useState('')\n const [isReady, setIsReady] = useState(false)\n\n // Calls\n const withdrawConfigCalls: ContractParams[] = useMemo(() => {\n // Split range into batches of maxDays\n const batches = Math.ceil(selectedDays.length / maxDays)\n const calls: ContractParams[] = []\n for (let i = 0; i < batches; i++) {\n const batchStart = i * maxDays\n const batchEnd = Math.min((i + 1) * maxDays, selectedDays.length)\n calls.push(unlockMultipleConfig(selectedDays.slice(batchStart, batchEnd)))\n }\n return calls\n }, [selectedDays])\n\n const handleWithdraw = useCallback(async () => {\n try {\n setIsLoading(true)\n for (let i = 0; i < withdrawConfigCalls.length; i++) {\n /* eslint-disable-next-line no-await-in-loop */\n await writeContract(withdrawConfigCalls[i])\n }\n setIsLoading(false)\n setIsReady(true)\n } catch (err: any) {\n console.error(err)\n setIsLoading(false)\n setError(err.message)\n }\n }, [withdrawConfigCalls, writeContract])\n\n return (\n <>\n {error && (\n \n )}\n {isLoading && (\n \n )}\n {isReady && !isLoading && !error && (\n \n )}\n {!isReady && !error && !isLoading && (\n <>\n \n \n Withdraw L1 tokens that have completed their staking term and can be used or re-staked\n on the network.\n \n \n \n \n {t('buttons.cancel', 'Cancel')}\n \n \n {t('buttons.confirm', 'Confirm')}\n \n \n \n )}\n \n )\n}\n\nexport default WithdrawConfirmation\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { NumberInput, Slider, Stack, Switch, Text, Title, useMantineTheme } from '@mantine/core'\nimport { useDisclosure, useMediaQuery } from '@mantine/hooks'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { parseEther } from 'viem'\n\nimport RootButton from '@/components/Buttons/RootButton'\nimport Loading from '@/components/Loading'\nimport StakeCalculator from '@/components/Staking/StakeCalculator'\nimport WithdrawTable from '@/components/Tables/WithdrawTable'\nimport TooltipTitle from '@/components/TooltipTitle'\nimport TransactionSummary from '@/components/Transfer/TransactionSummary'\nimport { MIN_STAKE_DAYS, NATIVE_CHAIN_TICKER, STAKE_ADDRESS } from '@/constants/blockchain'\nimport { useEconomicsContext } from '@/contexts/EconomicsContext'\nimport { useStakingContext } from '@/contexts/StakingContext'\nimport StakeAbi from '@/contracts/Stake'\nimport { ContractCall } from '@/hooks/useChain'\n\nimport ModalSkeleton from '../../ModalSkeleton'\nimport RestakeConfirmation from '../Withdraw/RestakeConfirmation'\nimport WithdrawConfirmation from '../Withdraw/WithdrawConfirmation'\n\ninterface WithdrawProps {\n close: () => void\n}\n\nconst Withdraw: React.FC = ({ close }) => {\n const { t } = useTranslation()\n const theme = useMantineTheme()\n const isMobile = useMediaQuery(`(max-width: ${theme.breakpoints.md})`)\n\n // Get staking and economics data\n const { totalStakeSupply, stakeMaxDays, stakeMultiplier, rl1PerDay, getDayStart } =\n useEconomicsContext()\n const { staked, stake, stakedList, isLoading } = useStakingContext()\n\n // modal\n const [openedConfirmation, { open: openConfirmation, close: closeConfirmation }] = useDisclosure()\n // stake info\n const [stakeDays, setStakeDays] = useState(MIN_STAKE_DAYS)\n\n const [selectedRows, setSelectedRows] = useState([])\n const [selectedCompletedStakesAmount, setSelectedCompletedStakesAmount] = useState('0')\n const [selectedCompletedStakesStake, setSelectedCompletedStakesStake] = useState('0')\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [isRestake, setIsRestake] = useState(false)\n\n const contractCalls: ContractCall[] | undefined = useMemo(() => {\n if (!selectedCompletedStakesAmount) {\n return undefined\n }\n return [\n {\n args: {\n address: STAKE_ADDRESS,\n abi: StakeAbi,\n functionName: 'lock',\n args: [stakeDays],\n value: parseEther(selectedCompletedStakesAmount),\n },\n },\n ]\n }, [stakeDays, selectedCompletedStakesAmount])\n\n // Get finished stakes\n const finishedStakes = useMemo(\n () => stakedList?.filter(stakeItem => stakeItem.left < 0),\n [stakedList]\n )\n\n // Update values on selection\n useEffect(() => {\n if (!finishedStakes) return\n const selectedStakes = finishedStakes.filter(activeStake =>\n selectedRows.includes(activeStake.day)\n )\n const totalAmount = selectedStakes.reduce(\n (acc, activeStake) => acc + Number(activeStake.amount.fullValue),\n 0\n )\n const totalStake = selectedStakes.reduce(\n (acc, activeStake) => acc + Number(activeStake.stake.fullValue),\n 0\n )\n setSelectedCompletedStakesAmount(totalAmount.toString())\n setSelectedCompletedStakesStake(totalStake.toString())\n }, [finishedStakes, selectedRows])\n\n const handleClose = useCallback(() => {\n closeConfirmation()\n close()\n }, [closeConfirmation, close])\n\n return (\n <>\n \n \n {\n t(\n 'components.staking.staking.modal.manageDescription',\n 'View your active stakes, their staking power multiplier, and how many days left to be able to withdraw. Use the checkboxes to select which stakes you would like to withdraw into useable L1.'\n ) as string\n }\n \n \n \n \n {/* //! Switch to restake hidden for now */}\n {/* \n {t('components.staking.staking.modal.stake.restakePeriod', 'Restaking Period')}\n \n setIsRestake(!isRestake)}\n label=\"Restake Withdrawal\"\n /> */}\n {isRestake && (\n <>\n \n 0 ? stakeDays : ''}\n onChange={value => setStakeDays(Number(value))}\n min={MIN_STAKE_DAYS}\n max={stakeMaxDays}\n step={1}\n placeholder=\"\"\n />\n `${value} days`}\n onChange={setStakeDays}\n />\n \n \n {\n t(\n 'components.staking.staking.modal.withdraw.withdrawStatus',\n 'Enter or use slider to select a staking period between 1 day and 10 years. '\n ) as string\n }\n \n \n )}\n {isMobile &&\n (staked && stake && totalStakeSupply ? (\n \n ) : (\n \n ))}\n \n \n \n {selectedCompletedStakesAmount} {NATIVE_CHAIN_TICKER}\n \n \n \n \n {t('buttons.cancel', 'Cancel')}\n \n \n {isRestake ? t('buttons.restake', 'Restake') : t('buttons.withdraw', 'Withdraw')}\n \n \n \n \n {!isMobile &&\n (staked && stake && totalStakeSupply ? (\n \n ) : (\n \n ))}\n \n \n\n \n {isRestake ? (\n 0 ? contractCalls[0].args : undefined\n }\n stakeDays={stakeDays}\n close={closeConfirmation}\n />\n ) : (\n \n )}\n \n \n )\n}\n\nexport default Withdraw\n","import { Stack, Text, Title, useMantineTheme } from '@mantine/core'\nimport { useDisclosure, useMediaQuery } from '@mantine/hooks'\nimport React, { useMemo } from 'react'\nimport { Trans, useTranslation } from 'react-i18next'\n\nimport { STAKING_GUIDE } from '@/components/Airdrop/utils'\nimport RootButton from '@/components/Buttons/RootButton'\nimport Countdown from '@/components/Countdown'\nimport ModalSkeleton from '@/components/Modals/ModalSkeleton'\nimport Collect from '@/components/Modals/Staking/ManageStakingModal/Collect'\nimport Stake from '@/components/Modals/Staking/ManageStakingModal/Stake'\nimport Withdraw from '@/components/Modals/Staking/ManageStakingModal/Withdraw'\nimport TooltipTitle from '@/components/TooltipTitle'\nimport { useBalancesContext } from '@/contexts/BalancesContext'\nimport { useEconomicsContext } from '@/contexts/EconomicsContext'\nimport { useStakingContext } from '@/contexts/StakingContext'\nimport useLoginOnAction from '@/hooks/useLoginOnAction'\nimport useStakingBot from '@/hooks/useStakingBot'\nimport { useAuth } from '@/plugins/auth'\nimport { convertTimestampDateAndTime, formatValueToSuffix } from '@/utils/utils'\n\ninterface StakeInfoRowProps {\n title: React.ReactNode\n value: string\n description?: string\n button: {\n text: string | React.ReactNode\n onClick: () => void\n disabled?: boolean\n }\n}\n\nconst StakeInfoRow: React.FC = ({ title, value, description = '', button }) => {\n const theme = useMantineTheme()\n const isMobile = useMediaQuery(`(max-width: ${theme.breakpoints.sm})`)\n const isSmallScreen = useMediaQuery('(max-width: 1000px)')\n\n return (\n \n \n \n {title}\n {description && (\n \n {description}\n \n )}\n \n \n \n {value}\n \n \n {button.text}\n \n \n \n \n )\n}\n\nconst YourStaking: React.FC = () => {\n const theme = useMantineTheme()\n const { t } = useTranslation()\n const { status } = useAuth()\n const isMobile = useMediaQuery(`(max-width: ${theme.breakpoints.sm})`)\n const isDownMd = useMediaQuery(`(max-width: ${theme.breakpoints.md})`)\n\n const [opened, { open, close }] = useDisclosure(false)\n const [openedCollect, { open: openCollect, close: closeCollect }] = useDisclosure(false)\n const [openedManage, { open: openManage, close: closeManage }] = useDisclosure(false)\n\n // handle the navigation when user comes from sign out status\n const { handleNavigation: openManageStaking } = useLoginOnAction('staking', open)\n\n const {\n l1NetworkL1Balance,\n ll1: { withdrawable: ll1Withdrawable },\n rl1: { withdrawable: rl1Withdrawable },\n } = useBalancesContext()\n const {\n started,\n startDay,\n stakeMaxDays,\n stakeMultiplier,\n totalStakeSupply,\n rl1PerDay,\n rl1UnlockRate,\n } = useEconomicsContext()\n\n const { staked, stake, stakedList, claimableRewards } = useStakingContext()\n const { canCollect, nextCollectTimestamp } = useStakingBot()\n\n // Compute max reward per day per L1 staked (if staked for 10 years)\n const maxRewardPerDay = useMemo(() => {\n const stakeSupplyNumber = parseFloat(totalStakeSupply?.value.toString() || '1')\n // If total stake supply is 0, return rl1PerDay, since the first staker will get all rewards\n if (stakeSupplyNumber === 0) {\n return rl1PerDay / 1e18\n }\n // Otherwise, return the maximum reward per day per STAKE token assuming max staked days\n return (rl1PerDay * stakeMaxDays * stakeMultiplier) / stakeSupplyNumber\n }, [rl1PerDay, stakeMaxDays, stakeMultiplier, totalStakeSupply])\n\n // Compute current rewards\n const currentRewards = useMemo(() => {\n const stakeSupplyNumber = parseFloat(totalStakeSupply?.value.toString() || '1')\n const stakeNumber = parseFloat(stake?.value.toString() || '0')\n // If total stake supply is 0, return 0\n if (stakeSupplyNumber === 0) {\n return 0\n }\n return (stakeNumber * (rl1PerDay / 1e18)) / stakeSupplyNumber\n }, [stake, totalStakeSupply, rl1PerDay])\n\n // Components\n const IntroText = useMemo(\n () => (\n \n \n {`${started ? `Stake` : `Starting ${convertTimestampDateAndTime(startDay * 1000)} you will be able to stake`} your L1 to support the LAMINA1 network in exchange for staking power (STAKE) and Rewards L1 (RL1).`}\n    \n \n {t('components.staking.staking.stakingGuide', 'Staking Guide')}\n \n \n \n ),\n [started, startDay]\n )\n\n const CurrentStakingInfo = useMemo(\n () => (\n \n \n \n \n The amount of RL1 rewards tokens you are currently earning per day with your\n staked L1.\n \n }\n />\n \n \n {started ? formatValueToSuffix(Number(currentRewards), 4, 4) : '-'} RL1\n \n \n {formatValueToSuffix(Number(stake.fullValue), 4, 4) || '-'} STAKE\n \n \n \n \n \n \n \n \n ),\n [currentRewards, nextCollectTimestamp, canCollect, rl1UnlockRate, started, staked, t]\n )\n\n const ActionSet = useMemo(\n () => (\n \n \n }\n value={`${started ? staked.fullDisplay || '-' : '-'} L1`}\n description={`You have ${stakedList ? stakedList.length : '-'} active stake${stakedList && stakedList.length === 1 ? '' : 's'}`}\n button={{\n text: t('buttons.manage', 'Manage'),\n onClick: openManage,\n disabled: status !== 'connected' || !started || staked.value === BigInt(0),\n }}\n />\n \n }\n value={`${started ? l1NetworkL1Balance.fullDisplay || '-' : '-'} L1`}\n button={{\n text: t('buttons.stake', 'Stake'),\n onClick: openManageStaking,\n disabled: !started,\n }}\n description={`Right now you could earn up to ${started ? (maxRewardPerDay.toFixed(2) === '0.00' ? `${(maxRewardPerDay * 30).toFixed(2)} RL1 per month per staked L1` : `${maxRewardPerDay.toFixed(2)} RL1 per day per staked L1`) : '- RL1 per day per staked L1'}`}\n />\n \n ),\n [\n claimableRewards,\n stakedList,\n l1NetworkL1Balance,\n maxRewardPerDay,\n nextCollectTimestamp,\n openCollect,\n openManage,\n status,\n started,\n t,\n ]\n )\n\n // Modals\n const StakingModal = useMemo(\n () => (\n \n \n \n ),\n [close, opened, t]\n )\n\n const WithdrawModal = useMemo(\n () => (\n \n \n \n ),\n [closeManage, openedManage, t]\n )\n\n const CollectModal = useMemo(\n () => (\n \n \n \n ),\n [claimableRewards, closeCollect, ll1Withdrawable, openedCollect, rl1Withdrawable]\n )\n\n return (\n \n {/* Modals */}\n {StakingModal}\n {WithdrawModal}\n {CollectModal}\n {/* ------ */}\n {t('components.staking.staking.title', 'Stake L1')}\n \n {IntroText}\n {CurrentStakingInfo}\n \n {ActionSet}\n \n )\n}\n\nexport default YourStaking\n","import { Grid } from '@mantine/core'\nimport { useMediaQuery } from '@mantine/hooks'\nimport React from 'react'\n\nimport { useEconomicsContext } from '@/contexts/EconomicsContext'\n\nimport RewardsRecipients from './RewardsRecipients'\nimport YourStaking from './YourStaking'\n\nconst Staking: React.FC = () => {\n const { started } = useEconomicsContext()\n const isSmallScreen = useMediaQuery('(max-width: 1000px)')\n\n return (\n \n \n \n \n {started && (\n \n \n \n )}\n \n )\n}\n\nexport default Staking\n","import { gql } from '@apollo/client'\n\nimport { TotalOfItems } from './types'\n\nexport type NumberStakers = TotalOfItems\n\nexport const QUERY_GET_NUMBER_STAKERS = gql`\n query NumberStakers($stakeAddr: String!) {\n total: balance_aggregate(where: { token: { collection_id: { _eq: $stakeAddr } } }) {\n agg: aggregate {\n count\n }\n }\n }\n`\n","import { Stack, Text, Title, useMantineTheme } from '@mantine/core'\nimport { useMediaQuery } from '@mantine/hooks'\n\nimport { NATIVE_CHAIN_TICKER } from '@/constants/blockchain'\n\nimport TooltipTitle from '../TooltipTitle'\n\ninterface DataCardProps {\n title: string\n value: string\n description?: string[]\n tooltip?: string\n tooltipPosition?: 'top' | 'bottom' | 'left' | 'right'\n}\n\nconst DataCard: React.FC = ({\n title,\n value,\n description = [''],\n tooltip = '',\n tooltipPosition = 'top',\n}) => {\n const theme = useMantineTheme()\n const isMobile = useMediaQuery(`(max-width: ${theme.breakpoints.md})`)\n\n return (\n \n \n \n {value} {NATIVE_CHAIN_TICKER}\n \n \n {description &&\n description.length > 0 &&\n description.map((desc, index) => (\n \n {desc}\n \n ))}\n \n \n )\n}\n\nexport default DataCard\n","import { useQuery } from '@apollo/client'\nimport { Grid, Stack, Text, Title, useMantineTheme } from '@mantine/core'\nimport { useMediaQuery } from '@mantine/hooks'\nimport React, { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { STAKE_ADDRESS } from '@/constants/blockchain'\nimport { useEconomicsContext } from '@/contexts/EconomicsContext'\nimport { NumberStakers, QUERY_GET_NUMBER_STAKERS } from '@/schemas/staking.schema'\nimport { formatNumberWithCommas, processBalance } from '@/utils/utils'\n\nimport DataCard from '../Cards/DataCard'\nimport ErrorMessage from '../ErrorMessage'\nimport Loading from '../Loading'\n\nconst Supply: React.FC = () => {\n const { t } = useTranslation()\n const theme = useMantineTheme()\n const isMobile = useMediaQuery(`(max-width: ${theme.breakpoints.md})`)\n const isDownSm = useMediaQuery(`(max-width: ${theme.breakpoints.sm})`)\n\n const {\n totalStaked,\n ll1Unlockable,\n ll1UnlockRate,\n rl1Unlockable,\n rl1UnlockRate,\n locked,\n circulating,\n foundation,\n airdrop,\n liquid,\n othersBalance,\n isLoading,\n error: errorEconomics,\n } = useEconomicsContext()\n\n // Sum Others and Foundation balances\n const totalFoundation = useMemo(\n () => processBalance(foundation.value + othersBalance.value),\n [foundation, othersBalance]\n )\n\n // Compute staked percentage\n const stakedPercentage = useMemo(() => {\n const totalStakedValue = parseFloat(totalStaked.value.toString())\n const liquidValue = parseFloat(liquid.value.toString())\n return (100 * totalStakedValue) / (totalStakedValue + liquidValue)\n }, [totalStaked, liquid])\n\n // Compute held in staking/RL1/LL1\n const heldInStaking = useMemo(\n () => processBalance(totalStaked.value + ll1Unlockable.value + rl1Unlockable.value),\n [totalStaked, ll1Unlockable, rl1Unlockable]\n )\n\n // Get number of stakers\n const {\n loading: loadingQuery,\n error: errorQuery,\n data,\n } = useQuery(QUERY_GET_NUMBER_STAKERS, {\n variables: {\n stakeAddr: STAKE_ADDRESS.toLowerCase(),\n },\n defaultOptions: {\n pollInterval: 60000,\n },\n })\n\n const numStakers = useMemo(\n () => (data ? formatNumberWithCommas(data.total.agg.count) : '-'),\n [data]\n )\n\n // Loading and error handling\n const loading = useMemo(() => isLoading || loadingQuery, [isLoading, loadingQuery])\n const error = useMemo(\n () => ({\n isError: errorEconomics.isError || errorQuery !== undefined,\n call: 'Economics',\n msg: errorQuery?.message || '',\n }),\n [errorEconomics, errorQuery]\n )\n\n return (\n \n {t('components.staking.supply.title', 'L1 Supply')}\n \n {t(\n 'components.staking.supply.description',\n 'Understand the balance and movement of L1 at a glance — the foundation of our thriving digital economy.'\n )}\n \n {loading && }\n {error.isError && (\n \n )}\n {!loading && !error.isError && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n )\n}\n\nexport default Supply\n","import { EconomicsProvider } from '@/contexts/EconomicsContext'\nimport { StakingProvider } from '@/contexts/StakingContext'\n\nimport { BodyStack } from '../../styled/components'\nimport HelpDrawer from '../HelpDrawer/HelpDrawer'\nimport GovernanceCarousel from './GovernanceCarousel'\nimport Staking from './Staking/Staking'\nimport Supply from './Supply'\n\nconst Component: React.FC = () => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n)\n\nComponent.displayName = 'StakingPage'\n\n// eslint-disable-next-line import/prefer-default-export\nexport { Component }\n"],"names":["IconDownload","createReactComponent","EmptyStaking","emptyBalance","useGetUnlockableAndBurnableAmounts","address","days","deps","isLoading","setIsLoading","useState","isError","setIsError","value","setValue","config","getWagmiConfig","getAmounts","unlockable","day","readContract","l1NativeConfig","STAKE_ADDRESS","Stake","burnable","u","i","processBalance","useEffect","maxDays","useGetRewards","startDay","endDay","getRewards","start","end","numBatches","batches","batchStart","batchEnd","total","s","e","acc","val","useStaking","useAuth","blockNumber","useChainValues","l1NativeWagmiConfig","staked","isLoadingStaked","errorStaked","useCustomContractReadBalance","stake","isLoadingStake","errorStake","started","isLoadingHasStarted","errorHasStarted","useCustomContractRead","today","isLoadingToday","unlockableDays","isLoadingunlockableDays","errorunlockableDays","unlockableAmounts","isLoadingUnlockableAmounts","errorUnlockableAmounts","stakedList","useMemo","amount","a","b","stakeBalanceChanges","isLoadingStakeBalanceChanges","errorStakeBalanceChanges","largestClaimedDay","isLoadingLargestClaimedDay","errorLargestClaimedDay","lastDay","claimableRewards","isLoadingClaimableRewards","errorClaimableRewards","errors","error","parseError","StakingContext","createContext","StakingProvider","children","jsx","useStakingContext","useContext","GovernanceCarousel","language","useTranslation","errorMessages","useErrorMessages","theme","useMantineTheme","isMobile","useMediaQuery","setError","governanceCarousel","setGovernanceCarousel","useSessionStorage","galleryImageByEntry","setGalleryImageByEntry","client","GOVERNANCE_CAROUSEL_CONTENT_TYPE","response","sortedContent","err","oldGalleryImageByEntry","pullGalleryImage","Stack","Title","Loading","ErrorMessage","Carousel","IconCaretLeftFilled","IconCaretRightFilled","elem","index","card","wrapData","CTACard","_excluded","_extends","target","source","key","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","o","minLen","_arrayLikeToArray","n","iter","len","arr2","isValidatePoint","point","getParsedPoints","points","segmentPoints","entry","getSinglePolygonPath","connectNulls","res","segPoints","polygonPath","path","getRanglePath","baseLinePoints","outerPath","Polygon","props","className","others","layerClass","clsx","hasStroke","rangePath","React","filterProps","singlePath","baseExtremum","require$$0","baseGt","require$$1","baseIteratee","require$$2","maxBy","array","iteratee","maxBy_1","baseLt","minBy","minBy_1","_excluded2","_typeof","ownKeys","r","t","_objectSpread","_defineProperty","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","self","call","_assertThisInitialized","_inherits","subClass","superClass","_setPrototypeOf","p","obj","_toPrimitive","PolarRadiusAxis","_PureComponent","_ref","coordinate","_this$props","angle","cx","cy","polarToCartesian","orientation","textAnchor","_this$props2","ticks","maxRadiusTick","minRadiusTick","_this$props3","axisLine","extent","result","point0","point1","_this","_this$props4","tick","tickFormatter","stroke","axisProps","customTickProps","items","coord","tickProps","Layer","getTickClassName","adaptEventsOfChild","_this$props5","Label","option","tickItem","isFunction","Text","PureComponent","RADIAN","eps","PolarAngleAxis","data","radius","tickSize","tickLineSize","p1","p2","cos","axisLineType","Dot","tickLine","tickLineProps","lineCoord","_Pie","Pie","uniqueId","onAnimationEnd","onAnimationStart","activeIndex","sectors","isAnimationActive","label","labelLine","dataKey","valueKey","pieProps","customLabelProps","customLabelLineProps","offsetRadius","labels","midAngle","endPoint","labelProps","lineProps","realDataKey","isNil","getValueByDataKey","_this2","activeShape","blendStroke","inactiveShapeProp","isActive","inactiveShape","sectorOptions","sectorProps","Shape","_this3","animationBegin","animationDuration","animationEasing","animationId","_this$state","prevSectors","prevIsAnimationActive","Animate","_ref2","stepData","first","curAngle","prev","paddingAngle","get","angleIp","interpolateNumber","latest","endAngle","startAngle","interpolatorAngle","deltaAngle","_latest","pieRef","_this4","next","_next","isEqual","_this5","hide","innerRadius","outerRadius","isAnimationFinished","isNumber","_ref3","LabelList","nextProps","prevState","x","Curve","Global","sign","mathSign","itemProps","presentationProps","cells","findAllByType","Cell","cell","offset","top","left","width","height","maxPieRadius","getMaxRadius","getPercentValue","maxRadius","_ref4","item","pieData","cornerRadius","nameKey","tooltipType","minAngle","absDeltaAngle","warn","notZeroItemCount","totalPadingAngle","realTotalAngle","sum","name","percent","tempStartAngle","tempEndAngle","middleRadius","tooltipPayload","tooltipPosition","PieChart","generateCategoricalChart","formatAxisMap","classes","defaultProps","varsResolver","createVarsResolver","strokeColor","labelColor","withLabels","size","labelsPosition","getThemeColor","rem","getLabelValue","labelsType","valueFormatter","getInsideLabel","getOutsideLabel","y","factory","_props","ref","useProps","classNames","style","styles","unstyled","vars","withTooltip","tooltipAnimationDuration","tooltipProps","withLabelsLine","strokeWidth","tooltipDataSource","pieChartProps","getStyles","useStyles","resolvedClassNames","resolvedStyles","useResolvedStylesApi","Box","ResponsiveContainer","jsxs","PieChart$1","Tooltip","payload","ChartTooltip","_a","parseDate","date","Countdown","futureDate","countdownMessage","countdown","setCountdown","updateCountdown","now","diff","hours","minutes","seconds","interval","Fragment","MSTClock","currentTime","setCurrentTime","timer","newTime","metaverseStandardDateAndTime","ChartLegendRow","color","text","ChartLegend","rl1Minted","title","RewardsRecipients","isDownMd","getCurrentDay","getDayStart","rl1CurrentPeriod","rl1CurrentPeriodStart","rl1CurrentPeriodEnd","rl1SupplyLeft","rewardsPercentages","useEconomicsContext","periodStart","periodEnd","values","issuancePercentage","trigger","setTrigger","nextDayStart","useStakingBot","canCollect","setCanCollect","lastCollectTimestamp","setLastCollectTimestamp","nextCollectTimestamp","setNextCollectTimestamp","fetchStatus","useCallback","retval","post","STAKING_BOT","timestamp","convertTimestampDateAndTimeUTC","message","collectRewards","signature","signMessage","Collect","close","ll1Withdrawable","rl1Withdrawable","isReady","setIsReady","handleClaim","totalUnwrap","ConfirmationLoading","ConfirmationReady","TooltipTitle","RootButton","MAX_WITHOUT_SUFFIX","StakeCalculator","newStake","stakeMaxDays","stakeMultiplier","currentStaked","currentStake","rl1PerDay","stakeSupply","state","currStakedNumber","currStakeNumber","currStakeSupplyNumber","currRl1PerDayNumber","currRewards","afterStaked","afterStake","afterStakeSupply","afterRL1","stakePercentage","newRewards","rl1perDayPerL1","rl1Apy","formatValueToSuffix","openedConfirmation","openConfirmation","closeConfirmation","useDisclosure","estimatedFee","MIN_STAKE_AMOUNT","setAmount","writeContract","useChainFunctions","totalStakeSupply","stakeDays","setStakeDays","contractCalls","StakeAbi","parseEther","handleStake","withdrawalDate","handleCloseConfirmationCancel","handleCloseConfirmation","CurrencyInput","NumberInput","MIN_STAKE_DAYS","Slider","Trans","formatDays","TransactionSummary","ModalSkeleton","isSafari","isJsons","row","isArrays","jsonsHeaders","json","jsons2arrays","jsons","headers","headerLabels","headerKeys","header","object","getHeaderValue","property","foundValue","elementOrEmpty","element","joiner","separator","enclosingCharacter","column","arrays2csv","jsons2csv","string2csv","toCSV","buildURI","uFEFF","csv","type","blob","dataURI","URL","propTypes","oneOfType","string","func","bool","CSVDownload","specs","replace","__publicField","commonDefaultProps","commonPropTypes","CSVLink$1","event","isAsync","filename","csvData","done","proceed","onClick","asyncOnClick","rest","href","link","CSVLink","Link","WithdrawTable","activeStakes","selectedRows","setSelectedRows","withdrawOptions","setWithdrawOptions","allChecked","indeterminate","activeStakeValues","handleSelectAll","rows","Table","TooltipText","Checkbox","randomId","ScrollArea","RestakeConfirmation","selectedCompletedStakes","stakeCallConfig","handleRestake","unlockMultipleConfig","WithdrawConfirmation","cancel","selectedDays","withdrawConfigCalls","calls","handleWithdraw","Withdraw","selectedCompletedStakesAmount","setSelectedCompletedStakesAmount","selectedCompletedStakesStake","setSelectedCompletedStakesStake","isRestake","setIsRestake","finishedStakes","stakeItem","selectedStakes","activeStake","totalAmount","totalStake","handleClose","NATIVE_CHAIN_TICKER","StakeInfoRow","description","button","isSmallScreen","YourStaking","status","opened","open","openedCollect","openCollect","closeCollect","openedManage","openManage","closeManage","openManageStaking","useLoginOnAction","l1NetworkL1Balance","useBalancesContext","rl1UnlockRate","maxRewardPerDay","stakeSupplyNumber","currentRewards","stakeNumber","IntroText","convertTimestampDateAndTime","STAKING_GUIDE","CurrentStakingInfo","ActionSet","StakingModal","WithdrawModal","CollectModal","Staking","Grid","QUERY_GET_NUMBER_STAKERS","gql","DataCard","tooltip","desc","Supply","isDownSm","totalStaked","ll1Unlockable","ll1UnlockRate","rl1Unlockable","locked","circulating","foundation","airdrop","liquid","othersBalance","errorEconomics","totalFoundation","stakedPercentage","totalStakedValue","liquidValue","heldInStaking","loadingQuery","errorQuery","useQuery","numStakers","formatNumberWithCommas","loading","Component","EconomicsProvider","BodyStack","HelpDrawer"],"mappings":"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","x_google_ignoreList":[0,4,5,6,7,8,9,10,11,12,20,21,22,23,24]}