{"version":3,"sources":["images/coinchimp.svg","App.js","reportWebVitals.js","index.js"],"names":["TimeAgo","addDefaultLocale","en","HtmlTooltip","styled","className","props","Tooltip","classes","popper","theme","tooltipClasses","tooltip","backgroundColor","color","maxWidth","fontSize","typography","pxToRem","border","ButtonAppBar","history","useHistory","React","useState","anchorEl","setAnchorEl","open","Boolean","handleCloseDYN","ticker","push","toUpperCase","memeCoins","image","map","item","MenuItem","onClick","bind","ListItemIcon","width","height","src","ListItemText","realCoins","toolOpen","setToolOpen","Box","sx","flexGrow","AppBar","position","style","background","Toolbar","IconButton","size","edge","aria-label","mr","id","aria-controls","aria-haspopup","aria-expanded","undefined","event","currentTarget","Stack","direction","spacing","Typography","variant","component","title","Fragment","href","onClose","onOpen","MenuListProps","Divider","BorderLinearProgress","LinearProgress","borderRadius","linearProgressClasses","colorPrimary","bar","palette","mode","LinearProgressWithLabel","display","alignItems","minWidth","Math","round","value","RankForm","holdings","setHoldings","arr","amounts","decimal_multiplier","myRank","setMyRank","Accordion","marginBottom","AccordionSummary","expandIcon","AccordionDetails","onSubmit","evt","preventDefault","my_rank","k","n","length","l","r","leftGreater","m","parseInt","countGreater","Grid","container","xs","TextField","label","coin_name","type","onChange","e","target","fullWidth","Button","textAlign","fontFamily","total","ceil","CompareMarketCap","possible_price","price","shibMarketCap","samoMarketCap","toFixed","possible_price_doge","dogeMarketCap","coin","shibImage","coin_data","dogeImage","WhaleAlerts","transactions","dex_images","timeAgo","console","log","limit","TableContainer","Paper","Table","TableHead","TableRow","TableCell","align","TableBody","tx","scope","base","typeSwap","padding","volumeUSD","toLocaleString","format","Date","blockUnixTime","source","symbol","quote","txHash","Home","Container","marginTop","lineHeight","ValueDifferenceAlone","before","difference","now","CoinStats","error","setError","isLoaded","setIsLoaded","setTotal","setAmounts","amountsReversed","setAmountsReversed","amountsReversedCleaned","setAmountsReversedCleaned","setData","frequency","setFrequency","frequencyGroup","setFrequencyGroup","frequencyDayAgo","frequencyGroupDayAgo","amountsGroup","setAmountsGroup","amountsTotal","setAmountsTotal","amountsGroupCleaned","setAmountsGroupCleaned","amountsTotalCleaned","setAmountsTotalCleaned","checked","setChecked","largestTransactions","setLargestTransactions","setPrice","location","useLocation","tabValue","setTabValue","token_link","price_link","usd_account","coin_account","shib_api","doge_api","setShibMarketCap","setDogeMarketCap","setShibImage","setDogeImage","setSamoMarketCap","pool_name","pool_pair","supply_multiplier","holders_data_day_ago","token_accounts_link","exclude_top_3_wallets","amm_limit","amm_links","holders_data_three_days_ago","holders_data_week_ago","amount_numbers","amount_numbers_groups","amount_numbers_100","amount_numbers_groups_100","amount_numbers_1","amount_numbers_groups_1","amount_numbers_0_1","amount_numbers_groups_0_1","amount_numbers_arr","Object","entries","amount_numbers_groups_arr","amount_numbers_100_arr","amount_numbers_groups_100_arr","amount_numbers_1_arr","amount_numbers_groups_1_arr","amount_numbers_0_1_arr","amount_numbers_groups_0_1_arr","final_amount_numbers","final_amount_numbers_groups","final_amount_numbers_arr","final_amount_numbers_groups_arr","countFrequencyInRange","a_normal","left_range","right_range","a","index_left","low","high","mid","floor","binarySearchForLeftRange","index_right","binarySearchForRightRange","count","getByTokenAccount","i","iLen","tokenAccount","getHighestValueTransactions","oldest","filters","txStatus","txType","filter","every","getByPairIdentifier","name","getAmountsSum","from_key","to_key","sum","axios","get","response","market_cap","response_doge","market_cap_doge","setTokenPrice","response_data","data","response_object","response_usd","response_coin","response_object_sol_usdc","getLatestWhaleTransactions","the_amm_links","Promise","all","link","fetch","then","resp","json","result","results_cleaned","results_latest_tx_unix_time","last_element_time","items","oldestUnixTime","max","flat_result","forEach","curSet","largest_transactions","sorted","sort","b","useEffect","timeout","setInterval","clearInterval","setMarketCap","res","obj","amount","reverse","min","amountsReversedRaw","message","Avatar","alt","Switch","inputProps","paddingBottom","Tabs","newTabValue","centered","Tab","key","parseFloat","opacity","App","path","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.c51fc22d.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/coinchimp.b14f203a.svg\";","/*\n\nimport logo from './logo.svg';\nimport './App.css';\n\nfunction App() {\n return (\n
\n
\n \"logo\"\n

\n Edit src/App.js and save to reload.\n

\n \n Learn React\n \n
\n
\n );\n}\n\nexport default App;\n\n*/\n\nimport React, { useEffect, useState } from \"react\";\nimport './App.css';\n\nimport Box from '@mui/material/Box';\nimport LinearProgress, { linearProgressClasses } from '@mui/material/LinearProgress';\n\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport Paper from '@mui/material/Paper';\nimport Avatar from '@mui/material/Avatar';\nimport Stack from '@mui/material/Stack';\n\nimport Container from '@mui/material/Container';\n\nimport axios from \"axios\";\n\nimport TextField from '@mui/material/TextField';\nimport Button from '@mui/material/Button';\nimport Grid from '@mui/material/Grid';\n\nimport Accordion from '@mui/material/Accordion';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport Typography from '@mui/material/Typography';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport Switch2 from '@mui/material/Switch';\n\nimport CoinChimpLogo from './images/coinchimp.svg';\n\n\nimport {\n BrowserRouter as Router,\n Switch,\n Route,\n Link,\n Redirect\n} from \"react-router-dom\";\n\n\nimport AppBar from '@mui/material/AppBar';\nimport Toolbar from '@mui/material/Toolbar';\nimport IconButton from '@mui/material/IconButton';\nimport MenuIcon from '@mui/icons-material/Menu';\n\n\n// Menu\n\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport ListItemText from '@mui/material/ListItemText';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport HomeIcon from '@mui/icons-material/Home';\nimport PetsIcon from '@mui/icons-material/Pets';\nimport Divider from '@mui/material/Divider';\n\nimport { useHistory, useLocation } from \"react-router-dom\";\n\nimport { styled } from '@mui/material/styles';\nimport Tooltip, { tooltipClasses } from '@mui/material/Tooltip';\n\n\n// Tab Menu\n\nimport Tabs from '@mui/material/Tabs';\nimport Tab from '@mui/material/Tab';\n\nimport HighlightAltIcon from '@mui/icons-material/HighlightAlt';\n\nimport TimeAgo from 'javascript-time-ago';\n\nimport en from 'javascript-time-ago/locale/en.json'\n\nTimeAgo.addDefaultLocale(en)\n\n\n\nconst HtmlTooltip = styled(({ className, ...props }) => (\n \n))(({ theme }) => ({\n [`& .${tooltipClasses.tooltip}`]: {\n backgroundColor: 'rgba(255, 255, 255, 0.87)',\n color: 'rgba(0, 0, 0, 0.87)',\n maxWidth: 220,\n fontSize: theme.typography.pxToRem(12),\n border: '0px solid #dadde9',\n },\n}));\n\n\n\n\n\nfunction ButtonAppBar() {\n\n const history = useHistory();\n\n const coin_list_memes = [\n {ticker: \"SAMO\", image: \"https://samoyedcoin.com/wp-content/uploads/2021/05/samoyed1.png\"},\n {ticker: \"WOOF\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/9nEqaUcb16sQ3Tn1psbkWqyhPdLmfHWjKGymREjsAgTE/logo.png\"},\n {ticker: \"CHEEMS\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/3FoUAsGDbvTD6YZ4wVKJgTB76onJUKz7GPEBNiR5b8wc/logo.png\"},\n {ticker: \"HIMA\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/72hgmvS5zFxaFJfMizq6Gp4gjBqXjTPyX9GDP38krorQ/logo.png\"},\n {ticker: \"SOLAPE\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/GHvFFSZ9BctWsEc5nujR1MTmmJWY7tgQz2AXE6WVFtGN/logo.png\"},\n {ticker: \"MOLA\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/AMdnw9H5DFtQwZowVFr4kUgSXJzLokKSinvgGiUoLSps/logo.png\"},\n {ticker: \"CATO\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/5p2zjqCd1WJzAVgcEnjhb9zWDU7b9XVhFhx4usiyN7jB/logo.png\"},\n {ticker: \"SHIBA\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/Dhg9XnzJWzSQqH2aAnhPTEJHGQAkALDfD98MA499A7pa/logo.png\"}\n ];\n\n const coin_list_real = [\n {ticker: \"SRM\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt/logo.png\"},\n {ticker: \"RAY\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R/logo.png\"},\n {ticker: \"FIDA\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp/logo.svg\"},\n {ticker: \"MNGO\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac/token.png\"},\n {ticker: \"ATLAS\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx/logo.png\"},\n {ticker: \"POLIS\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/poLisWXnNRwC6oBu1vHiuKQzFjGL4XDSu4g9qjz9qVk/logo.png\"},\n {ticker: \"ORCA\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE/logo.png\"},\n {ticker: \"AURY\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP/logo.png\"},\n {ticker: \"STEP\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/StepAscQoEioFxxWGnh2sLBDFp9d8rvKz2Yp39iDpyT/logo.png\"},\n {ticker: \"SBR\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1/logo.svg\"},\n {ticker: \"TULIP\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/TuLipcqtGVXP9XR62wM8WWCm6a9vhLs7T1uoWBk6FDs/logo.svg\"},\n {ticker: \"COPE\", image: \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/8HGyAAB1yoM1ttS7pXjHMa3dukTFGQggnFFH3hJZgzQh/logo.png\"}\n ];\n\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n const handleCloseHome = () => {\n setAnchorEl(null);\n history.push(\"/info\");\n };\n\n\n const handleCloseDYN = (ticker) => {\n setAnchorEl(null);\n history.push(ticker.toUpperCase());\n };\n const memeCoins = coin_list_memes.map((item) =>\n \n \n \n \n {item.ticker}\n \n );\n\n const realCoins = coin_list_real.map((item) =>\n \n \n {/**/}\n \n \n {item.ticker}\n \n );\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n\n const [toolOpen, setToolOpen] = React.useState(false);\n\n const handleToolClose = () => {\n setToolOpen(false);\n };\n\n const handleToolOpen = () => {\n setToolOpen(true);\n };\n\n /*\n useEffect(() => {\n setTimeout(function() { setToolOpen(true); }, 5000);\n }, []);\n */\n\n return (\n \n \n \n \n \n \n \n \n {/**/}\n \n \n Notice\n
{\"You can now also reach us under\"} {'https://coinchimp.app'} {\"😀\"}

{\"The previous domain still works for some time though!\"}\n \n } open={toolOpen} onClose={handleToolClose} onOpen={handleToolOpen}\n >\n CoinChimp\n \n
\n
\n \n {/**/}\n
\n
\n\n \n \n \n \n \n Info\n \n \n {memeCoins}\n \n {realCoins}\n \n\n
\n );\n}\n\n\n\n\nconst BorderLinearProgress = styled(LinearProgress)(({ theme }) => ({\n height: 20,\n borderRadius: 5,\n [`&.${linearProgressClasses.colorPrimary}`]: {\n backgroundColor: \"#cfd8dc\",\n },\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 0,\n backgroundColor: theme.palette.mode === 'light' ? '#1a90ff' : '#308fe8',\n },\n}));\n\n\nfunction LinearProgressWithLabel(props) {\n return (\n \n \n \n \n \n {`${Math.round(\n props.value,\n )}%`}\n \n \n );\n}\n\n\n\n\n\n\nfunction App() {\n\n const coin_list_memes = [\n \"SAMO\",\n \"WOOF\",\n \"CHEEMS\",\n \"HIMA\",\n \"SOLAPE\",\n \"MOLA\",\n \"CATO\",\n \"SHIBA\"\n ];\n\n const coin_list_real = [\n \"SRM\",\n \"RAY\",\n \"FIDA\",\n \"MNGO\",\n \"ATLAS\",\n \"POLIS\",\n \"ORCA\",\n \"AURY\",\n \"STEP\",\n \"SBR\",\n \"TULIP\",\n \"COPE\"\n ];\n\n const memeCoins = coin_list_memes.map((ticker) =>\n \n \n \n \n );\n\n const realCoins = coin_list_real.map((ticker) =>\n \n \n \n \n );\n\n return (\n \n
\n {/* A looks through its children s and\n renders the first one that matches the current URL. */}\n \n \n \n \n \n {memeCoins}\n {realCoins}\n \n \n \n \n \n\n
\n
\n );\n}\n\n\n\n // Function to return the count of elements\n // from the array which are greater than k\n function countGreater(arr, k) {\n\n var n = arr.length;\n var l = 0;\n var r = n - 1;\n \n // Stores the index of the left most element\n // from the array which is greater than k\n var leftGreater = n;\n \n // Finds number of elements greater than k\n while (l <= r) {\n var m = l + parseInt((r - l) / 2);\n \n // If mid element is greater than\n // k update leftGreater and r\n if (arr[m] > k) {\n leftGreater = m;\n r = m - 1;\n }\n \n // If mid element is less than\n // or equal to k update l\n else\n l = m + 1;\n }\n \n // Return the count of elements greater than k\n return (n - leftGreater);\n }\n\n\nfunction RankForm(props) {\n const [holdings, setHoldings] = useState(\"\");\n const arr = props.amounts;\n const decimal_multiplier = props.decimal_multiplier;\n const [myRank, setMyRank] = useState(0);\n \n const handleSubmit = (evt) => {\n evt.preventDefault();\n\n if (holdings != 0) {\n var my_rank = countGreater(arr, (holdings * decimal_multiplier)) + 1;\n setMyRank(my_rank)\n }\n }\n\n return (\n\n \n }\n aria-controls=\"panel1a-content\"\n id=\"panel1a-header\"\n >\n Check your rank here\n \n \n\n
\n\n \n\n \n setHoldings(e.target.value)}\n fullWidth\n />\n \n\n \n \n \n\n {myRank != 0 && (\n

\n You are rank {myRank} of {props.total} holders!
\n This puts you in the top {Math.ceil(myRank/props.total*1000)/10}% of holders!\n

\n )}\n \n
\n
\n\n
\n
\n );\n}\n\n\n\nfunction CompareMarketCap(props) {\n\n const possible_price = (props.price * (props.shibMarketCap/props.samoMarketCap)).toFixed(2);\n const possible_price_doge = (props.price * (props.dogeMarketCap/props.samoMarketCap)).toFixed(2);\n\n return (\n\n \n }\n aria-controls=\"panel1a-content\"\n id=\"panel1a-header\"\n >\n Compare market cap\n \n \n\n
\n\n \n\n \n\n
\n\n
{props.coin} with the market cap of SHIB
\n
${possible_price} ({(possible_price/props.price).toFixed(2)} x)
\n
coinchimp.app
\n
\n\n
\n\n
{props.coin} with the market cap of DOGE
\n
${possible_price_doge} ({(possible_price_doge/props.price).toFixed(2)} x)
\n
coinchimp.app
\n
\n\n
\n \n
\n
\n\n
\n
\n );\n}\n\n\n\n\nfunction WhaleAlerts(props) {\n const transactions = props.transactions;\n const dex_images = props.dex_images;\n const timeAgo = new TimeAgo('en-US');\n\n console.log(transactions);\n\n return (\n\n \n }\n aria-controls=\"panel2a-content\"\n id=\"panel2a-header\"\n >\n Recent Whale Transactions (${props.limit/1000}k+)\n \n \n\n

The data is updated every 60 seconds automatically (no need to reload the site)!

\n\n\n

We know that there is some issue with retrieving the latest transaction data currently. This happened due to some changes of our data endpoints. We will try to fix it soon by building a new data endpoint! Currently, only if a whale transactions was among the latest 10 successful transactions, it will be shown here!

\n\n \n\n \n \n\n \n Action\n\n USD Value\n\n Time\n\n Pool\n\n \n Solscan Link\n \n \n \n\n \n {transactions.map((tx) => (\n \n \n {(tx.base.typeSwap == \"from\") ? Sell : Buy}\n \n\n \n {parseInt(tx.volumeUSD).toLocaleString()}\n \n\n {timeAgo.format(new Date(tx.blockUnixTime * 1000))}\n\n
{tx.base.symbol + \"-\" + tx.quote.symbol}
\n\n \n \n \n\n \n ))}\n
\n\n
\n
\n\n
\n
\n );\n}\n\n\n\nfunction Home(props) {\n\n return (\n \n \n

Hey CoinChimp users!

\n

You can now also reach us via coinchimp.app instead of cryptostats.pages.dev!

\n

Someone said that Twitter treats \".dev\" domains as spammy. So we changed the domain :)

\n

The previous link still works though!

\n

The site experience is exactly the same.

\n
\n

This site is being built to serve the crypto community with useful statistical data that cannot be easily found on other sites.

\n

The Samoyed community inspired me to build this site in the first place.

\n

Being an investor in SAMO myself, I struggled to easily find the data that I was looking for. That's why I created this site :)

\n

We listen closely to users and their feedback in order to provide them with better data!

\n

Stay tuned for future updates!

\n
\n \n

Why the name CoinChimp?

\n

The chimpanzee is widely known as the smartest animal!

\n

As our site tries to provide useful data and actionable insights to our users, the characteristics of chimps fit to our story!

\n
\n
\n );\n\n}\n\n\n\n\nfunction ValueDifference(props) {\n const before = props.before;\n const now = props.now;\n const difference = now - before;\n if (difference > 0) {\n return {now} ({['','+'][+(difference > 0)] + difference});\n } else if (difference == 0) {\n return {now} ({difference});\n }\n return {now} ({difference});\n}\n\nfunction ValueDifferenceAlone(props) {\n const before = props.before;\n const now = props.now;\n const difference = now - before;\n if (difference > 0) {\n return ({['','+'][+(difference > 0)] + difference});\n } else if (difference == 0) {\n return ({difference});\n }\n return ({difference});\n}\n\n\nfunction CoinStats(props) {\n const [error, setError] = useState(null);\n const [isLoaded, setIsLoaded] = useState(false);\n const [total, setTotal] = useState(0);\n const [amounts, setAmounts] = useState([]);\n\n const [amountsReversed, setAmountsReversed] = useState([]); // From top to bottom holders\n const [amountsReversedCleaned, setAmountsReversedCleaned] = useState([]); // cleaned from burn wallets etc.\n\n const [data, setData] = useState([]);\n const [frequency, setFrequency] = useState([]);\n const [frequencyGroup, setFrequencyGroup] = useState([]);\n\n // Historical data a day ago\n const [totalDayAgo, setTotalDayAgo] = useState(0);\n const [amountsDayAgo, setAmountsDayAgo] = useState([]);\n const [dataDayAgo, setDataDayAgo] = useState([]);\n const [frequencyDayAgo, setFrequencyDayAgo] = useState([]);\n const [frequencyGroupDayAgo, setFrequencyGroupDayAgo] = useState([]);\n\n // Historical data 3 days ago\n const [total3DaysAgo, setTotal3DaysAgo] = useState(0);\n const [amounts3DaysAgo, setAmounts3DaysAgo] = useState([]);\n const [data3DaysAgo, setData3DaysAgo] = useState([]);\n const [frequency3DaysAgo, setFrequency3DaysAgo] = useState([]);\n const [frequencyGroup3DaysAgo, setFrequencyGroup3DaysAgo] = useState([]);\n\n // Historical data week ago\n const [totalWeekAgo, setTotalWeekAgo] = useState(0);\n const [amountsWeekAgo, setAmountsWeekAgo] = useState([]);\n const [dataWeekAgo, setDataWeekAgo] = useState([]);\n const [frequencyWeekAgo, setFrequencyWeekAgo] = useState([]);\n const [frequencyGroupWeekAgo, setFrequencyGroupWeekAgo] = useState([]);\n\n const [amountsGroup, setAmountsGroup] = useState([]);\n const [amountsTotal, setAmountsTotal] = useState(0);\n\n const [amountsGroupCleaned, setAmountsGroupCleaned] = useState([]); // cleaned from burn wallets etc.\n const [amountsTotalCleaned, setAmountsTotalCleaned] = useState(0); // cleaned from burn wallets etc.\n\n const [checked, setChecked] = useState(true);\n\n const [largestTransactions, setLargestTransactions] = useState([]);\n\n\n const handleChange = (event) => {\n setChecked(event.target.checked);\n };\n\n const [price, setPrice] = useState(0);\n\n const history = useHistory();\n const location = useLocation();\n\n\n // Tab Value Change\n const [tabValue, setTabValue] = React.useState(1);\n const handleTabChange = (event, newTabValue) => {\n setTabValue(newTabValue);\n };\n\n\n const coin = props.coin;\n const coin_data = {\n token_link: \"\",\n price_link: \"\",\n usd_account: \"\",\n coin_account: \"\"\n }\n\n\n // Set Market Cap\n const shib_api = \"https://api.coingecko.com/api/v3/coins/shiba-inu?tickers=false&community_data=false&developer_data=false\";\n const doge_api = \"https://api.coingecko.com/api/v3/coins/dogecoin?tickers=false&community_data=false&developer_data=false\"; \n const [shibMarketCap, setShibMarketCap] = useState(0);\n const [dogeMarketCap, setDogeMarketCap] = useState(0);\n const [shibImage, setShibImage] = useState(\"\");\n const [dogeImage, setDogeImage] = useState(\"\");\n const [samoMarketCap, setSamoMarketCap] = useState(0);\n\n /*\n\n const coin_list_memes = [\n \"SAMO\",\n \"WOOF\",\n \"CHEEMS\",\n \"HIMA\",\n \"SOLAPE\",\n \"MOLA\",\n \"CATO\"\n ];\n\n const coin_list_real = [\n \"SRM\",\n \"RAY\",\n \"FIDA\",\n \"MNGO\",\n \"ATLAS\",\n \"POLIS\",\n \"ORCA\",\n \"AURY\",\n \"STEP\",\n \"SBR\",\n \"TULIP\",\n \"COPE\"\n ];\n\n */\n\n if (coin == \"CHEEMS\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"CHEEMS-USDC\";\n coin_data.supply_multiplier = 10;\n coin_data.image = \"https://cheems.co/assets/img/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=3FoUAsGDbvTD6YZ4wVKJgTB76onJUKz7GPEBNiR5b8wc&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"https://api.solscan.io/account/tokens?address=BCmUEpZm9t1Q7ZJpADJgi3qwaSiQyeWqvVPhy3MdmKj7&price=1\";\n coin_data.usd_account = \"HxWHVKhpw4GuDq8SGkUBbCWedzMW4EKe2FR3r1s5bwzZ\";\n coin_data.coin_account = \"5BR3cP9vD5QrgWJSMqjXHNfq1fpe9VheuTuUCdv3tDq1\";\n coin_data.decimal_multiplier = 10000;\n coin_data.exclude_top_3_wallets = true;\n } else if (coin == \"WOOF\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"WOOF-USDC\";\n coin_data.supply_multiplier = 100;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/9nEqaUcb16sQ3Tn1psbkWqyhPdLmfHWjKGymREjsAgTE/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=9nEqaUcb16sQ3Tn1psbkWqyhPdLmfHWjKGymREjsAgTE&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"https://api.solscan.io/account/tokens?address=BUwcHs7HSHMexNjrEuSaP3TY5xdqBo87384VmWMV9BQF&price=1\";\n coin_data.usd_account = \"3rfTMxRqmtoVvVsZXnvf2ifpFweeKSWxuFkYtyQnN9KG\";\n coin_data.coin_account = \"2VcGBzs54DWCVtAQsw8fx1VVdrxEvX7bJz3AD4j8EBHX\";\n coin_data.decimal_multiplier = 1000000;\n coin_data.exclude_top_3_wallets = true;\n coin_data.amm_limit = 1000;\n coin_data.amm_links = [\n \"https://api.solscan.io/amm/txs?address=HY6iq1dp7pHwstfmLFu8m2iEvRQtjX3N751jcN6KrQXU&type=all&tx_status=success&offset=0&limit=1000\",\n \"https://api.solscan.io/amm/txs?address=3HYhQC6ne6SAPVT5sPTKawRUxv9ZpYyLuk1ifrw8baov&type=all&tx_status=success&offset=0&limit=1000\",\n \"https://api.solscan.io/amm/txs?address=EZRHhpvAP4zEX1wZtTQcf6NP4FLWjs9c6tMRBqfrXgFD&type=all&tx_status=success&offset=0&limit=1000\"\n ];\n } else if (coin == \"HIMA\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"HIMA-USDC\";\n coin_data.supply_multiplier = 10;\n coin_data.image = \"https://images.squarespace-cdn.com/content/v1/61843e273a2d4271ce3b1f37/3dc2d9b8-2eab-4ce3-913f-abe50bf74f3d/favicon.ico?format=100w\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=72hgmvS5zFxaFJfMizq6Gp4gjBqXjTPyX9GDP38krorQ&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"https://api.solscan.io/account/tokens?address=8US29p3Q6tFnixS7eJWp14EuQ3qoe4WpFSijfW5S8qGu&price=1\";\n coin_data.usd_account = \"6LMhwdVMo9xF9fgMNzmKFWzy2kkWzL9pHeYcxiDUN2yf\";\n coin_data.coin_account = \"BqrTCss5juV27E7ifk526axDwnzu3QfrcXBCHTVwV4NH\";\n coin_data.decimal_multiplier = 1000000000;\n coin_data.exclude_top_3_wallets = true;\n } else if (coin == \"SHIBA\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"SHIBA-USDC\";\n coin_data.supply_multiplier = 10;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/Dhg9XnzJWzSQqH2aAnhPTEJHGQAkALDfD98MA499A7pa/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=Dhg9XnzJWzSQqH2aAnhPTEJHGQAkALDfD98MA499A7pa&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"https://api.solscan.io/account/tokens?address=7Kf4rUuUPEQ8ABeuWSrHF7KZJmrAdcdx83wQnK4vvT8&price=1\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000000;\n coin_data.exclude_top_3_wallets = true;\n } else if (coin == \"SOLAPE\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"SOLAPE-USDC\";\n coin_data.supply_multiplier = 1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/GHvFFSZ9BctWsEc5nujR1MTmmJWY7tgQz2AXE6WVFtGN/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=GHvFFSZ9BctWsEc5nujR1MTmmJWY7tgQz2AXE6WVFtGN&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000000;\n coin_data.exclude_top_3_wallets = true;\n } else if (coin == \"MOLA\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"MOLA-USDC\";\n coin_data.supply_multiplier = 10;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/AMdnw9H5DFtQwZowVFr4kUgSXJzLokKSinvgGiUoLSps/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=AMdnw9H5DFtQwZowVFr4kUgSXJzLokKSinvgGiUoLSps&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000000;\n coin_data.exclude_top_3_wallets = true;\n } else if (coin == \"CATO\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"CATO-USDC\";\n coin_data.supply_multiplier = 1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/5p2zjqCd1WJzAVgcEnjhb9zWDU7b9XVhFhx4usiyN7jB/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=5p2zjqCd1WJzAVgcEnjhb9zWDU7b9XVhFhx4usiyN7jB&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000000;\n coin_data.exclude_top_3_wallets = true;\n } else if (coin == \"SRM\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"SRM-USDT\";\n coin_data.supply_multiplier = 1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000;\n coin_data.exclude_top_3_wallets = false;\n } else if (coin == \"RAY\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"RAY-USDC\";\n coin_data.supply_multiplier = 0.1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000;\n coin_data.exclude_top_3_wallets = false;\n } else if (coin == \"FIDA\") {\n coin_data.pool_name = \"Orca\";\n coin_data.pool_pair = \"FIDA/SOL[aquafarm]\";\n coin_data.supply_multiplier = 0.1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp/logo.svg\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000;\n coin_data.exclude_top_3_wallets = false;\n } else if (coin == \"MNGO\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"MNGO-USDC\";\n coin_data.supply_multiplier = 1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac/token.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000;\n coin_data.exclude_top_3_wallets = false;\n coin_data.amm_limit = 1000;\n coin_data.amm_links = [\n \"https://api.solscan.io/amm/txs?address=Hk9ZCvmqVT1FHNkWJMrtMkkVnH1WqssWPAvmio5Vs3se&type=all&tx_status=success&offset=0&limit=1000\",\n \"https://api.solscan.io/amm/txs?address=34tFULRrRwh4bMcBLPtJaNqqe5pVgGZACi5sR8Xz95KC&type=all&tx_status=success&offset=0&limit=1000\"\n ];\n } else if (coin == \"ATLAS\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"ATLAS-USDC\";\n coin_data.supply_multiplier = 1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 100000000;\n coin_data.exclude_top_3_wallets = false;\n coin_data.amm_limit = 10000;\n coin_data.amm_links = [\n \"https://api.solscan.io/amm/txs?address=3V5sjXj1mrWjjB1Xt6Xwp554QwHE5fppGSxbk4GzAtEW&type=all&tx_status=success&offset=0&limit=2000\",\n \"https://api.solscan.io/amm/txs?address=F73euqPynBwrgcZn3fNSEneSnYasDQohPM5aZazW9hp2&type=all&tx_status=success&offset=0&limit=2000\",\n \"https://api.solscan.io/amm/txs?address=2bnZ1edbvK3CK3LTNZ5jH9anvXYCmzPR4W2HQ6Ngsv5K&type=all&tx_status=success&offset=0&limit=2000\"\n ];\n } else if (coin == \"POLIS\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"POLIS-USDC\";\n coin_data.supply_multiplier = 0.1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/poLisWXnNRwC6oBu1vHiuKQzFjGL4XDSu4g9qjz9qVk/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=poLisWXnNRwC6oBu1vHiuKQzFjGL4XDSu4g9qjz9qVk&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 100000000;\n coin_data.exclude_top_3_wallets = false;\n } else if (coin == \"ORCA\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"ORCA-USDC\";\n coin_data.supply_multiplier = 0.1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000;\n coin_data.exclude_top_3_wallets = false;\n coin_data.amm_limit = 10000;\n coin_data.amm_links = [\n \"https://api.solscan.io/amm/txs?address=2ZnVuidTHpi5WWKUwFXauYGhvdT9jRKYv5MDahtbwtYr&type=all&tx_status=success&offset=0&limit=1000\",\n \"https://api.solscan.io/amm/txs?address=2p7nYbtPBgtmY69NsE8DAW6szpRJn7tQvDnqvoEWQvjY&type=all&tx_status=success&offset=0&limit=1000\",\n \"https://api.solscan.io/amm/txs?address=49tTgthTYLMPEqozZNyEQifqkGYxHqqDie9YxVczS3iB&type=all&tx_status=success&offset=0&limit=1000\",\n \"https://api.solscan.io/amm/txs?address=7LfLiCnoLPefaCVuh6z92TK2tPZUa9bPjW7gHT4jqrec&type=all&tx_status=success&offset=0&limit=500\",\n \"https://api.solscan.io/amm/txs?address=C5yXRTp39qv5WZrfiqoqeyK6wvbqS97oBqbsDUqfZyu&type=all&tx_status=success&offset=0&limit=500\"\n ];\n /*\n coin_data.amm_limit = 1000;\n coin_data.amm_links = [\n \"https://api.solscan.io/amm/txs?address=&type=all&tx_status=success&offset=0&limit=1000\",\n \"https://api.solscan.io/amm/txs?address=&type=all&tx_status=success&offset=0&limit=1000\",\n \"https://api.solscan.io/amm/txs?address=&type=all&tx_status=success&offset=0&limit=1000\",\n \"https://api.solscan.io/amm/txs?address=&type=all&tx_status=success&offset=0&limit=500\",\n \"https://api.solscan.io/amm/txs?address=&type=all&tx_status=success&offset=0&limit=500\"\n ];\n */\n } else if (coin == \"AURY\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"AURY-USDC\";\n coin_data.supply_multiplier = 0.1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000000;\n coin_data.exclude_top_3_wallets = false;\n } else if (coin == \"STEP\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"STEP-USDC\";\n coin_data.supply_multiplier = 1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/StepAscQoEioFxxWGnh2sLBDFp9d8rvKz2Yp39iDpyT/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=StepAscQoEioFxxWGnh2sLBDFp9d8rvKz2Yp39iDpyT&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000000;\n coin_data.exclude_top_3_wallets = false;\n } else if (coin == \"SBR\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"SBR-USDC\";\n coin_data.supply_multiplier = 1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1/logo.svg\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000;\n coin_data.exclude_top_3_wallets = false;\n } else if (coin == \"TULIP\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"TULIP-USDC\";\n coin_data.supply_multiplier = 0.1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/TuLipcqtGVXP9XR62wM8WWCm6a9vhLs7T1uoWBk6FDs/logo.svg\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=TuLipcqtGVXP9XR62wM8WWCm6a9vhLs7T1uoWBk6FDs&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000;\n coin_data.exclude_top_3_wallets = false;\n } else if (coin == \"COPE\") {\n coin_data.pool_name = \"Raydium\";\n coin_data.pool_pair = \"COPE-USDC\";\n coin_data.supply_multiplier = 0.1;\n coin_data.image = \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/8HGyAAB1yoM1ttS7pXjHMa3dukTFGQggnFFH3hJZgzQh/logo.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=8HGyAAB1yoM1ttS7pXjHMa3dukTFGQggnFFH3hJZgzQh&offset=0&size=\";\n coin_data.holders_data_day_ago = \"\";\n coin_data.token_accounts_link = \"\";\n coin_data.usd_account = \"\";\n coin_data.coin_account = \"\";\n coin_data.decimal_multiplier = 1000000;\n coin_data.exclude_top_3_wallets = false;\n } else {\n coin_data.pool_name = \"Orca\";\n coin_data.pool_pair = \"SAMO/USDC\";\n coin_data.supply_multiplier = 10;\n coin_data.image = \"https://samoyedcoin.com/wp-content/uploads/2021/05/samoyed1.png\";\n coin_data.token_link = \"https://api.solscan.io/token/holders?token=7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU&offset=0&size=\";\n coin_data.holders_data_day_ago = \"https://raspy-disk-bb5e.coinchimp.workers.dev/api/SAMO/holders\";\n coin_data.holders_data_three_days_ago = \"https://raspy-disk-bb5e.coinchimp.workers.dev/api/SAMO/holders/three_days_ago\";\n coin_data.holders_data_week_ago = \"https://raspy-disk-bb5e.coinchimp.workers.dev/api/SAMO/holders/week_ago\";\n coin_data.token_accounts_link = \"https://api.solscan.io/account/tokens?address=AB4rTE2JiKFhnfynUQCovbW75CUxT9LxcJX2SDTbY9gy&price=1\";\n coin_data.usd_account = \"G7Gqjxk9EaJMeFfoFTSy9WfH8uurgQkbNQCREWAc56DZ\";\n coin_data.coin_account = \"7jwHW4Lw3nVaSJXskN5pUoKU6YB9RBVfZtGBp3VbR43U\";\n coin_data.decimal_multiplier = 1000000000;\n coin_data.exclude_top_3_wallets = true;\n coin_data.amm_limit = 5000;\n coin_data.amm_links = [\n \"https://api.solscan.io/amm/txs?address=Epvp7qMYAF21VVjacdB3VfKn6nnXQSF4rGYu8sD6Bkow&type=all&tx_status=success&offset=0&limit=5000\",\n \"https://api.solscan.io/amm/txs?address=DiAP9qmp5foN7fLTWfBWjo9KBS1jgvKUJLWi1ZhqKaja&type=all&tx_status=success&offset=0&limit=2500\",\n \"https://api.solscan.io/amm/txs?address=Hj45HZesMQD4ghdU7GuskiMyYBfxLnfibqKNgdaj8284&type=all&tx_status=success&offset=0&limit=2500\",\n \"https://api.solscan.io/amm/txs?address=EyDgEU9BdG7m6ZK4bYERxbN4NCJ129WzPtv23dBkfsLg&type=all&tx_status=success&offset=0&limit=2500\",\n \"https://api.solscan.io/amm/txs?address=7oYaghDwJ6ZbZwzdzcPqQtW6r4cojSLJDKB6U7tqAK1x&type=all&tx_status=success&offset=0&limit=2500\"\n ];\n }\n\n const dex_images = {\n \"orca\": \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE/logo.png\",\n \"raydium\": \"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R/logo.png\"\n }\n\n const amount_numbers = {\n \"10M+\": 10000000,\n \"5M+\": 5000000,\n \"2M+\": 2000000,\n \"1M+\": 1000000,\n \"500k+\": 500000,\n \"200k+\": 200000,\n \"100k+\": 100000,\n \"50k+\": 50000,\n \"20k+\": 20000,\n \"10k+\": 10000,\n \"5k+\": 5000,\n \"2k+\": 2000,\n \"1k+\": 1000,\n \"More than 0\": 0\n };\n\n const amount_numbers_groups = {\n \"10M+\": 10000000,\n \"5M-10M\": 5000000,\n \"2M-5M\": 2000000,\n \"1M-2M\": 1000000,\n \"500k-1M\": 500000,\n \"200k-500k\": 200000,\n \"100k-200k\": 100000,\n \"50k-100k\": 50000,\n \"20k-50k\": 20000,\n \"10k-20k\": 10000,\n \"5k-10k\": 5000,\n \"2k-5k\": 2000,\n \"1k-2k\": 1000,\n \"More than 0 but less than 1k\": 0\n };\n\n const amount_numbers_100 = {\n \"100M+\": 100000000,\n \"50M+\": 50000000,\n \"20M+\": 20000000,\n \"10M+\": 10000000,\n \"5M+\": 5000000,\n \"2M+\": 2000000,\n \"1M+\": 1000000,\n \"500k+\": 500000,\n \"200k+\": 200000,\n \"100k+\": 100000,\n \"50k+\": 50000,\n \"20k+\": 20000,\n \"10k+\": 10000,\n \"More than 0\": 0\n };\n\n const amount_numbers_groups_100 = {\n \"100M+\": 100000000,\n \"50M-100M\": 50000000,\n \"20M-50M\": 20000000,\n \"10M-20M\": 10000000,\n \"5M-10M\": 5000000,\n \"2M-5M\": 2000000,\n \"1M-2M\": 1000000,\n \"500k-1M\": 500000,\n \"200k-500k\": 200000,\n \"100k-200k\": 100000,\n \"50k-100k\": 50000,\n \"20k-50k\": 20000,\n \"10k-20k\": 10000,\n \"More than 0 but less than 10k\": 0\n };\n\n const amount_numbers_1 = {\n \"1M+\": 1000000,\n \"500k+\": 500000,\n \"200k+\": 200000,\n \"100k+\": 100000,\n \"50k+\": 50000,\n \"20k+\": 20000,\n \"10k+\": 10000,\n \"5k+\": 5000,\n \"2k+\": 2000,\n \"1k+\": 1000,\n \"500+\": 500,\n \"200+\": 200,\n \"100+\": 100,\n \"More than 0\": 0\n };\n\n const amount_numbers_groups_1 = {\n \"1M+\": 1000000,\n \"500k-1M\": 500000,\n \"200k-500k\": 200000,\n \"100k-200k\": 100000,\n \"50k-100k\": 50000,\n \"20k-50k\": 20000,\n \"10k-20k\": 10000,\n \"5k-10k\": 5000,\n \"2k-5k\": 2000,\n \"1k-2k\": 1000,\n \"500-1k\": 500,\n \"200-500\": 200,\n \"100-200\": 100,\n \"More than 0 but less than 100\": 0\n };\n\n const amount_numbers_0_1 = {\n \"100k+\": 100000,\n \"50k+\": 50000,\n \"20k+\": 20000,\n \"10k+\": 10000,\n \"5k+\": 5000,\n \"2k+\": 2000,\n \"1k+\": 1000,\n \"500+\": 500,\n \"200+\": 200,\n \"100+\": 100,\n \"50+\": 50,\n \"20+\": 20,\n \"10+\": 10,\n \"More than 0\": 0\n };\n\n const amount_numbers_groups_0_1 = {\n \"100k+\": 100000,\n \"50k-100k\": 50000,\n \"20k-50k\": 20000,\n \"10k-20k\": 10000,\n \"5k-10k\": 5000,\n \"2k-5k\": 2000,\n \"1k-2k\": 1000,\n \"500-1k\": 500,\n \"200-500\": 200,\n \"100-200\": 100,\n \"50-100\": 50,\n \"20-50\": 20,\n \"10-20\": 10,\n \"More than 0 but less than 10\": 0\n };\n\n const amount_numbers_arr = Object.entries(amount_numbers);\n const amount_numbers_groups_arr = Object.entries(amount_numbers_groups);\n const amount_numbers_100_arr = Object.entries(amount_numbers_100);\n const amount_numbers_groups_100_arr = Object.entries(amount_numbers_groups_100);\n const amount_numbers_1_arr = Object.entries(amount_numbers_1);\n const amount_numbers_groups_1_arr = Object.entries(amount_numbers_groups_1);\n const amount_numbers_0_1_arr = Object.entries(amount_numbers_0_1);\n const amount_numbers_groups_0_1_arr = Object.entries(amount_numbers_groups_0_1);\n let final_amount_numbers = {};\n let final_amount_numbers_groups = {};\n let final_amount_numbers_arr = [];\n let final_amount_numbers_groups_arr = [];\n\n if (coin_data.supply_multiplier == 10) {\n final_amount_numbers = amount_numbers;\n final_amount_numbers_groups = amount_numbers_groups;\n\n final_amount_numbers_arr = amount_numbers_arr;\n final_amount_numbers_groups_arr = amount_numbers_groups_arr;\n } else if (coin_data.supply_multiplier == 100) {\n final_amount_numbers = amount_numbers_100;\n final_amount_numbers_groups = amount_numbers_groups_100;\n\n final_amount_numbers_arr = amount_numbers_100_arr;\n final_amount_numbers_groups_arr = amount_numbers_groups_100_arr;\n } else if (coin_data.supply_multiplier == 1) {\n final_amount_numbers = amount_numbers_1;\n final_amount_numbers_groups = amount_numbers_groups_1;\n\n final_amount_numbers_arr = amount_numbers_1_arr;\n final_amount_numbers_groups_arr = amount_numbers_groups_1_arr;\n } else if (coin_data.supply_multiplier == 0.1) {\n final_amount_numbers = amount_numbers_0_1;\n final_amount_numbers_groups = amount_numbers_groups_0_1;\n\n final_amount_numbers_arr = amount_numbers_0_1_arr;\n final_amount_numbers_groups_arr = amount_numbers_groups_0_1_arr;\n }\n\n\n function binarySearchForLeftRange(a, length, left_range) {\n if (a[length-1] < left_range) {\n return -1;\n }\n\n var low = 0;\n var high = length-1;\n\n while (low<=high)\n {\n var mid = Math.floor((low + high) / 2);\n\n if(a[mid] >= left_range) {\n high = mid-1;\n } else { //if(a[mid] right_range) {\n return -1;\n }\n\n var low = 0;\n var high = length-1;\n\n while (low<=high)\n {\n var mid = Math.floor((low + high) / 2);\n\n if(a[mid] > right_range) {\n high = mid-1;\n\n } else { //if(a[mid]index_right) {\n var count = 0;\n } else {\n var count = index_right-index_left+1;\n }\n\n return count;\n }\n\n\n function getByTokenAccount(arr, value) {\n\n for (var i=0, iLen=arr.length; i {\n return Object.entries(filters).every(([filter, value]) => {\n if (filter == \"volumeUSD\") {\n return (item[filter] > value)\n }\n if (filter == \"blockUnixTime\") {\n return (item[filter] > value)\n }\n return item[filter] === value;\n //Here i am applying a bit more logic like \n //return item[filter].includes(value) \n //or filter with not exactly same key name like\n //return !isEmpty(item.key3)\n });\n });\n\n return cleaned;\n }\n\n function getByPairIdentifier(arr, value) {\n\n for (var i=0, iLen=arr.length; i\n fetch(link).then(resp => resp.json())\n )).then(\n (result) => {\n\n let results_cleaned = [];\n let results_latest_tx_unix_time = [];\n for(let i=0; i < result.length; i++) {\n let last_element = result[i].data.items[(result[i].data.items.length-1)];\n let last_element_time = last_element.blockUnixTime;\n results_latest_tx_unix_time.push(last_element_time);\n results_cleaned.push(result[i].data.items);\n }\n\n let oldestUnixTime = Math.max(...results_latest_tx_unix_time);\n\n console.log(results_cleaned);\n\n let flat_result = []\n results_cleaned.forEach(curSet=>{\n flat_result = [...flat_result,...curSet]\n })\n\n let limit = coin_data.amm_limit;\n\n let largest_transactions = getHighestValueTransactions(flat_result, limit, oldestUnixTime);\n\n const sorted = largest_transactions.sort((a, b) => {\n return b.blockUnixTime - a.blockUnixTime;\n });\n\n setLargestTransactions(sorted);\n\n console.log(largest_transactions);\n\n },\n // Note: it's important to handle errors here\n // instead of a catch() block so that we don't swallow\n // exceptions from actual bugs in components.\n (error) => {\n setIsLoaded(true);\n setError(error);\n }\n\n );\n\n }\n\n }\n\n\n\n useEffect(() => {\n setTokenPrice();\n setTabValue(1);\n\n const timeout = setInterval(() => setTokenPrice(), 10000);\n return () => clearInterval(timeout);\n }, [location]);\n\n useEffect(() => {\n setMarketCap(price);\n }, [price])\n\n // Note: the empty deps array [] means\n // this useEffect will run once\n // similar to componentDidMount()\n useEffect(() => {\n setIsLoaded(false);\n fetch(coin_data.token_link)\n .then(res => res.json())\n .then(\n (result) => {\n\n setIsLoaded(true);\n setTotal(result.data.total);\n setChecked(coin_data.exclude_top_3_wallets);\n let amounts = result.data.result.map(obj => {\n return obj.amount\n })\n setAmounts(amounts.reverse());\n setData(result.data.result);\n\n setFrequency({\n [final_amount_numbers_arr[0][0]]: countFrequencyInRange(amounts, final_amount_numbers_arr[0][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[1][0]]: countFrequencyInRange(amounts, final_amount_numbers_arr[1][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[2][0]]: countFrequencyInRange(amounts, final_amount_numbers_arr[2][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[3][0]]: countFrequencyInRange(amounts, final_amount_numbers_arr[3][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[4][0]]: countFrequencyInRange(amounts, final_amount_numbers_arr[4][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[5][0]]: countFrequencyInRange(amounts, final_amount_numbers_arr[5][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[6][0]]: countFrequencyInRange(amounts, final_amount_numbers_arr[6][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[7][0]]: countFrequencyInRange(amounts, final_amount_numbers_arr[7][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[8][0]]: countFrequencyInRange(amounts, final_amount_numbers_arr[8][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[9][0]]: countFrequencyInRange(amounts, final_amount_numbers_arr[9][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[10][0]]: countFrequencyInRange(amounts, final_amount_numbers_arr[10][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[11][0]]: countFrequencyInRange(amounts, final_amount_numbers_arr[11][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[12][0]]: countFrequencyInRange(amounts, final_amount_numbers_arr[12][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[13][0]]: result.data.total\n });\n\n },\n // Note: it's important to handle errors here\n // instead of a catch() block so that we don't swallow\n // exceptions from actual bugs in components.\n (error) => {\n setIsLoaded(true);\n setError(error);\n }\n )\n\n\n getLatestWhaleTransactions();\n const timeout = setInterval(() => getLatestWhaleTransactions(), 60000);\n return () => clearInterval(timeout);\n\n // TURN OF TEMPORARILY\n\n /*\n if (coin == \"SAMO\") {\n\n fetch(coin_data.holders_data_day_ago)\n .then(res => res.json())\n .then(\n (result) => {\n\n // day ago\n\n setTotalDayAgo(result.data.total);\n\n let amounts_raw = result.data.result.map(obj => {\n return obj.amount\n })\n setAmountsDayAgo(amounts_raw.reverse());\n setDataDayAgo(result.data.result);\n\n setFrequencyDayAgo({\n [final_amount_numbers_arr[0][0]]: countFrequencyInRange(amounts_raw, final_amount_numbers_arr[0][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[1][0]]: countFrequencyInRange(amounts_raw, final_amount_numbers_arr[1][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[2][0]]: countFrequencyInRange(amounts_raw, final_amount_numbers_arr[2][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[3][0]]: countFrequencyInRange(amounts_raw, final_amount_numbers_arr[3][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[4][0]]: countFrequencyInRange(amounts_raw, final_amount_numbers_arr[4][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[5][0]]: countFrequencyInRange(amounts_raw, final_amount_numbers_arr[5][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[6][0]]: countFrequencyInRange(amounts_raw, final_amount_numbers_arr[6][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[7][0]]: countFrequencyInRange(amounts_raw, final_amount_numbers_arr[7][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[8][0]]: countFrequencyInRange(amounts_raw, final_amount_numbers_arr[8][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[9][0]]: countFrequencyInRange(amounts_raw, final_amount_numbers_arr[9][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[10][0]]: countFrequencyInRange(amounts_raw, final_amount_numbers_arr[10][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[11][0]]: countFrequencyInRange(amounts_raw, final_amount_numbers_arr[11][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[12][0]]: countFrequencyInRange(amounts_raw, final_amount_numbers_arr[12][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[13][0]]: result.data.total\n });\n */\n /*\n\n // 3 days ago\n\n setTotal3DaysAgo(result.data.total);\n\n let amounts_raw_2 = result.data.result.map(obj => {\n return obj.amount\n })\n setAmounts3DaysAgo(amounts_raw_2.reverse());\n setData3DaysAgo(result.data.result);\n\n setFrequency3DaysAgo({\n [final_amount_numbers_arr[0][0]]: countFrequencyInRange(amounts_raw_2, final_amount_numbers_arr[0][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[1][0]]: countFrequencyInRange(amounts_raw_2, final_amount_numbers_arr[1][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[2][0]]: countFrequencyInRange(amounts_raw_2, final_amount_numbers_arr[2][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[3][0]]: countFrequencyInRange(amounts_raw_2, final_amount_numbers_arr[3][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[4][0]]: countFrequencyInRange(amounts_raw_2, final_amount_numbers_arr[4][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[5][0]]: countFrequencyInRange(amounts_raw_2, final_amount_numbers_arr[5][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[6][0]]: countFrequencyInRange(amounts_raw_2, final_amount_numbers_arr[6][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[7][0]]: countFrequencyInRange(amounts_raw_2, final_amount_numbers_arr[7][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[8][0]]: countFrequencyInRange(amounts_raw_2, final_amount_numbers_arr[8][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[9][0]]: countFrequencyInRange(amounts_raw_2, final_amount_numbers_arr[9][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[10][0]]: countFrequencyInRange(amounts_raw_2, final_amount_numbers_arr[10][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[11][0]]: countFrequencyInRange(amounts_raw_2, final_amount_numbers_arr[11][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[12][0]]: countFrequencyInRange(amounts_raw_2, final_amount_numbers_arr[12][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[13][0]]: result.data.total\n });\n\n // Week ago\n\n setTotalWeekAgo(result.data.total);\n\n let amounts_raw_3 = result.data.result.map(obj => {\n return obj.amount\n })\n setAmountsWeekAgo(amounts_raw_3.reverse());\n setDataWeekAgo(result.data.result);\n\n setFrequencyWeekAgo({\n [final_amount_numbers_arr[0][0]]: countFrequencyInRange(amounts_raw_3, final_amount_numbers_arr[0][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[1][0]]: countFrequencyInRange(amounts_raw_3, final_amount_numbers_arr[1][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[2][0]]: countFrequencyInRange(amounts_raw_3, final_amount_numbers_arr[2][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[3][0]]: countFrequencyInRange(amounts_raw_3, final_amount_numbers_arr[3][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[4][0]]: countFrequencyInRange(amounts_raw_3, final_amount_numbers_arr[4][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[5][0]]: countFrequencyInRange(amounts_raw_3, final_amount_numbers_arr[5][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[6][0]]: countFrequencyInRange(amounts_raw_3, final_amount_numbers_arr[6][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[7][0]]: countFrequencyInRange(amounts_raw_3, final_amount_numbers_arr[7][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[8][0]]: countFrequencyInRange(amounts_raw_3, final_amount_numbers_arr[8][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[9][0]]: countFrequencyInRange(amounts_raw_3, final_amount_numbers_arr[9][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[10][0]]: countFrequencyInRange(amounts_raw_3, final_amount_numbers_arr[10][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[11][0]]: countFrequencyInRange(amounts_raw_3, final_amount_numbers_arr[11][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[12][0]]: countFrequencyInRange(amounts_raw_3, final_amount_numbers_arr[12][1] * coin_data.decimal_multiplier, Math.min()),\n [final_amount_numbers_arr[13][0]]: result.data.total\n }); \n\n */ /* \n\n },\n // Note: it's important to handle errors here\n // instead of a catch() block so that we don't swallow\n // exceptions from actual bugs in components.\n (error) => {\n //setIsLoaded(true);\n setError(error);\n }\n );\n\n \n\n\n }*/\n\n }, [location])\n\n useEffect(() => {\n setFrequencyGroup({\n [final_amount_numbers_groups_arr[0][0]]: frequency[final_amount_numbers_arr[0][0]],\n [final_amount_numbers_groups_arr[1][0]]: frequency[final_amount_numbers_arr[1][0]] - frequency[final_amount_numbers_arr[0][0]],\n [final_amount_numbers_groups_arr[2][0]]: frequency[final_amount_numbers_arr[2][0]] - frequency[final_amount_numbers_arr[1][0]],\n [final_amount_numbers_groups_arr[3][0]]: frequency[final_amount_numbers_arr[3][0]] - frequency[final_amount_numbers_arr[2][0]],\n [final_amount_numbers_groups_arr[4][0]]: frequency[final_amount_numbers_arr[4][0]] - frequency[final_amount_numbers_arr[3][0]],\n [final_amount_numbers_groups_arr[5][0]]: frequency[final_amount_numbers_arr[5][0]] - frequency[final_amount_numbers_arr[4][0]],\n [final_amount_numbers_groups_arr[6][0]]: frequency[final_amount_numbers_arr[6][0]] - frequency[final_amount_numbers_arr[5][0]],\n [final_amount_numbers_groups_arr[7][0]]: frequency[final_amount_numbers_arr[7][0]] - frequency[final_amount_numbers_arr[6][0]],\n [final_amount_numbers_groups_arr[8][0]]: frequency[final_amount_numbers_arr[8][0]] - frequency[final_amount_numbers_arr[7][0]],\n [final_amount_numbers_groups_arr[9][0]]: frequency[final_amount_numbers_arr[9][0]] - frequency[final_amount_numbers_arr[8][0]],\n [final_amount_numbers_groups_arr[10][0]]: frequency[final_amount_numbers_arr[10][0]] - frequency[final_amount_numbers_arr[9][0]],\n [final_amount_numbers_groups_arr[11][0]]: frequency[final_amount_numbers_arr[11][0]] - frequency[final_amount_numbers_arr[10][0]],\n [final_amount_numbers_groups_arr[12][0]]: frequency[final_amount_numbers_arr[12][0]] - frequency[final_amount_numbers_arr[11][0]],\n [final_amount_numbers_groups_arr[13][0]]: frequency[final_amount_numbers_arr[13][0]] - frequency[final_amount_numbers_arr[12][0]]\n })\n }, [frequency])\n\n\n // day ago\n /*\n useEffect(() => {\n \n if (coin == \"SAMO\") {\n setFrequencyGroupDayAgo({\n [final_amount_numbers_groups_arr[0][0]]: frequencyDayAgo[final_amount_numbers_arr[0][0]],\n [final_amount_numbers_groups_arr[1][0]]: frequencyDayAgo[final_amount_numbers_arr[1][0]] - frequencyDayAgo[final_amount_numbers_arr[0][0]],\n [final_amount_numbers_groups_arr[2][0]]: frequencyDayAgo[final_amount_numbers_arr[2][0]] - frequencyDayAgo[final_amount_numbers_arr[1][0]],\n [final_amount_numbers_groups_arr[3][0]]: frequencyDayAgo[final_amount_numbers_arr[3][0]] - frequencyDayAgo[final_amount_numbers_arr[2][0]],\n [final_amount_numbers_groups_arr[4][0]]: frequencyDayAgo[final_amount_numbers_arr[4][0]] - frequencyDayAgo[final_amount_numbers_arr[3][0]],\n [final_amount_numbers_groups_arr[5][0]]: frequencyDayAgo[final_amount_numbers_arr[5][0]] - frequencyDayAgo[final_amount_numbers_arr[4][0]],\n [final_amount_numbers_groups_arr[6][0]]: frequencyDayAgo[final_amount_numbers_arr[6][0]] - frequencyDayAgo[final_amount_numbers_arr[5][0]],\n [final_amount_numbers_groups_arr[7][0]]: frequencyDayAgo[final_amount_numbers_arr[7][0]] - frequencyDayAgo[final_amount_numbers_arr[6][0]],\n [final_amount_numbers_groups_arr[8][0]]: frequencyDayAgo[final_amount_numbers_arr[8][0]] - frequencyDayAgo[final_amount_numbers_arr[7][0]],\n [final_amount_numbers_groups_arr[9][0]]: frequencyDayAgo[final_amount_numbers_arr[9][0]] - frequencyDayAgo[final_amount_numbers_arr[8][0]],\n [final_amount_numbers_groups_arr[10][0]]: frequencyDayAgo[final_amount_numbers_arr[10][0]] - frequencyDayAgo[final_amount_numbers_arr[9][0]],\n [final_amount_numbers_groups_arr[11][0]]: frequencyDayAgo[final_amount_numbers_arr[11][0]] - frequencyDayAgo[final_amount_numbers_arr[10][0]],\n [final_amount_numbers_groups_arr[12][0]]: frequencyDayAgo[final_amount_numbers_arr[12][0]] - frequencyDayAgo[final_amount_numbers_arr[11][0]],\n [final_amount_numbers_groups_arr[13][0]]: frequencyDayAgo[final_amount_numbers_arr[13][0]] - frequencyDayAgo[final_amount_numbers_arr[12][0]]\n })\n }\n\n }, [frequencyDayAgo])\n\n */\n\n /*\n // 3 days ago\n useEffect(() => {\n \n if (coin == \"SAMO\") {\n setFrequencyGroup3DaysAgo({\n [final_amount_numbers_groups_arr[0][0]]: frequency3DaysAgo[final_amount_numbers_arr[0][0]],\n [final_amount_numbers_groups_arr[1][0]]: frequency3DaysAgo[final_amount_numbers_arr[1][0]] - frequency3DaysAgo[final_amount_numbers_arr[0][0]],\n [final_amount_numbers_groups_arr[2][0]]: frequency3DaysAgo[final_amount_numbers_arr[2][0]] - frequency3DaysAgo[final_amount_numbers_arr[1][0]],\n [final_amount_numbers_groups_arr[3][0]]: frequency3DaysAgo[final_amount_numbers_arr[3][0]] - frequency3DaysAgo[final_amount_numbers_arr[2][0]],\n [final_amount_numbers_groups_arr[4][0]]: frequency3DaysAgo[final_amount_numbers_arr[4][0]] - frequency3DaysAgo[final_amount_numbers_arr[3][0]],\n [final_amount_numbers_groups_arr[5][0]]: frequency3DaysAgo[final_amount_numbers_arr[5][0]] - frequency3DaysAgo[final_amount_numbers_arr[4][0]],\n [final_amount_numbers_groups_arr[6][0]]: frequency3DaysAgo[final_amount_numbers_arr[6][0]] - frequency3DaysAgo[final_amount_numbers_arr[5][0]],\n [final_amount_numbers_groups_arr[7][0]]: frequency3DaysAgo[final_amount_numbers_arr[7][0]] - frequency3DaysAgo[final_amount_numbers_arr[6][0]],\n [final_amount_numbers_groups_arr[8][0]]: frequency3DaysAgo[final_amount_numbers_arr[8][0]] - frequency3DaysAgo[final_amount_numbers_arr[7][0]],\n [final_amount_numbers_groups_arr[9][0]]: frequency3DaysAgo[final_amount_numbers_arr[9][0]] - frequency3DaysAgo[final_amount_numbers_arr[8][0]],\n [final_amount_numbers_groups_arr[10][0]]: frequency3DaysAgo[final_amount_numbers_arr[10][0]] - frequency3DaysAgo[final_amount_numbers_arr[9][0]],\n [final_amount_numbers_groups_arr[11][0]]: frequency3DaysAgo[final_amount_numbers_arr[11][0]] - frequency3DaysAgo[final_amount_numbers_arr[10][0]],\n [final_amount_numbers_groups_arr[12][0]]: frequency3DaysAgo[final_amount_numbers_arr[12][0]] - frequency3DaysAgo[final_amount_numbers_arr[11][0]],\n [final_amount_numbers_groups_arr[13][0]]: frequency3DaysAgo[final_amount_numbers_arr[13][0]] - frequency3DaysAgo[final_amount_numbers_arr[12][0]]\n })\n }\n\n }, [frequency3DaysAgo]) \n\n // week ago\n\n useEffect(() => {\n \n if (coin == \"SAMO\") {\n setFrequencyGroupWeekAgo({\n [final_amount_numbers_groups_arr[0][0]]: frequencyWeekAgo[final_amount_numbers_arr[0][0]],\n [final_amount_numbers_groups_arr[1][0]]: frequencyWeekAgo[final_amount_numbers_arr[1][0]] - frequencyWeekAgo[final_amount_numbers_arr[0][0]],\n [final_amount_numbers_groups_arr[2][0]]: frequencyWeekAgo[final_amount_numbers_arr[2][0]] - frequencyWeekAgo[final_amount_numbers_arr[1][0]],\n [final_amount_numbers_groups_arr[3][0]]: frequencyWeekAgo[final_amount_numbers_arr[3][0]] - frequencyWeekAgo[final_amount_numbers_arr[2][0]],\n [final_amount_numbers_groups_arr[4][0]]: frequencyWeekAgo[final_amount_numbers_arr[4][0]] - frequencyWeekAgo[final_amount_numbers_arr[3][0]],\n [final_amount_numbers_groups_arr[5][0]]: frequencyWeekAgo[final_amount_numbers_arr[5][0]] - frequencyWeekAgo[final_amount_numbers_arr[4][0]],\n [final_amount_numbers_groups_arr[6][0]]: frequencyWeekAgo[final_amount_numbers_arr[6][0]] - frequencyWeekAgo[final_amount_numbers_arr[5][0]],\n [final_amount_numbers_groups_arr[7][0]]: frequencyWeekAgo[final_amount_numbers_arr[7][0]] - frequencyWeekAgo[final_amount_numbers_arr[6][0]],\n [final_amount_numbers_groups_arr[8][0]]: frequencyWeekAgo[final_amount_numbers_arr[8][0]] - frequencyWeekAgo[final_amount_numbers_arr[7][0]],\n [final_amount_numbers_groups_arr[9][0]]: frequencyWeekAgo[final_amount_numbers_arr[9][0]] - frequencyWeekAgo[final_amount_numbers_arr[8][0]],\n [final_amount_numbers_groups_arr[10][0]]: frequencyWeekAgo[final_amount_numbers_arr[10][0]] - frequencyWeekAgo[final_amount_numbers_arr[9][0]],\n [final_amount_numbers_groups_arr[11][0]]: frequencyWeekAgo[final_amount_numbers_arr[11][0]] - frequencyWeekAgo[final_amount_numbers_arr[10][0]],\n [final_amount_numbers_groups_arr[12][0]]: frequencyWeekAgo[final_amount_numbers_arr[12][0]] - frequencyWeekAgo[final_amount_numbers_arr[11][0]],\n [final_amount_numbers_groups_arr[13][0]]: frequencyWeekAgo[final_amount_numbers_arr[13][0]] - frequencyWeekAgo[final_amount_numbers_arr[12][0]]\n })\n }\n\n }, [frequencyWeekAgo])\n\n */\n\n\n useEffect(() => { // Reversing the amounts so that the first ones are the largest ones\n\n let amountsReversedRaw = [...amounts].reverse();\n setAmountsReversed(amountsReversedRaw);\n\n }, [frequency])\n \n \n useEffect(() => { // Setting the cleaned amounts (free of burn wallets etc.)\n\n let amountsReversedRaw = [...amountsReversed]; // cloning array\n\n amountsReversedRaw[0] = 0;\n amountsReversedRaw[1] = 0;\n amountsReversedRaw[2] = 0;\n\n setAmountsReversedCleaned(amountsReversedRaw);\n\n }, [amountsReversed])\n\n\n useEffect(() => { // Calculating the amounts sum of the non-cleaned and cleaned amounts (by group)\n\n setAmountsGroup({\n [final_amount_numbers_groups_arr[0][0]]: getAmountsSum(amountsReversed, 0, frequency[final_amount_numbers_arr[0][0]] - 1),\n [final_amount_numbers_groups_arr[1][0]]: getAmountsSum(amountsReversed, frequency[final_amount_numbers_arr[0][0]], frequency[final_amount_numbers_arr[1][0]] - 1),\n [final_amount_numbers_groups_arr[2][0]]: getAmountsSum(amountsReversed, frequency[final_amount_numbers_arr[1][0]], frequency[final_amount_numbers_arr[2][0]] - 1),\n [final_amount_numbers_groups_arr[3][0]]: getAmountsSum(amountsReversed, frequency[final_amount_numbers_arr[2][0]], frequency[final_amount_numbers_arr[3][0]] - 1),\n [final_amount_numbers_groups_arr[4][0]]: getAmountsSum(amountsReversed, frequency[final_amount_numbers_arr[3][0]], frequency[final_amount_numbers_arr[4][0]] - 1),\n [final_amount_numbers_groups_arr[5][0]]: getAmountsSum(amountsReversed, frequency[final_amount_numbers_arr[4][0]], frequency[final_amount_numbers_arr[5][0]] - 1),\n [final_amount_numbers_groups_arr[6][0]]: getAmountsSum(amountsReversed, frequency[final_amount_numbers_arr[5][0]], frequency[final_amount_numbers_arr[6][0]] - 1),\n [final_amount_numbers_groups_arr[7][0]]: getAmountsSum(amountsReversed, frequency[final_amount_numbers_arr[6][0]], frequency[final_amount_numbers_arr[7][0]] - 1),\n [final_amount_numbers_groups_arr[8][0]]: getAmountsSum(amountsReversed, frequency[final_amount_numbers_arr[7][0]], frequency[final_amount_numbers_arr[8][0]] - 1),\n [final_amount_numbers_groups_arr[9][0]]: getAmountsSum(amountsReversed, frequency[final_amount_numbers_arr[8][0]], frequency[final_amount_numbers_arr[9][0]] - 1),\n [final_amount_numbers_groups_arr[10][0]]: getAmountsSum(amountsReversed, frequency[final_amount_numbers_arr[9][0]], frequency[final_amount_numbers_arr[10][0]] - 1),\n [final_amount_numbers_groups_arr[11][0]]: getAmountsSum(amountsReversed, frequency[final_amount_numbers_arr[10][0]], frequency[final_amount_numbers_arr[11][0]] - 1),\n [final_amount_numbers_groups_arr[12][0]]: getAmountsSum(amountsReversed, frequency[final_amount_numbers_arr[11][0]], frequency[final_amount_numbers_arr[12][0]] - 1),\n [final_amount_numbers_groups_arr[13][0]]: getAmountsSum(amountsReversed, frequency[final_amount_numbers_arr[12][0]], frequency[final_amount_numbers_arr[13][0]] - 1),\n });\n\n setAmountsGroupCleaned({\n [final_amount_numbers_groups_arr[0][0]]: getAmountsSum(amountsReversedCleaned, 0, frequency[final_amount_numbers_arr[0][0]] - 1),\n [final_amount_numbers_groups_arr[1][0]]: getAmountsSum(amountsReversedCleaned, frequency[final_amount_numbers_arr[0][0]], frequency[final_amount_numbers_arr[1][0]] - 1),\n [final_amount_numbers_groups_arr[2][0]]: getAmountsSum(amountsReversedCleaned, frequency[final_amount_numbers_arr[1][0]], frequency[final_amount_numbers_arr[2][0]] - 1),\n [final_amount_numbers_groups_arr[3][0]]: getAmountsSum(amountsReversedCleaned, frequency[final_amount_numbers_arr[2][0]], frequency[final_amount_numbers_arr[3][0]] - 1),\n [final_amount_numbers_groups_arr[4][0]]: getAmountsSum(amountsReversedCleaned, frequency[final_amount_numbers_arr[3][0]], frequency[final_amount_numbers_arr[4][0]] - 1),\n [final_amount_numbers_groups_arr[5][0]]: getAmountsSum(amountsReversedCleaned, frequency[final_amount_numbers_arr[4][0]], frequency[final_amount_numbers_arr[5][0]] - 1),\n [final_amount_numbers_groups_arr[6][0]]: getAmountsSum(amountsReversedCleaned, frequency[final_amount_numbers_arr[5][0]], frequency[final_amount_numbers_arr[6][0]] - 1),\n [final_amount_numbers_groups_arr[7][0]]: getAmountsSum(amountsReversedCleaned, frequency[final_amount_numbers_arr[6][0]], frequency[final_amount_numbers_arr[7][0]] - 1),\n [final_amount_numbers_groups_arr[8][0]]: getAmountsSum(amountsReversedCleaned, frequency[final_amount_numbers_arr[7][0]], frequency[final_amount_numbers_arr[8][0]] - 1),\n [final_amount_numbers_groups_arr[9][0]]: getAmountsSum(amountsReversedCleaned, frequency[final_amount_numbers_arr[8][0]], frequency[final_amount_numbers_arr[9][0]] - 1),\n [final_amount_numbers_groups_arr[10][0]]: getAmountsSum(amountsReversedCleaned, frequency[final_amount_numbers_arr[9][0]], frequency[final_amount_numbers_arr[10][0]] - 1),\n [final_amount_numbers_groups_arr[11][0]]: getAmountsSum(amountsReversedCleaned, frequency[final_amount_numbers_arr[10][0]], frequency[final_amount_numbers_arr[11][0]] - 1),\n [final_amount_numbers_groups_arr[12][0]]: getAmountsSum(amountsReversedCleaned, frequency[final_amount_numbers_arr[11][0]], frequency[final_amount_numbers_arr[12][0]] - 1),\n [final_amount_numbers_groups_arr[13][0]]: getAmountsSum(amountsReversedCleaned, frequency[final_amount_numbers_arr[12][0]], frequency[final_amount_numbers_arr[13][0]] - 1),\n });\n\n setAmountsTotal(getAmountsSum(amountsReversed, 0, frequency[final_amount_numbers_arr[13][0]] - 1));\n\n setAmountsTotalCleaned(getAmountsSum(amountsReversedCleaned, 0, frequency[final_amount_numbers_arr[13][0]] - 1));\n\n }, [amountsReversedCleaned])\n\n\n\n\n if (error) {\n return
Error: {error.message}
;\n } else if (!isLoaded) {\n return \n





\n \n

Loading {coin} data from blockchain ...

\n
\n } else {\n return (\n \n \n

\n Total {coin} Holders: {total}\n

\n {(coin.length > 1) ?\n

\n Live {coin} price based on {coin_data.pool_name} pool:
{price} USD\n

: null }\n\n {(coin.length > 1) ?\n

The price is updated in the background every 10 seconds (no need to refresh the site)

\n : null }\n\n \n\n {(coin == \"SAMO\") &&\n \n }\n\n {((coin == \"SAMO\") || (coin == \"WOOF\") || (coin == \"ORCA\") || (coin == \"MNGO\") || (coin == \"ATLAS\")) &&\n \n }\n\n \n\n\n {((coin.length > 1) && (tabValue == 2)) ?
Exclude top 3 wallets
Those top 3 wallets may include burn wallets & to-be-burned wallets & locked tokens.
However, there is no guarantee or warranty for that statement!
Keep in mind that wallets outside the top three may or may not fall in such categories as well.
Always do your own research!
: null}\n\n \n\n \n \n \n \n \n {/*(coin == \"SAMO\") ? null : */}\n \n \n \n\n \n \n {/*\n \n \n {((coin.length > 1) && (tabValue != 2)) ? : null}\n \n Cumulative\n \n \n */} \n\n \n Amount of {coin} held\n\n {((coin.length > 1) && (tabValue != 2)) ? Live Value in USD : null}\n {((coin.length > 1) && (tabValue == 2)) ? Total % of coins owned by group : null}\n\n {((coin.length > 1) && (tabValue != 2)) ?\n \n # Holders {(tabValue == 0) ? \"[Cumulative]\" : \"[Group]\"}
\n
\n : null }\n {/* ADDED FOR UPDATE START */}\n {((coin == \"SAMOO\") && (tabValue != 2)) ?\n \n 24h\n \n : null }\n {/* ADDED FOR UPDATE END */}\n\n
\n
\n \n {Object.entries((tabValue == 0) ? frequency : frequencyGroup).map(([key, value]) => (\n \n \n {key}\n \n {((coin.length > 1) && (tabValue != 2)) ? {parseFloat((((tabValue == 0) ? final_amount_numbers : final_amount_numbers_groups)[key]*price).toFixed(0)).toLocaleString('en-US')}+ : null }\n {((coin.length > 1) && (tabValue == 2)) ? : null}\n\n {((coin == \"SAMO\") && (tabValue != 2)) ? \n {/*(tabValue == 0) ? \n : \n */ value}\n : \n null}\n {/* ADDED FOR UPDATE START */}\n {((coin == \"SAMOO\") && (tabValue != 2)) ? \n {(tabValue == 0) ? \n : \n /*conditional E*/}\n : \n null}\n {/* ADDED FOR UPDATE END */}\n\n {((coin != \"SAMO\") && (tabValue != 2)) ? \n {value} : \n null}\n\n \n ))}\n \n
\n
\n\n {!(tabValue == 1) ?

When you are in group view, keep in mind that the second amount listed is not included. For example 2M-5M includes 2M but not 5M. Holders with exactly 5M of holdings belong to the group 5M-10M.

: null}\n\n

Keep in mind that if you look at a row of holders that hold more than a specific amount of tokens (for example 2M+), then the number of holders includes everyone with at least that amount (so in our example the ones with 5M+ and 10M+ are included).

\n

This site is not investment advice! Even though we try our best, we do not guarantee correctness of the data provided! Always do your own research before making an investment decision!

\n {(coin == \"SAMO\") &&

To compare market caps, we use data from the coingecko.com API service.

}\n\n
\n );\n }\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}