{"version":3,"file":"static/chunks/142-47af75ebeb39cb4a.js","mappings":"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","sources":["webpack://_N_E/./src/components/base/CustomNumericFormat.tsx","webpack://_N_E/./src/components/base/AmountInput.tsx","webpack://_N_E/./src/components/base/BaseDialog.tsx","webpack://_N_E/./src/components/base/BootstrapTooltip.tsx","webpack://_N_E/./src/components/base/IneligibleLCRatio.tsx","webpack://_N_E/./src/components/base/JitoValidatorSwitch.tsx","webpack://_N_E/./src/components/base/seo.tsx","webpack://_N_E/./src/hooks/use-stake.ts","webpack://_N_E/./src/components/stake/flexible-apy-dialog.tsx","webpack://_N_E/./src/hooks/use-protocol-data.ts","webpack://_N_E/./src/locales/en.ts","webpack://_N_E/./src/hooks/use-trans.ts","webpack://_N_E/./src/utils/apis/setting.ts","webpack://_N_E/./src/utils/apis/staking-positions.ts","webpack://_N_E/./src/utils/staking-helpers.ts","webpack://_N_E/./src/utils/time-helpers.ts","webpack://_N_E/"],"sourcesContent":["import React, { ChangeEvent } from 'react'\n\nimport {\n NumericFormat,\n NumericFormatProps,\n} from 'react-number-format'\n\ninterface CustomProps {\n onChange: (event: { target: { name: string; value: string } }) => void;\n name: string;\n}\nconst CustomNumericFormat = React.forwardRef(\n function NumericFormatCustom(props, ref) {\n const { onChange, ...other } = props\n\n return (\n ) => {\n onChange({\n ...event,\n target: {\n ...event.target,\n name: props.name,\n value: event.target.value.replaceAll(',', ''),\n },\n })\n }}\n thousandSeparator\n valueIsNumericString\n />\n )\n },\n)\n\nexport default CustomNumericFormat\n","import { FC, useState } from 'react'\n\nimport CustomNumericFormat from '@/components/base/CustomNumericFormat'\nimport {\n Avatar,\n Box,\n Divider,\n InputBase,\n Stack,\n Typography,\n} from '@mui/material'\nimport ErrorOutlineIcon from '@mui/icons-material/ErrorOutline'\nimport { format } from '../../utils/number-helpers'\n\ntype BaseInputAmountParams = {\n amount: string\n setAmount: (value: string) => void\n tokenAvatar: string\n tokenSymbol: string\n checkStakingBalance?: boolean\n balance?: number\n minAmount?: number\n}\nconst AmountInput: FC = ({\n amount,\n setAmount,\n tokenAvatar,\n tokenSymbol,\n checkStakingBalance = false,\n balance = 0,\n minAmount = 0,\n}) => {\n const [error, setError] = useState('')\n const handleAmountChange = (event: React.ChangeEvent) => {\n const value = event.target.value\n setAmount(value.toString())\n\n if (Number(value) < 0) {\n setError('Amount cannot be negative')\n } else if (value === '') {\n setError('Amount is required')\n } else if (Number(value) < minAmount) {\n setError(`Min amount: ${minAmount} ${tokenSymbol}`)\n } else if (Number(value) > balance) {\n setError('Insufficient balance')\n } else {\n setError('')\n }\n }\n\n return (\n \n \n \n \n Amount\n \n \n \n \n \n \n {tokenSymbol}\n \n \n \n \n \n \n \n \n \n {checkStakingBalance\n ? 'Staking balance:'\n : 'Available balance:'}\n \n \n  {format(balance, true)} {tokenSymbol}\n \n \n setAmount(balance.toString())}\n >\n Enter max\n \n \n {error && (\n \n \n \n {error}\n \n \n )}\n \n \n \n )\n}\n\nexport default AmountInput\n","import { FC, type ReactNode } from 'react'\n\nimport CloseIcon from '@mui/icons-material/Close'\nimport {\n Avatar,\n Dialog,\n Divider,\n IconButton,\n Stack,\n Typography,\n} from '@mui/material'\n\nimport Decimal from 'decimal.js'\nimport { format } from '@/utils/number-helpers'\n\ntype BaseDialogParams = {\n title?: string\n tokenAvatar?: string\n tokenSymbol?: string\n titleAmount?: number\n body: ReactNode\n isOpened?: boolean\n handleClose: () => void\n className?: string\n}\nconst BaseDialog: FC = ({\n title,\n tokenAvatar,\n tokenSymbol,\n titleAmount,\n body,\n isOpened,\n handleClose,\n ...dialogProps\n}) => {\n return (\n \n \n \n {title ? (\n \n {title}\n \n ) : (\n \n \n \n \n {tokenSymbol}\n \n \n {`${format(new Decimal(titleAmount || 0), true, 2)}`}\n \n \n \n )}\n theme.palette.grey[500],\n alignSelf: 'flex-start',\n }}\n >\n \n \n \n \n {body}\n \n \n )\n}\n\nexport default BaseDialog\n","import { styled, Tooltip, tooltipClasses, TooltipProps } from '@mui/material'\n\nconst BootstrapTooltip = styled(({ className, ...props }: TooltipProps) => (\n \n))(({ theme }) => ({\n [`& .${tooltipClasses.arrow}`]: {\n color: '#DCC1FF',\n },\n [`& .${tooltipClasses.tooltip}`]: {\n backgroundColor: '#DCC1FF',\n color: '#010101A3',\n fontSize: '14px',\n lineHeight: '20px',\n maxWidth: '400px',\n padding: '12px 16px',\n fontFamily: 'DM Mono Regular',\n borderRadius: '12px',\n [theme.breakpoints.down('xs')]: {\n fontSize: '12px',\n lineHeight: '18px',\n },\n },\n}))\n\nexport default BootstrapTooltip\n","import { Stack, Typography, useMediaQuery, useTheme } from '@mui/material'\nimport HelpOutlineIcon from '@mui/icons-material/HelpOutline'\nimport BootstrapTooltip from '@/components/base/BootstrapTooltip'\nimport { useState } from 'react'\n\nconst IneligibleLCRatio = () => {\n const theme = useTheme()\n const isSmall = useMediaQuery(theme.breakpoints.up('sm'))\n const [iconColor, setIconColor] = useState('#FFFFFF7A')\n\n const handleIconClick = () => {\n if (!isSmall) {\n // Change icon color when clicked\n setIconColor('#FAFAFA')\n\n // Revert the color after 2 seconds\n setTimeout(() => {\n setIconColor('#FFFFFF7A')\n }, 1600)\n }\n }\n return (\n \n LC ratio\n \n Ineligible\n \n \n \n \n \n )\n}\n\nexport default IneligibleLCRatio\n","import { Stack, styled, Switch, Typography, useMediaQuery, useTheme } from '@mui/material'\nimport HelpOutlineIcon from '@mui/icons-material/HelpOutline'\nimport BootstrapTooltip from '@/components/base/BootstrapTooltip'\nimport { useState } from 'react'\nimport { useSolana } from '../../providers/solana'\n\nconst CustomSwitch = styled(Switch)(({ theme }) => ({\n width: 40,\n height: 24,\n padding: 7,\n '& .MuiSwitch-switchBase': {\n padding: 0,\n top: '50%',\n left: 2,\n transform: 'translate(0, -50%)',\n '&.Mui-checked': {\n transform: 'translate(20px, -50%)',\n color: '#fff',\n '& .MuiSwitch-thumb': {\n backgroundColor: '#6DFCD1',\n },\n '& .MuiSwitch-thumb:before': {\n backgroundImage:\n \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E\\\")\", // Check mark\n },\n '& + .MuiSwitch-track': {\n backgroundColor: '#3d836f', // Track color when toggle is on\n opacity: 1,\n border: 0,\n },\n },\n },\n '& .MuiSwitch-thumb': {\n width: 16,\n height: 16,\n backgroundColor: '#FAFAFA', // Thumb color when toggle is off\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n '&:before': {\n content: '\"\"',\n width: '100%',\n height: '100%',\n backgroundImage:\n \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2301010129' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18L18 6M6 6l12 12'/%3E%3C/svg%3E\\\")\", // Cross icon with color #01010129\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n backgroundSize: '60%',\n },\n },\n '& .MuiSwitch-track': {\n borderRadius: 13,\n backgroundColor: '#818081', // Track color when toggle is off\n opacity: 1,\n },\n}))\n\nconst JitoValidatorSwitch = () => {\n const theme = useTheme()\n const isSmall = useMediaQuery(theme.breakpoints.up('sm'))\n const [iconColor, setIconColor] = useState('#FFFFFF7A')\n const { usingJitoValidator, setUsingJitoValidator } = useSolana()\n\n const handleSwitchChange = (event: React.ChangeEvent) => {\n setUsingJitoValidator && setUsingJitoValidator(event.target.checked)\n }\n\n const handleIconClick = () => {\n if (!isSmall) {\n // Change icon color when clicked\n setIconColor('#FAFAFA')\n\n // Revert the color after 2 seconds\n setTimeout(() => {\n setIconColor('#FFFFFF7A')\n }, 1600)\n }\n }\n return (\n \n \n Use Jito\n \n \n \n \n \n \n )\n}\n\nexport default JitoValidatorSwitch\n","import React from 'react'\n\nimport Head from 'next/head'\n\ninterface SeoData {\n title: string;\n description: string;\n url?: string;\n thumbnailUrl?: string;\n}\n\ninterface SeoProps {\n data: SeoData;\n}\n\nconst Seo = ({ data }: SeoProps) => {\n const { title, description, url, thumbnailUrl } = data\n const ahrefMetaContent = process.env.NEXT_PUBLIC_AHREF_META\n\n return (\n \n {/* */}\n {title}\n \n \n\n {/* */}\n \n \n \n \n \n\n {/* */}\n \n \n \n \n \n {/* */}\n \n \n )\n}\n\nexport default Seo\n","import BN from 'bn.js'\nimport { useMutation, useQueryClient } from 'react-query'\n\nimport { useSolana } from '../providers/solana'\nimport { convertUIAmountToRawAmount } from '../utils/bn-utils'\nimport { LAMPORTS_PER_SOL, PublicKey, SystemProgram } from '@solana/web3.js'\nimport { useProjects } from './use-projects'\nimport { logStakingPosition } from '../utils/apis/staking-positions'\nimport { getProjectByAddress } from '../utils/fetch-projects'\nimport bs58 from 'bs58'\n\nexport function useStake() {\n const { stakingClient, connection, publicKey, signTransaction, usingJitoValidator, jitoClient, jitoTipAmount } =\n useSolana()\n const queryClient = useQueryClient()\n\n const { projects } = useProjects()\n\n const mutation = useMutation(\n async ([tokenAddress, amount]) => {\n if (!stakingClient || !connection || !publicKey || !signTransaction) {\n return\n }\n\n const project = projects.find((project) => project.address === tokenAddress)\n\n if (!project) {\n return\n }\n\n const stakeAmount = convertUIAmountToRawAmount(amount, project.decimals)\n const tx = await stakingClient.stake(new BN(stakeAmount), true, new PublicKey(tokenAddress))\n if (usingJitoValidator) {\n const randomTipAccount = await jitoClient.getRandomTipAccount()\n const jitoTipAccount = new PublicKey(randomTipAccount)\n\n tx.add(\n SystemProgram.transfer({\n fromPubkey: publicKey,\n toPubkey: jitoTipAccount,\n lamports: jitoTipAmount * LAMPORTS_PER_SOL,\n }),\n )\n }\n\n const latestBlockHash = await connection.getLatestBlockhash()\n tx.recentBlockhash = latestBlockHash.blockhash\n tx.feePayer = publicKey\n\n const signedTx = await signTransaction(tx)\n const serializedTx = signedTx.serialize()\n let signature\n\n if (usingJitoValidator) {\n const result = await jitoClient.sendTxn([bs58.encode(new Uint8Array(serializedTx))], false)\n signature = result?.result\n } else {\n signature = await connection.sendRawTransaction(serializedTx)\n }\n\n await connection.confirmTransaction({\n blockhash: latestBlockHash.blockhash,\n lastValidBlockHeight: latestBlockHash.lastValidBlockHeight,\n signature: signature,\n })\n\n return signature\n },\n {\n onSuccess: async (signature, [tokenAddress, amount]) => {\n queryClient.invalidateQueries(['userFlexibleStakingInfo', publicKey])\n queryClient.invalidateQueries(['protocolBasicInfo', tokenAddress])\n queryClient.invalidateQueries(['tokenBalance', tokenAddress, publicKey?.toString() || ''])\n\n const project = getProjectByAddress(tokenAddress)\n\n if (project && signature) {\n // Log staking position\n await logStakingPosition({\n wallet_address: publicKey?.toString() || '',\n action: 'deposit',\n amount: Number(amount),\n tx_hash: signature,\n symbol: project.symbol,\n stake_type: 'flexible',\n vault_index: 0,\n })\n }\n },\n },\n )\n\n return mutation\n}\n","import { FC, useCallback, useState } from 'react'\n\nimport { useQuery } from 'react-query'\n\nimport AmountInput from '@/components/base/AmountInput'\nimport BaseDialog from '@/components/base/BaseDialog'\nimport BaseButton from '@/components/base/Button'\nimport { useStake } from '@/root/src/hooks/use-stake'\nimport { useTokenBalance } from '@/root/src/hooks/use-token-balance'\nimport { fetchSetting } from '@/root/src/utils/apis/setting'\nimport { format, formatPercentage } from '@/root/src/utils/number-helpers'\nimport { calculateEstDailyReward } from '@/root/src/utils/staking-helpers'\nimport { secondsToDays } from '@/root/src/utils/time-helpers'\nimport { Box, Divider, Stack, Typography, useMediaQuery, useTheme } from '@mui/material'\nimport { useWallet } from '@solana/wallet-adapter-react'\nimport ConnectWallet from '../connect-wallet'\nimport IneligibleLCRatio from '../base/IneligibleLCRatio'\nimport { isSolcatToken } from '../../utils/helpers'\nimport { useProtocolData } from '../../hooks/use-protocol-data'\nimport { useRouter } from 'next/router'\nimport JitoValidatorSwitch from '../base/JitoValidatorSwitch'\n\nconst mintTextDetails = ['Est APR', 'Est daily reward', 'LC earning']\n\ntype DialogProps = {\n showModal: boolean\n onClose: () => void\n tokenAvatar: string\n tokenSymbol: string\n tokenAddress: string\n}\n\nconst FlexibleAPYDialog: FC = ({ showModal, onClose, tokenAvatar, tokenSymbol, tokenAddress }) => {\n const [amount, setAmount] = useState('')\n const { connected } = useWallet()\n const router = useRouter()\n const theme = useTheme()\n const isSmall = useMediaQuery(theme.breakpoints.up('sm'))\n\n const { data: tokenBalance } = useTokenBalance(tokenAddress)\n\n // const { data: stakingInfo } = useStakingInfo(tokenAddress)\n const { data: protocolData } = useProtocolData([tokenAddress])\n const stakingInfo = protocolData?.stakingInfo[tokenAddress]\n\n const flexibleApr = stakingInfo?.flexibleApr\n const flexibleWithdrawalDelayTime = stakingInfo?.flexibleWithdrawalDelayTime\n\n const withdrawDelayDays = secondsToDays(Number(flexibleWithdrawalDelayTime) || 0)\n\n const { data: settingData } = useQuery({\n queryKey: ['setting'],\n queryFn: () => fetchSetting(),\n })\n const isSolcat = isSolcatToken(tokenSymbol)\n const lcRatio = isSolcat ? settingData?.stake_lc_ratio_json?.flexible : 0\n const lcEarning = amount ? Number(lcRatio || 0) * Number(amount) : 0\n const formattedLcRatio = lcRatio + 'x'\n const formattedLcEarning = format(lcEarning, true, 0)\n const estDailyReward = calculateEstDailyReward(flexibleApr?.toString() || '0', amount || '0')\n const stakeDetails = [\n {\n name: 'Est APR',\n value: `${formatPercentage(flexibleApr?.toString() || '0', false, 2)}`,\n },\n { name: 'Unstake delay time', value: `${withdrawDelayDays} days` },\n { name: 'LC ratio', value: formattedLcRatio },\n ...(isSolcat ? [{ name: 'LC earning', value: formattedLcEarning }] : []),\n {\n name: 'Est daily reward',\n value: `${estDailyReward} ${tokenSymbol}`,\n },\n ]\n\n const { mutateAsync: stake, isLoading: isLoadingStake } = useStake()\n\n const handleCloseModal = useCallback(() => {\n onClose()\n setAmount('')\n document.body.style.overflow = 'auto'\n }, [onClose])\n\n const handleStake = async () => {\n try {\n await stake([tokenAddress, amount])\n router.push('/portfolio')\n } catch (error) {\n console.error('Error during staking:', error)\n } finally {\n handleCloseModal()\n }\n }\n\n return (\n \n \n \n \n {stakeDetails.map((detail, index) => {\n if (!isSolcat && detail.name === 'LC ratio') return \n return (\n \n \n {detail.name}\n \n \n {detail.value}\n \n \n )\n })}\n {connected && }\n \n \n {!connected ? (\n handleCloseModal()}>\n \n \n ) : (\n Number(tokenBalance)}\n customVariant=\"emphasis\"\n fontSize={isSmall ? 'base' : 'sm'}\n onClick={handleStake}\n isLoading={isLoadingStake}\n className=\"px-6 py-3\"\n >\n Stake\n \n )}\n \n }\n />\n )\n}\n\nexport default FlexibleAPYDialog\n","import { useQuery, UseQueryResult } from 'react-query'\nimport { useSolana } from '../providers/solana'\nimport { getProtocolInfo, ProtocolV2StakingInfo, SolCatStakingProtocolInfo } from '@catsolhat/staking-sdk'\nimport { PublicKey } from '@solana/web3.js'\nimport { isSolcatTokenAddress } from '../utils/helpers'\n\nexport const useProtocolData = (tokenAddresses: string[] = []): UseQueryResult => {\n const { connection } = useSolana()\n\n const fetchProtocolData = async () => {\n if (!connection || tokenAddresses.length === 0) return\n\n const solcatTokens = tokenAddresses.filter(isSolcatTokenAddress)\n const regularTokens = tokenAddresses.filter((address) => !isSolcatTokenAddress(address))\n\n const v1Result =\n solcatTokens.length > 0\n ? await getProtocolInfo(\n connection,\n false,\n solcatTokens.map((address) => new PublicKey(address)),\n )\n : (null as SolCatStakingProtocolInfo | null)\n\n const v2Result =\n regularTokens.length > 0\n ? await getProtocolInfo(\n connection,\n true,\n regularTokens.map((address) => new PublicKey(address)),\n )\n : null\n\n const v1ResultTransformed = v1Result ? transformV1ToV2Format(v1Result as SolCatStakingProtocolInfo) : null\n const result = {\n admin: v2Result?.admin,\n stakingInfo: {\n ...(v2Result as ProtocolV2StakingInfo)?.stakingInfo,\n ...v1ResultTransformed?.stakingInfo,\n },\n }\n return result as ProtocolV2StakingInfo\n }\n\n const tokenCacheKey = tokenAddresses.length > 0 ? tokenAddresses.join(',') : 'all_tokens'\n return useQuery(['protocolBasicInfo', tokenCacheKey], fetchProtocolData, {\n enabled: !!connection,\n })\n}\n\nconst transformV1ToV2Format = (v1Data: SolCatStakingProtocolInfo): ProtocolV2StakingInfo => {\n return {\n admin: v1Data.admin,\n stakingInfo: {\n [v1Data.mint]: {\n flexibleRewardRate: v1Data.flexibleRewardRate,\n flexibleApr: v1Data.flexibleApr,\n flexibleWithdrawalDelayTime: v1Data.flexibleWithdrawalDelayTime,\n lockupApy: v1Data.lockupApy,\n lockupDuration: v1Data.lockupDuration,\n minLockupAmount: v1Data.minLockupAmount,\n },\n },\n }\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst locale: { [key: string]: any } = {\n BODO: {\n website_url: 'https://boopdoge.com/',\n telegram_url: 'https://t.me/BoopDoge_Token',\n x_url: 'https://x.com/BoopDoge_Token',\n guide_url:\n 'https://catsolhat.medium.com/introducing-the-first-catsolhat-launchpad-project-boopdoge-4e136347e53f',\n description:\n '

BoopDoge is a community-driven meme coin inspired by the urge to boop a dog on the nose. Our mission is to help passionate dog lovers and crypto enthusiasts achieve financial freedom.

BoopDoge will be a flagship for emerging DeFi and meme culture on Solana. This is part of a larger plan to strengthen the creator culture on Solana as BoopDoge continues to integrate into the broader ecosystem.

',\n eligibility: (eligibleAmount: number) =>\n `

Average holding of at least ${eligibleAmount} SOLCAT (based on two snapshots). \\\n The first snapshot was taken on 1st July. The second snapshot will be taken at a random moment between 6th and 8th July.

`,\n token_name: 'BoopDoge',\n blockchain: 'Solana',\n },\n meta: {\n title: 'CatSolHat Super Airdrop',\n description:\n 'Claim your SOLCAT airdrop: Early Contributors, Active Wallets on Solana DEXs, Saga Phone Buyers, Top NFT Collections Holders,...',\n thumbnail_url: '/thumbnail.png',\n },\n instruction: {\n stake_solcat: {\n title: 'Get SOLCAT & Connect',\n description:\n '

Grab your SOLCAT from any DEX. Then, connect your wallet to the staking platform and click
STAKE NOW.

',\n },\n staking_plan: {\n title: 'Choose Your Staking Plan',\n description:\n '

Choose between two staking options: Flexible and Fixed. Both offer great interest rates and earn you Launchpad Credit (LC).

',\n },\n reward: {\n title: 'Unlock Max Rewards',\n description:\n '

Fixed staking gives the highest interest rates and multiplied LC, boosting your eligibility for launchpad presales and airdrops.

',\n },\n },\n}\n\nexport default locale\n","import { useRouter } from 'next/router'\n\nimport en from '@/locales/en'\n\nconst useTrans = () => {\n const { locale } = useRouter()\n\n switch (locale) {\n default:\n return en\n }\n}\n\nexport default useTrans\n","import axios from 'axios'\n\nexport async function fetchSetting(): Promise<{\n stake_lc_ratio_json: {\n flexible: number\n locked30: number\n locked90: number\n locked180: number\n [key: string]: number\n }\n}> {\n const response = await axios.get(\n `${process.env.NEXT_PUBLIC_API_BASE_URL}/settings`,\n )\n return {\n stake_lc_ratio_json: response.data.stake_lc_ratio_json,\n }\n}\n","import { postToApi } from '.'\n\nexport interface StakingPositionParams {\n wallet_address: string\n action: 'deposit' | 'withdraw' | 'redeem' | 'claim'\n amount: number\n tx_hash: string\n symbol: string\n stake_type: 'flexible' | 'fixed'\n vault_index: number\n}\n\nexport async function logStakingPosition(params: StakingPositionParams): Promise<{\n success: boolean\n}> {\n return await postToApi('/staking/positions', params)\n}\n","import { DAYS_PER_YEAR, SECOND_PER_DAY } from '../constants'\nimport { FixStakedPosition, FormattedFixStakedPosition } from '../types/fix-staked-position'\nimport { FlexStakedPosition, FormattedFlexStakedPosition } from '../types/flex-staked-position'\nimport { UnstakePosition } from '../types/unstake-position'\nimport { FormattedUnstakePosition } from '../types/unstake-position'\nimport { format, formatPercentage } from './number-helpers'\nimport { formatRemainingTime, secondsToDays } from './time-helpers'\n\nexport const checkIfLockupStaked = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n lockupStakingInfo: any,\n connected: boolean,\n) => {\n return connected && !!lockupStakingInfo?.lockupStakingAccounts?.length\n}\n\nexport const checkIfExistUnstakePosition = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n userFlexibleStakingInfo: any,\n connected: boolean,\n) => {\n return connected && !!userFlexibleStakingInfo?.withdrawPositions?.length\n}\n\nexport const convertOnChainFixedAprToPercentage = (apr: number) => {\n // 5% fixed apr -> 500 on chain\n return apr / 10000\n}\n\nexport const calculateEstDailyReward = (apr: string, stakedAmount: string): string => {\n const dailyReward = (Number(apr) / 100 / 365) * Number(stakedAmount)\n return dailyReward.toFixed(2)\n}\n\nexport const calculateEstFixedReward = (\n aprInPercentage: number,\n stakedAmount: number,\n durationInSeconds: number,\n): number => {\n const dailyReward = (aprInPercentage / DAYS_PER_YEAR) * stakedAmount\n return dailyReward * (durationInSeconds / SECOND_PER_DAY)\n}\n\nexport const formatFixStakedPosition = (position: FixStakedPosition): FormattedFixStakedPosition => {\n return {\n ...position,\n formattedLockedAmount: format(position.lockedAmount, true, 2),\n formattedEstApr: formatPercentage(position.estApr * 100, false, 2),\n formattedLockPeriod: secondsToDays(position.lockPeriodInSeconds) + ' days',\n formattedRemainingTime: formatRemainingTime(position.remainingSeconds),\n formattedEstReward: format(position.estReward, true, 4) + ' ' + position.tokenSymbol,\n }\n}\n\nexport const formatFlexStakedPosition = (position: FlexStakedPosition): FormattedFlexStakedPosition => {\n return {\n ...position,\n formattedAmount: format(position.amount, true, 2),\n formattedEstApr: formatPercentage(position.estApr, false, 2),\n formattedEstReward: format(position.estReward, true, 4) + ' ' + position.tokenSymbol,\n formattedRemainingTime: formatRemainingTime(position.remainingSeconds),\n }\n}\n\nexport const formatUnstakePosition = (position: UnstakePosition): FormattedUnstakePosition => {\n return {\n ...position,\n formattedRemainingTime: formatRemainingTime(position.remainingSeconds),\n }\n}\n","import { SECOND_PER_DAY } from '../constants'\n\nexport const secondsToDays = (seconds: number): number => {\n return Math.floor(seconds / (24 * 60 * 60))\n}\n\nexport const formatRemainingTime = (remainingSeconds: number): string => {\n const remainingDays = Math.ceil(remainingSeconds / SECOND_PER_DAY)\n if (remainingDays > 1) {\n return `${remainingDays} days`\n }\n const remainingHours = Math.max(Math.ceil(remainingSeconds / 3600), 0)\n return `${remainingHours} ${remainingHours > 1 ? 'hours' : 'hour'}`\n}\n","\"use strict\";\n(self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || []).push([[142],{\n\n/***/ 11653:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Z\": function() { return /* binding */ base_AmountInput; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(85893);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(67294);\n// EXTERNAL MODULE: ./node_modules/react-number-format/dist/react-number-format.es.js\nvar react_number_format_es = __webpack_require__(57333);\n;// CONCATENATED MODULE: ./src/components/base/CustomNumericFormat.tsx\n\n\n\nconst CustomNumericFormat = /*#__PURE__*/ react.forwardRef(function NumericFormatCustom(props, ref) {\n const { onChange , ...other } = props;\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(react_number_format_es/* NumericFormat */.h3, {\n ...other,\n getInputRef: ref,\n onChange: (event)=>{\n onChange({\n ...event,\n target: {\n ...event.target,\n name: props.name,\n value: event.target.value.replaceAll(\",\", \"\")\n }\n });\n },\n thousandSeparator: true,\n valueIsNumericString: true\n });\n});\n/* harmony default export */ var base_CustomNumericFormat = (CustomNumericFormat);\n\n// EXTERNAL MODULE: ./node_modules/@mui/material/Box/Box.js + 2 modules\nvar Box = __webpack_require__(5616);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Stack/Stack.js + 1 modules\nvar Stack = __webpack_require__(51233);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Typography/Typography.js + 1 modules\nvar Typography = __webpack_require__(15861);\n// EXTERNAL MODULE: ./node_modules/@mui/material/InputBase/InputBase.js + 1 modules\nvar InputBase = __webpack_require__(13970);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Avatar/Avatar.js + 3 modules\nvar Avatar = __webpack_require__(12485);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Divider/Divider.js\nvar Divider = __webpack_require__(67720);\n// EXTERNAL MODULE: ./node_modules/@mui/icons-material/ErrorOutline.js\nvar ErrorOutline = __webpack_require__(32141);\n// EXTERNAL MODULE: ./src/utils/number-helpers.ts\nvar number_helpers = __webpack_require__(72199);\n;// CONCATENATED MODULE: ./src/components/base/AmountInput.tsx\n\n\n\n\n\n\nconst AmountInput = (param)=>{\n let { amount , setAmount , tokenAvatar , tokenSymbol , checkStakingBalance =false , balance =0 , minAmount =0 } = param;\n const [error, setError] = (0,react.useState)(\"\");\n const handleAmountChange = (event)=>{\n const value = event.target.value;\n setAmount(value.toString());\n if (Number(value) < 0) {\n setError(\"Amount cannot be negative\");\n } else if (value === \"\") {\n setError(\"Amount is required\");\n } else if (Number(value) < minAmount) {\n setError(\"Min amount: \".concat(minAmount, \" \").concat(tokenSymbol));\n } else if (Number(value) > balance) {\n setError(\"Insufficient balance\");\n } else {\n setError(\"\");\n }\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n className: \"px-4 pb-4 bg-transparent-light-purple-4 rounded-lg\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n gap: 1,\n className: \"py-3\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-white font-dm_mono_regular text-xs-2 sm:text-sm lg:text-base\",\n children: \"Amount\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n justifyContent: \"space-between\",\n alignItems: \"center\",\n direction: \"row\",\n gap: 1,\n height: \"2.5rem\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(InputBase/* default */.ZP, {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n inputComponent: base_CustomNumericFormat,\n placeholder: \"Enter amount\",\n className: \"p-0 p-xl font-dm_mono_regular\",\n fullWidth: true,\n value: amount,\n onChange: handleAmountChange,\n inputProps: {\n style: {\n color: \"#ffffff\"\n }\n },\n sx: {\n \"& .MuiInputBase-input\": {\n fontSize: {\n xs: \"14px\",\n sm: \"16px\",\n lg: \"20px\"\n },\n lineHeight: {\n xs: \"20px\",\n sm: \"24px\",\n lg: \"28px\"\n }\n },\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n border: \"none\"\n },\n \"&:hover fieldset\": {\n border: \"none\"\n },\n \"&.Mui-focused fieldset\": {\n border: \"none\"\n }\n }\n }\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n alignItems: \"center\",\n gap: 1,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Avatar/* default */.Z, {\n src: tokenAvatar,\n alt: tokenSymbol,\n sx: {\n width: 32,\n height: 32\n }\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-white text-xs-2 sm:text-sm font-dm_mono_regular\",\n children: tokenSymbol\n })\n ]\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Divider/* default */.Z, {\n className: \"w-full \",\n style: {\n height: \"2px\",\n backgroundColor: error ? \"#ff7171\" : \"rgba(255, 255, 255, 0.08)\"\n }\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n className: \"mt-3\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n justifyContent: \"space-between\",\n direction: \"row\",\n gap: 1,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-white/50 font-normal text-xs-2 sm:text-sm font-dm_mono_regular\",\n children: checkStakingBalance ? \"Staking balance:\" : \"Available balance:\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Typography/* default */.Z, {\n className: \"text-white text-xs-2 sm:text-sm font-medium font-dm_mono_regular\",\n children: [\n \"\\xa0\",\n (0,number_helpers/* format */.WU)(balance, true),\n \"\\xa0\",\n tokenSymbol\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-white/50 text-xs-2 sm:text-sm font-normal font-dm_mono_regular underline cursor-pointer\",\n onClick: ()=>setAmount(balance.toString()),\n children: \"Enter max\"\n })\n ]\n }),\n error && /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n className: \"gap-1 pt-2 flex items-center\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(ErrorOutline/* default */.Z, {\n sx: {\n color: \"#FF7373\",\n width: {\n xs: 15,\n sm: 20\n },\n height: {\n xs: 15,\n sm: 20\n }\n }\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-warm-red text-xs-2 sm:text-sm font-dm_mono_regular\",\n children: error\n })\n ]\n })\n ]\n })\n ]\n })\n });\n};\n/* harmony default export */ var base_AmountInput = (AmountInput);\n\n\n/***/ }),\n\n/***/ 76824:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var _mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(50594);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(78262);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51233);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(15861);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(12485);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(93946);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(67720);\n/* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(90482);\n/* harmony import */ var _utils_number_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(72199);\n\n\n\n\n\nconst BaseDialog = (param)=>{\n let { title , tokenAvatar , tokenSymbol , titleAmount , body , isOpened , handleClose , ...dialogProps } = param;\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z, {\n ...dialogProps,\n open: !!isOpened,\n onClose: handleClose,\n PaperProps: {\n className: \"rounded-2xl bg-popup-gradient w-[480px] min-w-[374px]\",\n style: {\n border: \"1px solid #FFFFFF1F\"\n }\n },\n scroll: \"paper\",\n \"aria-labelledby\": \"scroll-dialog-title\",\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n className: \"p-4 lg:p-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n direction: \"row\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n children: [\n title ? /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n className: \"font-cc text-white uppercase text-sm sm:text-base\",\n sx: {\n wordSpacing: \"0.4rem\"\n },\n children: title\n }) : /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n className: \"flex flex-row gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z, {\n src: tokenAvatar,\n alt: tokenSymbol,\n sx: {\n width: {\n xs: 48,\n lg: 64\n },\n height: {\n xs: 48,\n lg: 64\n }\n }\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n className: \"font-dm_mono_regular text-xs-2 sm:text-sm md:text-base text-semi-transparent-white\",\n children: tokenSymbol\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n className: \"font-zen_dot text-base sm:text-lg-2 md:text-2xl text-white\",\n children: \"\".concat((0,_utils_number_helpers__WEBPACK_IMPORTED_MODULE_2__/* .format */ .WU)(new decimal_js__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z(titleAmount || 0), true, 2))\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z, {\n \"aria-label\": \"close\",\n onClick: handleClose,\n sx: {\n color: (theme)=>theme.palette.grey[500],\n alignSelf: \"flex-start\"\n },\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"] */ .Z, {\n className: \"h-4 w-4 md:h-6 md:w-6\"\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_9__/* [\"default\"] */ .Z, {\n className: \"mt-5 w-full\",\n style: {\n height: \"2px\",\n backgroundColor: \"rgba(220, 193, 255, 0.08)\"\n }\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n className: \"mt-5\",\n children: body\n })\n ]\n })\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (BaseDialog);\n\n\n/***/ }),\n\n/***/ 12321:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(90948);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(75545);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48999);\n\n\nconst BootstrapTooltip = (0,_mui_material__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .ZP)((param)=>/*#__PURE__*/ {\n let { className , ...props } = param;\n return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z, {\n ...props,\n arrow: true,\n enterTouchDelay: 0,\n classes: {\n popper: className\n }\n });\n})((param)=>{\n let { theme } = param;\n return {\n [\"& .\".concat(_mui_material__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].arrow */ .Z.arrow)]: {\n color: \"#DCC1FF\"\n },\n [\"& .\".concat(_mui_material__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"].tooltip */ .Z.tooltip)]: {\n backgroundColor: \"#DCC1FF\",\n color: \"#010101A3\",\n fontSize: \"14px\",\n lineHeight: \"20px\",\n maxWidth: \"400px\",\n padding: \"12px 16px\",\n fontFamily: \"DM Mono Regular\",\n borderRadius: \"12px\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: \"12px\",\n lineHeight: \"18px\"\n }\n }\n };\n});\n/* harmony default export */ __webpack_exports__[\"Z\"] = (BootstrapTooltip);\n\n\n/***/ }),\n\n/***/ 67814:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2734);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61730);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51233);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(15861);\n/* harmony import */ var _mui_icons_material_HelpOutline__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(27608);\n/* harmony import */ var _components_base_BootstrapTooltip__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12321);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67294);\n\n\n\n\n\nconst IneligibleLCRatio = ()=>{\n const theme = (0,_mui_material__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z)();\n const isSmall = (0,_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z)(theme.breakpoints.up(\"sm\"));\n const [iconColor, setIconColor] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(\"#FFFFFF7A\");\n const handleIconClick = ()=>{\n if (!isSmall) {\n // Change icon color when clicked\n setIconColor(\"#FAFAFA\");\n // Revert the color after 2 seconds\n setTimeout(()=>{\n setIconColor(\"#FFFFFF7A\");\n }, 1600);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n direction: \"row\",\n justifyContent: \"space-between\",\n className: \"py-1.5 lg:py-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z, {\n className: \"text-white/50 text-xs-2 sm:text-sm font-dm_mono_regular\",\n children: \"LC ratio\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n direction: \"row\",\n className: \"flex items-center gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z, {\n className: \"text-light-orange font-dm_mono_regular text-xs-2 sm:text-sm\",\n children: \"Ineligible\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_base_BootstrapTooltip__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z, {\n title: \"Launchpad Credit (LC) is exclusively earned through SOLCAT staking\",\n placement: \"top\",\n className: \"font-dm_mono_regular\",\n leaveDelay: isSmall ? 0 : 2000,\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_icons_material_HelpOutline__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z, {\n sx: {\n color: iconColor,\n width: 24,\n height: 24,\n \"&:hover\": {\n color: {\n sm: \"#DCC1FF\"\n }\n }\n },\n className: \"cursor-pointer\",\n onClick: handleIconClick\n })\n })\n ]\n })\n ]\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (IneligibleLCRatio);\n\n\n/***/ }),\n\n/***/ 80390:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(90948);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(59653);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2734);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(61730);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(51233);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(15861);\n/* harmony import */ var _mui_icons_material_HelpOutline__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(27608);\n/* harmony import */ var _components_base_BootstrapTooltip__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12321);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67294);\n/* harmony import */ var _providers_solana__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76300);\n\n\n\n\n\n\nconst CustomSwitch = (0,_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .ZP)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z)((param)=>{\n let { theme } = param;\n return {\n width: 40,\n height: 24,\n padding: 7,\n \"& .MuiSwitch-switchBase\": {\n padding: 0,\n top: \"50%\",\n left: 2,\n transform: \"translate(0, -50%)\",\n \"&.Mui-checked\": {\n transform: \"translate(20px, -50%)\",\n color: \"#fff\",\n \"& .MuiSwitch-thumb\": {\n backgroundColor: \"#6DFCD1\"\n },\n \"& .MuiSwitch-thumb:before\": {\n backgroundImage: \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E\\\")\"\n },\n \"& + .MuiSwitch-track\": {\n backgroundColor: \"#3d836f\",\n opacity: 1,\n border: 0\n }\n }\n },\n \"& .MuiSwitch-thumb\": {\n width: 16,\n height: 16,\n backgroundColor: \"#FAFAFA\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"&:before\": {\n content: '\"\"',\n width: \"100%\",\n height: \"100%\",\n backgroundImage: \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2301010129' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18L18 6M6 6l12 12'/%3E%3C/svg%3E\\\")\",\n backgroundRepeat: \"no-repeat\",\n backgroundPosition: \"center\",\n backgroundSize: \"60%\"\n }\n },\n \"& .MuiSwitch-track\": {\n borderRadius: 13,\n backgroundColor: \"#818081\",\n opacity: 1\n }\n };\n});\nconst JitoValidatorSwitch = ()=>{\n const theme = (0,_mui_material__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)();\n const isSmall = (0,_mui_material__WEBPACK_IMPORTED_MODULE_7__/* [\"default\"] */ .Z)(theme.breakpoints.up(\"sm\"));\n const [iconColor, setIconColor] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(\"#FFFFFF7A\");\n const { usingJitoValidator , setUsingJitoValidator } = (0,_providers_solana__WEBPACK_IMPORTED_MODULE_3__/* .useSolana */ .X)();\n const handleSwitchChange = (event)=>{\n setUsingJitoValidator && setUsingJitoValidator(event.target.checked);\n };\n const handleIconClick = ()=>{\n if (!isSmall) {\n // Change icon color when clicked\n setIconColor(\"#FAFAFA\");\n // Revert the color after 2 seconds\n setTimeout(()=>{\n setIconColor(\"#FFFFFF7A\");\n }, 1600);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"] */ .Z, {\n direction: \"row\",\n justifyContent: \"space-between\",\n className: \"py-0.5 lg:py-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_8__/* [\"default\"] */ .Z, {\n className: \"flex flex-row gap-1 items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_9__/* [\"default\"] */ .Z, {\n className: \"text-white/50 text-xs-2 sm:text-sm font-dm_mono_regular\",\n children: \"Use Jito\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_base_BootstrapTooltip__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z, {\n title: \"Use Jito for faster transactions during Solana congestion!\",\n placement: \"top\",\n className: \"font-dm_mono_regular\",\n leaveDelay: isSmall ? 0 : 2000,\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_icons_material_HelpOutline__WEBPACK_IMPORTED_MODULE_10__/* [\"default\"] */ .Z, {\n sx: {\n color: iconColor,\n width: 24,\n height: 24,\n \"&:hover\": {\n color: {\n sm: \"#DCC1FF\"\n }\n }\n },\n className: \"cursor-pointer\",\n onClick: handleIconClick\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(CustomSwitch, {\n checked: usingJitoValidator,\n size: \"small\",\n onChange: handleSwitchChange\n })\n ]\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (JitoValidatorSwitch);\n\n\n/***/ }),\n\n/***/ 32857:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85893);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67294);\n/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);\n/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_head__WEBPACK_IMPORTED_MODULE_2__);\n/* provided dependency */ var process = __webpack_require__(34155);\n\n\n\nconst Seo = (param)=>{\n let { data } = param;\n const { title , description , url , thumbnailUrl } = data;\n const ahrefMetaContent = process.env.NEXT_PUBLIC_AHREF_META;\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)((next_head__WEBPACK_IMPORTED_MODULE_2___default()), {\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"title\", {\n children: title\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"meta\", {\n name: \"title\",\n content: title\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"meta\", {\n name: \"description\",\n content: description\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"meta\", {\n property: \"og:type\",\n content: \"website\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"meta\", {\n property: \"og:url\",\n content: url\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"meta\", {\n property: \"og:title\",\n content: title\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"meta\", {\n property: \"og:description\",\n content: description\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"meta\", {\n property: \"og:image\",\n content: thumbnailUrl\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"meta\", {\n property: \"twitter:card\",\n content: \"summary_large_image\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"meta\", {\n property: \"twitter:url\",\n content: url\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"meta\", {\n property: \"twitter:title\",\n content: title\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"meta\", {\n property: \"twitter:description\",\n content: description\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"meta\", {\n property: \"twitter:image\",\n content: thumbnailUrl\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"meta\", {\n name: \"ahrefs-site-verification\",\n content: ahrefMetaContent\n })\n ]\n });\n};\n/* harmony default export */ __webpack_exports__[\"Z\"] = (Seo);\n\n\n/***/ }),\n\n/***/ 63378:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Z\": function() { return /* binding */ flexible_apy_dialog; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(85893);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(67294);\n// EXTERNAL MODULE: ./node_modules/react-query/es/index.js\nvar es = __webpack_require__(88767);\n// EXTERNAL MODULE: ./src/components/base/AmountInput.tsx + 1 modules\nvar AmountInput = __webpack_require__(11653);\n// EXTERNAL MODULE: ./src/components/base/BaseDialog.tsx\nvar BaseDialog = __webpack_require__(76824);\n// EXTERNAL MODULE: ./src/components/base/Button.tsx\nvar Button = __webpack_require__(2546);\n// EXTERNAL MODULE: ./node_modules/bn.js/lib/bn.js\nvar bn = __webpack_require__(13550);\nvar bn_default = /*#__PURE__*/__webpack_require__.n(bn);\n// EXTERNAL MODULE: ./src/providers/solana/index.tsx + 2 modules\nvar solana = __webpack_require__(76300);\n// EXTERNAL MODULE: ./src/utils/bn-utils.ts\nvar bn_utils = __webpack_require__(97087);\n// EXTERNAL MODULE: ./node_modules/@solana/web3.js/lib/index.browser.esm.js + 15 modules\nvar index_browser_esm = __webpack_require__(96737);\n// EXTERNAL MODULE: ./src/hooks/use-projects.ts + 1 modules\nvar use_projects = __webpack_require__(75479);\n// EXTERNAL MODULE: ./src/utils/apis/staking-positions.ts\nvar staking_positions = __webpack_require__(79155);\n// EXTERNAL MODULE: ./src/utils/fetch-projects.ts\nvar fetch_projects = __webpack_require__(97531);\n// EXTERNAL MODULE: ./node_modules/bs58/index.js\nvar bs58 = __webpack_require__(77191);\nvar bs58_default = /*#__PURE__*/__webpack_require__.n(bs58);\n;// CONCATENATED MODULE: ./src/hooks/use-stake.ts\n\n\n\n\n\n\n\n\n\nfunction useStake() {\n const { stakingClient , connection , publicKey , signTransaction , usingJitoValidator , jitoClient , jitoTipAmount } = (0,solana/* useSolana */.X)();\n const queryClient = (0,es.useQueryClient)();\n const { projects } = (0,use_projects/* useProjects */.Z)();\n const mutation = (0,es.useMutation)(async (param)=>{\n let [tokenAddress, amount] = param;\n if (!stakingClient || !connection || !publicKey || !signTransaction) {\n return;\n }\n const project = projects.find((project)=>project.address === tokenAddress);\n if (!project) {\n return;\n }\n const stakeAmount = (0,bn_utils/* convertUIAmountToRawAmount */.z)(amount, project.decimals);\n const tx = await stakingClient.stake(new (bn_default())(stakeAmount), true, new index_browser_esm.PublicKey(tokenAddress));\n if (usingJitoValidator) {\n const randomTipAccount = await jitoClient.getRandomTipAccount();\n const jitoTipAccount = new index_browser_esm.PublicKey(randomTipAccount);\n tx.add(index_browser_esm.SystemProgram.transfer({\n fromPubkey: publicKey,\n toPubkey: jitoTipAccount,\n lamports: jitoTipAmount * index_browser_esm.LAMPORTS_PER_SOL\n }));\n }\n const latestBlockHash = await connection.getLatestBlockhash();\n tx.recentBlockhash = latestBlockHash.blockhash;\n tx.feePayer = publicKey;\n const signedTx = await signTransaction(tx);\n const serializedTx = signedTx.serialize();\n let signature;\n if (usingJitoValidator) {\n const result = await jitoClient.sendTxn([\n bs58_default().encode(new Uint8Array(serializedTx))\n ], false);\n signature = result === null || result === void 0 ? void 0 : result.result;\n } else {\n signature = await connection.sendRawTransaction(serializedTx);\n }\n await connection.confirmTransaction({\n blockhash: latestBlockHash.blockhash,\n lastValidBlockHeight: latestBlockHash.lastValidBlockHeight,\n signature: signature\n });\n return signature;\n }, {\n onSuccess: async (signature, param)=>{\n let [tokenAddress, amount] = param;\n queryClient.invalidateQueries([\n \"userFlexibleStakingInfo\",\n publicKey\n ]);\n queryClient.invalidateQueries([\n \"protocolBasicInfo\",\n tokenAddress\n ]);\n queryClient.invalidateQueries([\n \"tokenBalance\",\n tokenAddress,\n (publicKey === null || publicKey === void 0 ? void 0 : publicKey.toString()) || \"\"\n ]);\n const project = (0,fetch_projects/* getProjectByAddress */.M)(tokenAddress);\n if (project && signature) {\n // Log staking position\n await (0,staking_positions/* logStakingPosition */.x)({\n wallet_address: (publicKey === null || publicKey === void 0 ? void 0 : publicKey.toString()) || \"\",\n action: \"deposit\",\n amount: Number(amount),\n tx_hash: signature,\n symbol: project.symbol,\n stake_type: \"flexible\",\n vault_index: 0\n });\n }\n }\n });\n return mutation;\n}\n\n// EXTERNAL MODULE: ./src/hooks/use-token-balance.ts\nvar use_token_balance = __webpack_require__(71115);\n// EXTERNAL MODULE: ./src/utils/apis/setting.ts\nvar setting = __webpack_require__(99476);\n// EXTERNAL MODULE: ./src/utils/number-helpers.ts\nvar number_helpers = __webpack_require__(72199);\n// EXTERNAL MODULE: ./src/utils/staking-helpers.ts\nvar staking_helpers = __webpack_require__(96395);\n// EXTERNAL MODULE: ./src/utils/time-helpers.ts\nvar time_helpers = __webpack_require__(27034);\n// EXTERNAL MODULE: ./node_modules/@mui/material/styles/useTheme.js\nvar useTheme = __webpack_require__(2734);\n// EXTERNAL MODULE: ./node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.js\nvar useMediaQuery = __webpack_require__(61730);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Stack/Stack.js + 1 modules\nvar Stack = __webpack_require__(51233);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Divider/Divider.js\nvar Divider = __webpack_require__(67720);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Typography/Typography.js + 1 modules\nvar Typography = __webpack_require__(15861);\n// EXTERNAL MODULE: ./node_modules/@mui/material/Box/Box.js + 2 modules\nvar Box = __webpack_require__(5616);\n// EXTERNAL MODULE: ./node_modules/@solana/wallet-adapter-react/lib/esm/useWallet.js\nvar useWallet = __webpack_require__(54306);\n// EXTERNAL MODULE: ./src/components/connect-wallet/index.ts + 2 modules\nvar connect_wallet = __webpack_require__(37131);\n// EXTERNAL MODULE: ./src/components/base/IneligibleLCRatio.tsx\nvar IneligibleLCRatio = __webpack_require__(67814);\n// EXTERNAL MODULE: ./src/utils/helpers.ts\nvar helpers = __webpack_require__(73680);\n// EXTERNAL MODULE: ./src/hooks/use-protocol-data.ts\nvar use_protocol_data = __webpack_require__(30777);\n// EXTERNAL MODULE: ./node_modules/next/router.js\nvar next_router = __webpack_require__(11163);\n// EXTERNAL MODULE: ./src/components/base/JitoValidatorSwitch.tsx\nvar JitoValidatorSwitch = __webpack_require__(80390);\n;// CONCATENATED MODULE: ./src/components/stake/flexible-apy-dialog.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst mintTextDetails = [\n \"Est APR\",\n \"Est daily reward\",\n \"LC earning\"\n];\nconst FlexibleAPYDialog = (param)=>{\n let { showModal , onClose , tokenAvatar , tokenSymbol , tokenAddress } = param;\n var _settingData_stake_lc_ratio_json;\n const [amount, setAmount] = (0,react.useState)(\"\");\n const { connected } = (0,useWallet/* useWallet */.O)();\n const router = (0,next_router.useRouter)();\n const theme = (0,useTheme/* default */.Z)();\n const isSmall = (0,useMediaQuery/* default */.Z)(theme.breakpoints.up(\"sm\"));\n const { data: tokenBalance } = (0,use_token_balance/* useTokenBalance */.m)(tokenAddress);\n // const { data: stakingInfo } = useStakingInfo(tokenAddress)\n const { data: protocolData } = (0,use_protocol_data/* useProtocolData */.r)([\n tokenAddress\n ]);\n const stakingInfo = protocolData === null || protocolData === void 0 ? void 0 : protocolData.stakingInfo[tokenAddress];\n const flexibleApr = stakingInfo === null || stakingInfo === void 0 ? void 0 : stakingInfo.flexibleApr;\n const flexibleWithdrawalDelayTime = stakingInfo === null || stakingInfo === void 0 ? void 0 : stakingInfo.flexibleWithdrawalDelayTime;\n const withdrawDelayDays = (0,time_helpers/* secondsToDays */.i)(Number(flexibleWithdrawalDelayTime) || 0);\n const { data: settingData } = (0,es.useQuery)({\n queryKey: [\n \"setting\"\n ],\n queryFn: ()=>(0,setting/* fetchSetting */.j)()\n });\n const isSolcat = (0,helpers/* isSolcatToken */.k0)(tokenSymbol);\n const lcRatio = isSolcat ? settingData === null || settingData === void 0 ? void 0 : (_settingData_stake_lc_ratio_json = settingData.stake_lc_ratio_json) === null || _settingData_stake_lc_ratio_json === void 0 ? void 0 : _settingData_stake_lc_ratio_json.flexible : 0;\n const lcEarning = amount ? Number(lcRatio || 0) * Number(amount) : 0;\n const formattedLcRatio = lcRatio + \"x\";\n const formattedLcEarning = (0,number_helpers/* format */.WU)(lcEarning, true, 0);\n const estDailyReward = (0,staking_helpers/* calculateEstDailyReward */.yy)((flexibleApr === null || flexibleApr === void 0 ? void 0 : flexibleApr.toString()) || \"0\", amount || \"0\");\n const stakeDetails = [\n {\n name: \"Est APR\",\n value: \"\".concat((0,number_helpers/* formatPercentage */.rl)((flexibleApr === null || flexibleApr === void 0 ? void 0 : flexibleApr.toString()) || \"0\", false, 2))\n },\n {\n name: \"Unstake delay time\",\n value: \"\".concat(withdrawDelayDays, \" days\")\n },\n {\n name: \"LC ratio\",\n value: formattedLcRatio\n },\n ...isSolcat ? [\n {\n name: \"LC earning\",\n value: formattedLcEarning\n }\n ] : [],\n {\n name: \"Est daily reward\",\n value: \"\".concat(estDailyReward, \" \").concat(tokenSymbol)\n }\n ];\n const { mutateAsync: stake , isLoading: isLoadingStake } = useStake();\n const handleCloseModal = (0,react.useCallback)(()=>{\n onClose();\n setAmount(\"\");\n document.body.style.overflow = \"auto\";\n }, [\n onClose\n ]);\n const handleStake = async ()=>{\n try {\n await stake([\n tokenAddress,\n amount\n ]);\n router.push(\"/portfolio\");\n } catch (error) {\n console.error(\"Error during staking:\", error);\n } finally{\n handleCloseModal();\n }\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(BaseDialog/* default */.Z, {\n handleClose: handleCloseModal,\n isOpened: showModal,\n title: \"Flexible staking\",\n body: /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(AmountInput/* default */.Z, {\n amount: amount,\n setAmount: setAmount,\n balance: tokenBalance,\n tokenAvatar: tokenAvatar,\n tokenSymbol: tokenSymbol\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Divider/* default */.Z, {\n className: \"w-full mt-5\",\n style: {\n height: \"2px\",\n backgroundColor: \"rgba(255, 255, 255, 0.08)\"\n }\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n className: \"mt-5 px-1\",\n children: [\n stakeDetails.map((detail, index)=>{\n if (!isSolcat && detail.name === \"LC ratio\") return /*#__PURE__*/ (0,jsx_runtime.jsx)(IneligibleLCRatio/* default */.Z, {}, index);\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(Stack/* default */.Z, {\n direction: \"row\",\n justifyContent: \"space-between\",\n className: \"py-1.5 lg:py-2\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"text-white/50 text-xs-2 sm:text-sm font-dm_mono_regular\",\n children: detail.name\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Typography/* default */.Z, {\n className: \"\".concat(mintTextDetails.includes(detail.name) ? \"text-mint-green\" : \"text-white\", \" text-xs-2 sm:text-sm font-dm_mono_regular\"),\n children: detail.value\n })\n ]\n }, index);\n }),\n connected && /*#__PURE__*/ (0,jsx_runtime.jsx)(JitoValidatorSwitch/* default */.Z, {})\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(Divider/* default */.Z, {\n className: \"w-full my-5\",\n style: {\n height: \"2px\",\n backgroundColor: \"rgba(255, 255, 255, 0.08)\"\n }\n }),\n !connected ? /*#__PURE__*/ (0,jsx_runtime.jsx)(Box/* default */.Z, {\n onClick: ()=>handleCloseModal(),\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(connect_wallet/* default */.Z, {})\n }) : /*#__PURE__*/ (0,jsx_runtime.jsx)(Button/* default */.Z, {\n disabled: !connected || !amount || Number(amount) > Number(tokenBalance),\n customVariant: \"emphasis\",\n fontSize: isSmall ? \"base\" : \"sm\",\n onClick: handleStake,\n isLoading: isLoadingStake,\n className: \"px-6 py-3\",\n children: \"Stake\"\n })\n ]\n })\n });\n};\n/* harmony default export */ var flexible_apy_dialog = (FlexibleAPYDialog);\n\n\n/***/ }),\n\n/***/ 30777:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"r\": function() { return /* binding */ useProtocolData; }\n/* harmony export */ });\n/* harmony import */ var react_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88767);\n/* harmony import */ var _providers_solana__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76300);\n/* harmony import */ var _catsolhat_staking_sdk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20074);\n/* harmony import */ var _catsolhat_staking_sdk__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_catsolhat_staking_sdk__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _solana_web3_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(96737);\n/* harmony import */ var _utils_helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(73680);\n\n\n\n\n\nconst useProtocolData = function() {\n let tokenAddresses = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n const { connection } = (0,_providers_solana__WEBPACK_IMPORTED_MODULE_1__/* .useSolana */ .X)();\n const fetchProtocolData = async ()=>{\n if (!connection || tokenAddresses.length === 0) return;\n const solcatTokens = tokenAddresses.filter(_utils_helpers__WEBPACK_IMPORTED_MODULE_4__/* .isSolcatTokenAddress */ .xg);\n const regularTokens = tokenAddresses.filter((address)=>!(0,_utils_helpers__WEBPACK_IMPORTED_MODULE_4__/* .isSolcatTokenAddress */ .xg)(address));\n const v1Result = solcatTokens.length > 0 ? await (0,_catsolhat_staking_sdk__WEBPACK_IMPORTED_MODULE_2__.getProtocolInfo)(connection, false, solcatTokens.map((address)=>new _solana_web3_js__WEBPACK_IMPORTED_MODULE_3__.PublicKey(address))) : null;\n const v2Result = regularTokens.length > 0 ? await (0,_catsolhat_staking_sdk__WEBPACK_IMPORTED_MODULE_2__.getProtocolInfo)(connection, true, regularTokens.map((address)=>new _solana_web3_js__WEBPACK_IMPORTED_MODULE_3__.PublicKey(address))) : null;\n const v1ResultTransformed = v1Result ? transformV1ToV2Format(v1Result) : null;\n const result = {\n admin: v2Result === null || v2Result === void 0 ? void 0 : v2Result.admin,\n stakingInfo: {\n ...v2Result === null || v2Result === void 0 ? void 0 : v2Result.stakingInfo,\n ...v1ResultTransformed === null || v1ResultTransformed === void 0 ? void 0 : v1ResultTransformed.stakingInfo\n }\n };\n return result;\n };\n const tokenCacheKey = tokenAddresses.length > 0 ? tokenAddresses.join(\",\") : \"all_tokens\";\n return (0,react_query__WEBPACK_IMPORTED_MODULE_0__.useQuery)([\n \"protocolBasicInfo\",\n tokenCacheKey\n ], fetchProtocolData, {\n enabled: !!connection\n });\n};\nconst transformV1ToV2Format = (v1Data)=>{\n return {\n admin: v1Data.admin,\n stakingInfo: {\n [v1Data.mint]: {\n flexibleRewardRate: v1Data.flexibleRewardRate,\n flexibleApr: v1Data.flexibleApr,\n flexibleWithdrawalDelayTime: v1Data.flexibleWithdrawalDelayTime,\n lockupApy: v1Data.lockupApy,\n lockupDuration: v1Data.lockupDuration,\n minLockupAmount: v1Data.minLockupAmount\n }\n }\n };\n};\n\n\n/***/ }),\n\n/***/ 942:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Z\": function() { return /* binding */ use_trans; }\n});\n\n// EXTERNAL MODULE: ./node_modules/next/router.js\nvar router = __webpack_require__(11163);\n;// CONCATENATED MODULE: ./src/locales/en.ts\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst locale = {\n BODO: {\n website_url: \"https://boopdoge.com/\",\n telegram_url: \"https://t.me/BoopDoge_Token\",\n x_url: \"https://x.com/BoopDoge_Token\",\n guide_url: \"https://catsolhat.medium.com/introducing-the-first-catsolhat-launchpad-project-boopdoge-4e136347e53f\",\n description: \"

BoopDoge is a community-driven meme coin inspired by the urge to boop a dog on the nose. Our mission is to help passionate dog lovers and crypto enthusiasts achieve financial freedom.

BoopDoge will be a flagship for emerging DeFi and meme culture on Solana. This is part of a larger plan to strengthen the creator culture on Solana as BoopDoge continues to integrate into the broader ecosystem.

\",\n eligibility: (eligibleAmount)=>'

Average holding of at least '.concat(eligibleAmount, \" SOLCAT (based on two snapshots). The first snapshot was taken on 1st July. The second snapshot will be taken at a random moment between 6th and 8th July.

\"),\n token_name: \"BoopDoge\",\n blockchain: \"Solana\"\n },\n meta: {\n title: \"CatSolHat Super Airdrop\",\n description: \"Claim your SOLCAT airdrop: Early Contributors, Active Wallets on Solana DEXs, Saga Phone Buyers, Top NFT Collections Holders,...\",\n thumbnail_url: \"/thumbnail.png\"\n },\n instruction: {\n stake_solcat: {\n title: \"Get SOLCAT & Connect\",\n description: '

Grab your SOLCAT from any DEX. Then, connect your wallet to the staking platform and click
STAKE NOW.

'\n },\n staking_plan: {\n title: \"Choose Your Staking Plan\",\n description: '

Choose between two staking options: Flexible and Fixed. Both offer great interest rates and earn you Launchpad Credit (LC).

'\n },\n reward: {\n title: \"Unlock Max Rewards\",\n description: '

Fixed staking gives the highest interest rates and multiplied LC, boosting your eligibility for launchpad presales and airdrops.

'\n }\n }\n};\n/* harmony default export */ var en = (locale);\n\n;// CONCATENATED MODULE: ./src/hooks/use-trans.ts\n\n\nconst useTrans = ()=>{\n const { locale } = (0,router.useRouter)();\n switch(locale){\n default:\n return en;\n }\n};\n/* harmony default export */ var use_trans = (useTrans);\n\n\n/***/ }),\n\n/***/ 99476:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"j\": function() { return /* binding */ fetchSetting; }\n/* harmony export */ });\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(87066);\n\nasync function fetchSetting() {\n const response = await axios__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"].get */ .Z.get(\"\".concat(\"https://api.catsolhat.com/api/v1\", \"/settings\"));\n return {\n stake_lc_ratio_json: response.data.stake_lc_ratio_json\n };\n}\n\n\n/***/ }),\n\n/***/ 79155:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"x\": function() { return /* binding */ logStakingPosition; }\n/* harmony export */ });\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4640);\n\nasync function logStakingPosition(params) {\n return await (0,___WEBPACK_IMPORTED_MODULE_0__/* .postToApi */ .I$)(\"/staking/positions\", params);\n}\n\n\n/***/ }),\n\n/***/ 96395:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"A1\": function() { return /* binding */ formatFixStakedPosition; },\n/* harmony export */ \"Pw\": function() { return /* binding */ convertOnChainFixedAprToPercentage; },\n/* harmony export */ \"RZ\": function() { return /* binding */ calculateEstFixedReward; },\n/* harmony export */ \"W3\": function() { return /* binding */ formatUnstakePosition; },\n/* harmony export */ \"in\": function() { return /* binding */ formatFlexStakedPosition; },\n/* harmony export */ \"yy\": function() { return /* binding */ calculateEstDailyReward; }\n/* harmony export */ });\n/* unused harmony exports checkIfLockupStaked, checkIfExistUnstakePosition */\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1880);\n/* harmony import */ var _number_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(72199);\n/* harmony import */ var _time_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27034);\n\n\n\nconst checkIfLockupStaked = (// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlockupStakingInfo, connected)=>{\n var _lockupStakingInfo_lockupStakingAccounts;\n return connected && !!(lockupStakingInfo === null || lockupStakingInfo === void 0 ? void 0 : (_lockupStakingInfo_lockupStakingAccounts = lockupStakingInfo.lockupStakingAccounts) === null || _lockupStakingInfo_lockupStakingAccounts === void 0 ? void 0 : _lockupStakingInfo_lockupStakingAccounts.length);\n};\nconst checkIfExistUnstakePosition = (// eslint-disable-next-line @typescript-eslint/no-explicit-any\nuserFlexibleStakingInfo, connected)=>{\n var _userFlexibleStakingInfo_withdrawPositions;\n return connected && !!(userFlexibleStakingInfo === null || userFlexibleStakingInfo === void 0 ? void 0 : (_userFlexibleStakingInfo_withdrawPositions = userFlexibleStakingInfo.withdrawPositions) === null || _userFlexibleStakingInfo_withdrawPositions === void 0 ? void 0 : _userFlexibleStakingInfo_withdrawPositions.length);\n};\nconst convertOnChainFixedAprToPercentage = (apr)=>{\n // 5% fixed apr -> 500 on chain\n return apr / 10000;\n};\nconst calculateEstDailyReward = (apr, stakedAmount)=>{\n const dailyReward = Number(apr) / 100 / 365 * Number(stakedAmount);\n return dailyReward.toFixed(2);\n};\nconst calculateEstFixedReward = (aprInPercentage, stakedAmount, durationInSeconds)=>{\n const dailyReward = aprInPercentage / _constants__WEBPACK_IMPORTED_MODULE_0__/* .DAYS_PER_YEAR */ ._G * stakedAmount;\n return dailyReward * (durationInSeconds / _constants__WEBPACK_IMPORTED_MODULE_0__/* .SECOND_PER_DAY */ .rw);\n};\nconst formatFixStakedPosition = (position)=>{\n return {\n ...position,\n formattedLockedAmount: (0,_number_helpers__WEBPACK_IMPORTED_MODULE_1__/* .format */ .WU)(position.lockedAmount, true, 2),\n formattedEstApr: (0,_number_helpers__WEBPACK_IMPORTED_MODULE_1__/* .formatPercentage */ .rl)(position.estApr * 100, false, 2),\n formattedLockPeriod: (0,_time_helpers__WEBPACK_IMPORTED_MODULE_2__/* .secondsToDays */ .i)(position.lockPeriodInSeconds) + \" days\",\n formattedRemainingTime: (0,_time_helpers__WEBPACK_IMPORTED_MODULE_2__/* .formatRemainingTime */ .d)(position.remainingSeconds),\n formattedEstReward: (0,_number_helpers__WEBPACK_IMPORTED_MODULE_1__/* .format */ .WU)(position.estReward, true, 4) + \" \" + position.tokenSymbol\n };\n};\nconst formatFlexStakedPosition = (position)=>{\n return {\n ...position,\n formattedAmount: (0,_number_helpers__WEBPACK_IMPORTED_MODULE_1__/* .format */ .WU)(position.amount, true, 2),\n formattedEstApr: (0,_number_helpers__WEBPACK_IMPORTED_MODULE_1__/* .formatPercentage */ .rl)(position.estApr, false, 2),\n formattedEstReward: (0,_number_helpers__WEBPACK_IMPORTED_MODULE_1__/* .format */ .WU)(position.estReward, true, 4) + \" \" + position.tokenSymbol,\n formattedRemainingTime: (0,_time_helpers__WEBPACK_IMPORTED_MODULE_2__/* .formatRemainingTime */ .d)(position.remainingSeconds)\n };\n};\nconst formatUnstakePosition = (position)=>{\n return {\n ...position,\n formattedRemainingTime: (0,_time_helpers__WEBPACK_IMPORTED_MODULE_2__/* .formatRemainingTime */ .d)(position.remainingSeconds)\n };\n};\n\n\n/***/ }),\n\n/***/ 27034:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"d\": function() { return /* binding */ formatRemainingTime; },\n/* harmony export */ \"i\": function() { return /* binding */ secondsToDays; }\n/* harmony export */ });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1880);\n\nconst secondsToDays = (seconds)=>{\n return Math.floor(seconds / (24 * 60 * 60));\n};\nconst formatRemainingTime = (remainingSeconds)=>{\n const remainingDays = Math.ceil(remainingSeconds / _constants__WEBPACK_IMPORTED_MODULE_0__/* .SECOND_PER_DAY */ .rw);\n if (remainingDays > 1) {\n return \"\".concat(remainingDays, \" days\");\n }\n const remainingHours = Math.max(Math.ceil(remainingSeconds / 3600), 0);\n return \"\".concat(remainingHours, \" \").concat(remainingHours > 1 ? \"hours\" : \"hour\");\n};\n\n\n/***/ })\n\n}]);"],"names":["self","push","__unused_webpack_module","__webpack_exports__","__webpack_require__","d","base_AmountInput","jsx_runtime","react","react_number_format_es","CustomNumericFormat","forwardRef","props","ref","onChange","other","jsx","h3","getInputRef","event","target","name","value","replaceAll","thousandSeparator","valueIsNumericString","Box","Stack","Typography","InputBase","Avatar","Divider","ErrorOutline","number_helpers","AmountInput","amount","setAmount","tokenAvatar","tokenSymbol","checkStakingBalance","balance","minAmount","param","error","setError","useState","handleAmountChange","toString","Number","concat","Z","className","children","jsxs","gap","justifyContent","alignItems","direction","height","ZP","inputComponent","placeholder","fullWidth","inputProps","style","color","sx","fontSize","xs","sm","lg","lineHeight","border","src","alt","width","backgroundColor","WU","onClick","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","_mui_icons_material_Close__WEBPACK_IMPORTED_MODULE_8__","_mui_material__WEBPACK_IMPORTED_MODULE_3__","_mui_material__WEBPACK_IMPORTED_MODULE_4__","_mui_material__WEBPACK_IMPORTED_MODULE_5__","_mui_material__WEBPACK_IMPORTED_MODULE_6__","_mui_material__WEBPACK_IMPORTED_MODULE_7__","_mui_material__WEBPACK_IMPORTED_MODULE_9__","decimal_js__WEBPACK_IMPORTED_MODULE_1__","_utils_number_helpers__WEBPACK_IMPORTED_MODULE_2__","BaseDialog","title","titleAmount","body","isOpened","handleClose","dialogProps","open","onClose","PaperProps","scroll","wordSpacing","theme","palette","grey","alignSelf","_mui_material__WEBPACK_IMPORTED_MODULE_1__","_mui_material__WEBPACK_IMPORTED_MODULE_2__","BootstrapTooltip","arrow","enterTouchDelay","classes","popper","tooltip","maxWidth","padding","fontFamily","borderRadius","breakpoints","down","_mui_icons_material_HelpOutline__WEBPACK_IMPORTED_MODULE_7__","_components_base_BootstrapTooltip__WEBPACK_IMPORTED_MODULE_1__","react__WEBPACK_IMPORTED_MODULE_2__","IneligibleLCRatio","isSmall","up","iconColor","setIconColor","handleIconClick","setTimeout","placement","leaveDelay","_mui_material__WEBPACK_IMPORTED_MODULE_8__","_mui_icons_material_HelpOutline__WEBPACK_IMPORTED_MODULE_10__","_providers_solana__WEBPACK_IMPORTED_MODULE_3__","CustomSwitch","top","left","transform","backgroundImage","opacity","display","content","backgroundRepeat","backgroundPosition","backgroundSize","JitoValidatorSwitch","usingJitoValidator","setUsingJitoValidator","X","handleSwitchChange","checked","size","next_head__WEBPACK_IMPORTED_MODULE_2__","next_head__WEBPACK_IMPORTED_MODULE_2___default","n","process","Seo","data","description","url","thumbnailUrl","ahrefMetaContent","env","NEXT_PUBLIC_AHREF_META","property","flexible_apy_dialog","es","Button","bn","bn_default","solana","bn_utils","index_browser_esm","use_projects","staking_positions","fetch_projects","bs58","bs58_default","use_token_balance","setting","staking_helpers","time_helpers","useTheme","useMediaQuery","useWallet","connect_wallet","helpers","use_protocol_data","next_router","mintTextDetails","FlexibleAPYDialog","_settingData_stake_lc_ratio_json","showModal","tokenAddress","connected","O","router","useRouter","tokenBalance","m","protocolData","r","stakingInfo","flexibleApr","flexibleWithdrawalDelayTime","withdrawDelayDays","i","settingData","useQuery","queryKey","queryFn","j","isSolcat","k0","lcRatio","stake_lc_ratio_json","flexible","lcEarning","formattedLcEarning","estDailyReward","yy","stakeDetails","rl","mutateAsync","stake","isLoading","isLoadingStake","useStake","stakingClient","connection","publicKey","signTransaction","jitoClient","jitoTipAmount","queryClient","useQueryClient","projects","mutation","useMutation","signature","project","find","address","stakeAmount","z","decimals","tx","PublicKey","randomTipAccount","getRandomTipAccount","jitoTipAccount","add","SystemProgram","transfer","fromPubkey","toPubkey","lamports","LAMPORTS_PER_SOL","latestBlockHash","getLatestBlockhash","recentBlockhash","blockhash","feePayer","signedTx","serializedTx","serialize","result","sendTxn","encode","Uint8Array","sendRawTransaction","confirmTransaction","lastValidBlockHeight","onSuccess","invalidateQueries","M","x","wallet_address","action","tx_hash","symbol","stake_type","vault_index","handleCloseModal","useCallback","document","overflow","handleStake","console","map","detail","index","includes","disabled","customVariant","useProtocolData","react_query__WEBPACK_IMPORTED_MODULE_0__","_providers_solana__WEBPACK_IMPORTED_MODULE_1__","_catsolhat_staking_sdk__WEBPACK_IMPORTED_MODULE_2__","_solana_web3_js__WEBPACK_IMPORTED_MODULE_3__","_utils_helpers__WEBPACK_IMPORTED_MODULE_4__","tokenAddresses","arguments","length","fetchProtocolData","solcatTokens","filter","xg","regularTokens","v1Result","getProtocolInfo","v2Result","v1ResultTransformed","transformV1ToV2Format","admin","tokenCacheKey","join","enabled","v1Data","mint","flexibleRewardRate","lockupApy","lockupDuration","minLockupAmount","use_trans","en","BODO","website_url","telegram_url","x_url","guide_url","eligibility","eligibleAmount","token_name","blockchain","meta","thumbnail_url","instruction","stake_solcat","staking_plan","reward","useTrans","locale","fetchSetting","axios__WEBPACK_IMPORTED_MODULE_0__","response","get","logStakingPosition","___WEBPACK_IMPORTED_MODULE_0__","params","I$","formatFixStakedPosition","convertOnChainFixedAprToPercentage","calculateEstFixedReward","formatUnstakePosition","formatFlexStakedPosition","calculateEstDailyReward","_constants__WEBPACK_IMPORTED_MODULE_0__","_number_helpers__WEBPACK_IMPORTED_MODULE_1__","_time_helpers__WEBPACK_IMPORTED_MODULE_2__","apr","stakedAmount","dailyReward","toFixed","aprInPercentage","durationInSeconds","_G","rw","position","formattedLockedAmount","lockedAmount","formattedEstApr","estApr","formattedLockPeriod","lockPeriodInSeconds","formattedRemainingTime","remainingSeconds","formattedEstReward","estReward","formattedAmount","formatRemainingTime","secondsToDays","Math","floor","seconds","remainingDays","ceil","remainingHours","max"],"sourceRoot":""}