{"version":3,"sources":["constants/env.ts","api/index.ts","assets/images/bg-box-search.svg","assets/images/bg-box-search-dark.svg","assets/images/bg-geometry.svg","assets/images/bg-geometry-dark.svg","constants/themeConfig.ts","providers/general.tsx","appStyles.ts","assets/images/tomoscan-logo-dark.svg","assets/images/tomoscan-logo-light.svg","common/Header/headerStyles.ts","common/Header/Header.tsx","constants/index.ts","assets/images/metamask.svg","common/Footer/footerStyles.ts","common/Footer/Footer.tsx","assets/images/ic-discord.png","assets/images/ic-twitter.png","assets/images/ic-telegram.png","assets/images/ic-github.png","assets/images/ic-list-block.svg","assets/images/ic-list-transactions.svg","features/general/homePageStyles.ts","app/hooks.ts","utils/index.ts","common/Tags.tsx","common/TypographyStyled.tsx","assets/images/status/verifiedandproject.svg","assets/images/status/verified.svg","assets/images/status/warning.svg","assets/images/status/verifiedLine.svg","common/CheckStatus.tsx","common/PageHeader.tsx","common/SearchBox/searchBoxStyled.ts","assets/images/token-tomo.png","common/TokenIcon.tsx","common/OneIdIcon.tsx","common/SearchBox/SearchBox.tsx","common/SkeletonLoading.tsx","common/DataTable/dataTableStyles.ts","common/DataTable/DataTableLoading.tsx","common/DataTable/DataTablePagination.tsx","common/DataTable/DataTable.tsx","common/DataTable/DataTableTotal.tsx","common/AddressLink.tsx","common/ScrollToTop.tsx","common/TabsWithHash.tsx","assets/images/coin98.svg","assets/images/viction-wallet-logo.svg","assets/images/ramper-wallet-logo.svg","common/ModalWallet.tsx","common/ExportData.jsx","common/DatePicker.js","assets/images/ic-RightFilled.svg","common/ContractIconTooltip.tsx","common/DataTable/columnConfig.tsx","features/general/generalSlice.ts","features/blocks/blocksSlice.ts","features/transactions/transactionsSlice.ts","features/general/HomePage.tsx","features/transactions/TransactionListPage.tsx","assets/images/icon/icon-copy.svg","features/transactions/transactionDetailsPageStyles.ts","features/transactions/TransactionDetailsLogs.tsx","features/transactions/TransactionDetailsPage.tsx","features/blocks/blockListPageStyles.ts","features/blocks/BlockListPage.tsx","features/blocks/blockDetailsPageStyles.ts","features/blocks/BlockTransactionList.tsx","features/blocks/BlockDetailsPage.tsx","features/epochs/epochsSlice.ts","features/epochs/EpochListPage.tsx","features/epochs/epochDetailsPageStyles.ts","features/epochs/EpochDetailsReward.tsx","features/epochs/EpochDetailsSlashedNode.tsx","features/epochs/EpochDetailsPage.tsx","features/accounts/accountsSlice.ts","features/accounts/AccountListPage.tsx","assets/images/icon/icon-qrcode.svg","features/accounts/accountDetailsPageStyles.ts","features/contracts/contractDetailsPageStyles.ts","features/contracts/contractsSlice.ts","features/contracts/ContractDetailsTxListTab.tsx","features/contracts/ContractEventLog.tsx","features/contracts/ContentOfTheContractTab.tsx","features/accounts/TotalTokenBalance.tsx","features/accounts/ListTokenBalance.tsx","features/accounts/InternalTxns.tsx","features/accounts/VrcTokenTxns.tsx","features/accounts/UserRewards.tsx","features/contracts/ContractDetailsPage.tsx","features/accounts/AccountDetailsPage.tsx","features/masternodes/masternodesSlice.ts","features/masternodes/MasternodeListPage.tsx","features/contracts/ContractListPage.tsx","features/tokens/tokensSlice.ts","features/tokens/TokenListPage.tsx","features/tokens/tokenDetailsPageStyles.ts","features/tokens/TokenDetailsHolderList.tsx","features/tokens/Vrc2021TransferList.tsx","features/tokens/Vrc721TransferList.tsx","features/tokens/Vrc721InventoryList.tsx","features/tokens/ContractInfomation.tsx","features/tokens/Vrc2021Overview.tsx","features/tokens/Vrc2021MoreInfo.tsx","features/tokens/Vrc721Overview.tsx","features/tokens/Vrc721MoreInfo.tsx","features/tokens/TokenDetailsPage.tsx","features/tokens/TokenListVrc721Page.tsx","assets/images/404.svg","features/general/notFoundPageStyles.ts","features/general/NotFoundPage.tsx","features/contracts/ContractVerify.tsx","features/general/requestLimitStyles.ts","features/general/RequestLimit.tsx","assets/images/visual.svg","features/general/countDownPageStyleds.ts","features/general/CountDownPage.tsx","App.tsx","app/store.ts","serviceWorker.ts","index.tsx"],"names":["TOMOSCAN_API_V2_URL","RPC_ENDPOINT","CHAINID","env","window","process","REACT_APP_TOMOSCAN_API_V2_URL","REACT_APP_RPC_ENDPOINT","Number","REACT_APP_CHAINID","fetchTxDetailsByHash","hash","a","axios","get","fetchTxList","offset","limit","fetchTxInternal","fetchBlockDetailsByNumberOrHash","blockNumberOrHash","fetchTxListByBlock","blockNumber","fetchBlockList","author","fetchStats","fetchEpochList","fetchEpochDetailsByNumber","epochNumber","fetchEpochDetailsReward","rewardType","fetchNormalTokenList","fetchVrc721TokenList","fetchVrc2021HolderList","address","fetchVrc721HolderList","fetchVrc2021TransferList","account","query","fetchVrc721TransferList","tokenAddress","ownerAddress","tokenId","fetchTokenDetailsByAddress","fetchMasternodeList","fetchAccountList","fetchAccountDetails","fetchTokensInAccount","fetchInternalTx","fetchUserRewards","fetchTokenTransactions","fetchVrcTokenTransactions","fetchContractList","fetchTxListByAdddress","fetchContractEventLogs","fetchCompilerVersion","fetchContractVerify","params","post","fetchTomoTokenList","searchOneId","text","fetchVrc721InventoryList","fetchTokenBalanceOnAccount","owner","Colors","mode","textOverlay","bg","bg1","bg2","bg3","bg4","bgHover","trHover","bgImageSearch","bgBoxSearchDark","bgBoxSearch","bgImageFooter","bgGeometryFooterDark","bgGeometryFooter","qrc","bgWhite","border","border1","primary","primaryHover","textLink","primaryText","default","bgdefault","transfer","swap","apporve","in","bgin","out","bgout","up","down","fail","bgfail","success","bgsuccess","pending","bgpending","warning","redAlert","bgBtn","textBtn","bdBtn","bgBtnActive","bdBtnActive","textBtnActive","bgBtnDisable","textBtnDisable","GeneralContext","createContext","tomoTokenList","requestLimit","useGeneralContext","general","useContext","GeneralProvider","children","useSelector","state","theme","useMemo","useState","setTomoTokenList","getTomoTokenList","useCallback","response","data","console","log","useEffect","Provider","value","Layout","styled","div","attrs","props","className","TabStyle","Wrapper","header","ContentOnPC","NavBar","MenuStyled","Menu","ContentOnSP","MenuMobile","SubMenu","menu","triggerSubMenuAction","Item","to","title","Header","current","setCurrent","src","LogoTomoscanLight","LogoTomoscan","alt","onClick","e","key","selectedKeys","subMenuOpenDelay","style","display","alignItems","CaretDownOutlined","marginLeft","marginBottom","gutter","justify","overlay","preventDefault","MenuOutlined","WalletAdapter","footer","Content","ListMenuFooter","EndFooter","ButtonStyled","Button","TextMain","span","MAX_RECORD","supportedWalletOption","chainId","toString","chainName","nativeCurrency","name","symbol","decimals","rpcUrls","tagWarningAddress","link","tag","nonFungibleTokenStandard","fungibleTokenStandard","Text","Typography","Footer","ethEnabled","ethereum","web3","Web3","request","method","networkId","alert","error","type","target","pathname","width","MetamaskLog","column","href","Date","getFullYear","ContentHomePage","InnerBox","ContentMainTop","ContentMainTable","SearchBoxWrapper","TitleSearch","MainDetailToken","TitleBoxStart","TitleHeaderBox","InfoDetails","CardBoxTable","CardTableContent","useAppDispatch","useDispatch","useAppSelector","useStateDetails","getDetails","param","currState","dispatch","details","useQuery","URLSearchParams","useLocation","search","getContract","ABI","contractAddress","providers","HttpProvider","eth","Contract","toTomo","amount","BigNumber","toNumber","formatNumber","number","precision","formated","toFormat","match","replace","timeFormatUtc","timestamp","pattern","dateLocal","format","addMinutes","getTimezoneOffset","timeFormatDistance","time","formatDistance","addSuffix","truncateBetween","num","newText","length","firtPart","slice","lastPart","TagStyled","Tag","TagStatusStyled","variant","TagUpDownStyled","Title","TextStyled","transform","color","TitleStyled","SubTitleStyled","TokenVerifiedIcon","PageTitle","CheckStatus","tokenStatus","contractVerified","isOnlyIcon","isContractVerified","projectVerified","isProjectVerified","isFull","isNothing","checkText","checkImg","isPer","isContract","isProject","icNothing","whiteSpace","fontSize","PageHeader","flexDirection","md","SearchBox","level","PageHeaderTokenDetail","token","size","toUpperCase","placement","AddressName","toLowerCase","fontWeight","marginTop","textTransform","marginRight","TokenTypeTag","TagVRC20","TagVRC21","TagVRC721","TagVRC25","TagNative","TagWarningAddress","FormStyled","Form","FormItemStyled","InputGroupStyled","Input","Group","InputStyled","ButtonSearch","ListWrapper","ListStyled","List","ListHeader","ListItemStyled","TokenHeader","TokenTitle","TokenExtension","OneIdHeader","OneIdTitle","OneIdExtension","LogoStyle","TokenIcon","setError","CopyrightOutlined","tomoLogo","height","onError","OneIdIcon","TabPane","Tabs","buildTokenSuggestions","searchString","tokenList","tokenSuggestions","filter","includes","sort","b","buildOneIdSuggestions","result","SuggestionList","onSelect","tab","tokens","oneIds","itemLayout","bordered","dataSource","renderItem","item","wordBreak","oneId","CheckCircleFilled","history","useHistory","suggestions","setSuggestions","setSearch","trim","resetState","oneIdSuggestions","startsWith","handleOnSearch","push","placeholder","onChange","onPressEnter","allowClear","icon","SearchOutlined","margin","SkeletonLoading","active","paragraph","rows","PaginationWrapper","ContentTable","TextSmall","TextLink","DataTableLoading","DataTablePagination","changePage","pagination","pages","disabled","currPage","StepBackwardOutlined","LeftOutlined","RightOutlined","StepForwardOutlined","Option","Select","DataTable","columns","total","loading","getData","showPagination","numPerPage","setPagination","utc","setUtc","maxRecord","Math","ceil","dir","map","index","rank","parsedColumns","Array","isArray","col","dataIndex","ClockCircleOutlined","render","formatUtc","onHeaderCell","scroll","x","defaultValue","DataTableTotal","MAX_RECORD_ABBR","getLinkContent","truncate","AddressLink","tooltip","maxWidth","withRouter","unlisten","listen","scrollTo","TabsWithHash","tabsComp","TabsComp","activeTab","tabKeys","rest","activeKey","setActiveKey","handleOnTabClick","onTabClick","ModalWallet","isConnected","setAccount","setIsConnected","isModalVisible","setIsModalVisible","connectCoin98","coin98","provider","getAccounts","getAccount","send","connectMetamask","connectViction","viction","res","connectRamper","ramper2","selectWalletAdapter","walletType","parseInt","currentTarget","getAttribute","COIN98","VICTION","RAMPER","METAMASK","ButtonConnect","ModalStyled","visible","onCancel","Coin98Logo","VictionLogo","RamperLogo","Modal","ExportStyled","ExportData","date","y","m","getMonth","firstDay","UTC","lastDay","getFirstAndLastDay","from","getTime","range","setRange","setTokenAddress","handleCancel","DownloadOutlined","rel","layout","label","getUnixTime","DatePicker","generatePicker","dateFnsGenerateConfig","ContractIconTooltip","IconColor","FileTextOutlined","Paragraph","AddressWrapper","MethodTag","txColumns","record","status","InfoCircleOutlined","padding","textAlign","ellipsis","block","fromContract","fromName","align","icRightFilled","toContract","toName","fee","blockColumns","transactions","m1Name","m1","gasUsed","totalFee","epochColumns","epoch","startBlock","endBlock","duration","masternode","voterNumber","slashednode","epochRewardColumns","validator","reward","tokenColumns","justifyContent","price","changePercentage","abs","volume","marketcap","holder","token721Columns","transferCount","totalSupplyNumber","tokenHolderColumns","position","left","top","paddingLeft","accountName","quantity","valueUsd","percentage","token721InventoryColumns","id","tokenIdString","tokenTransferColumns","location","tokenTransferVrc721Columns","masternodeColumns","capacity","slashedColumns","accountColumns","balanceNumber","txCount","columnsBalance","tokenName","tokenSymbol","tokenType","columnsTransactions","columnsTxns","arrowIcon","ArrowRightOutlined","columnsRewards","ep","accountVrcTokenTxnsColumns","thisAccount","strong","italic","contractColumns","balance","compiler","getStats","createAsyncThunk","thunkAPI","rejectWithValue","generalSlice","createSlice","initialState","stats","reducers","changeMode","action","payload","resetStats","extraReducers","builder","addCase","fulfilled","marketCap","multipliedBy","circulatingSupply","rejected","actions","persistConfig","storage","whitelist","persistReducer","reducer","getBlockDetailsByNumberOrHash","getTxListByBlock","getBlockList","blocksSlice","list","resetBlockList","getTxDetailsByHash","getTxList","getInternalTx","transactionsSlice","internalTx","resetTxList","reduce","acc","curr","HomePage","blocks","txs","undefined","timerInterval","setInterval","clearInterval","xs","tps","accounts","lg","icListBlock","tx","icListTransactions","TransactionList","MainDetailsTransfer","TxtColStyle","ValueRow","BoxItemLog","DataType","ButtonType","button","TextInfoTable","Status","TextOverlay","LoadMoreBtn","StyleCopyIcon","TimeStyle","TopicRender","topicType","setTopicType","onClickType","decodedTopics","t","i","topics","topic","topicIdx","DataRender","newParam","forEach","p","indexed","decodedData","TransactionDetailLogs","setOffset","logs","setLogs","logIdx","getParams","logArr","functionName","TransactionDetailsTransfer","isCopied","setCopied","useParams","getInternalTxData","valueInUsd","times","TOMOPrice","toAddress","feePayer","isGasSponsored","onCopy","onMouseEnter","iconCopy","CloseCircleFilled","failReason","BlockOutlined","latestBlock","flexWrap","internal","gap","SwapRightOutlined","inPoolToken","tokenDecimals","outPoolToken","lpName","lp","mint_add_liquidity","token0Amount","token0Decimals","token0Symbol","token0Address","token1Amount","token1Decimals","token1Symbol","token1Address","burn_remove_liquidity","longTokenId","tokenIdText","CaretRightOutlined","String","TokenTomo","gasPrice","gas","nonce","transactionIndex","TxDetailsInputData","isDecode","setIsDecode","encodedInput","decodedInput","Object","keys","inputDataSource","inputData","join","methodId","inputDataColumns","maxHeight","overflowY","input","toLocaleString","PositionStyled","ButtonSubmit","BlockListPage","getAuthor","setAuthor","onFinish","values","autoComplete","MainDetails","BoxTableBefore","BoxTableAfter","BlockDetailsOverview","internalTxCount","parentHash","stateRoot","m2","m2Name","gasLimit","finality","totalDifficulty","extraData","getEpochList","getEpochDetailsByNumber","getEpochDetailsReward","initialListState","voter","foundation","epochsSlice","resetEpochList","meta","arg","EpochsList","BoxContentPlaceHolder","InnerPlaceHolder","BoxContentTable","EpochDetailsReward","epochs","newData","v","age","EpochDetailsSlashedNode","EpochDetailsPage","startTime","endTime","totalReward","getAccountList","stastsResponse","getAccountDetails","getTokensInAccount","getTokensInAccountForDropdown","getTokenInternalTx","getUserRewards","getTokenTransactions","getVrcTokenTransactions","accountsSlice","tokensInAccount","usdValue","tokensInAccountForDropdown","userReward","vrcTokenTxns","resetAccountList","resetAccountDetail","tomoInUsd","tomoPrice","transactionTag","TokenList","TotalPrice","TokenCount","ListButton","TokenLink","Link","ViewMore","TextStyle","TextMainStyle","AddressBox","Center","TextArea","NoteInfo","ContractSource","pre","SwitchButton","Cards","CardHeader","CardContent","FormGroup","FormItem","TextAreaStyled","SelectStyled","ButtonQuery","LinkStyled","Box","FieldExtend","AddSource","StatusStyled","getContractList","getContractDetailsByAddress","msg","getTxListByAddress","getEventLogs","contractsSlice","eventLogs","resetContractList","balanceInUsd","ContractDetailsTxListTab","contracts","ContractEventLogs","FormReadRender","contract","dataResult","setDataResult","isLoading","setIsLoading","onReadFinish","formatData","convertParams","endsWith","JSON","parse","methods","call","outputs","output","outputRs","stringify","message","inputs","htmlType","d","k","fontStyle","ReadDataOutput","setData","fetchData","s","j","indexOf","val","FormWriteRender","abiCode","onWriteFinish","payableValue","sendData","estimateGas","estGas","transactionHash","stateMutability","SolidityRender","copied","CodeFilled","content","ContentOfTheContractTab","isByteCode","setIsByteCode","sourceCode","contractData","entries","readData","writeData","readProxyData","writeProxyData","abiContract","abi","constant","abiProxyContract","proxyTargetContractData","contractProxyData","tokenData","contractName","optimization","OrderedListOutlined","code","CodeTwoTone","deployedBytecode","object","opcodes","HeatMapOutlined","sourceMap","proxyTargetContract","proxyType","borderRadius","borderColor","background","TotalTokenBalance","getTokensData","newTokensInAccount","quantityNumber","priceUsd","totalBalance","ListTokenBalance","showMore","isOpen","setIsOpen","node","useRef","handler","handlerRef","handleClickOutside","contains","document","addEventListener","removeEventListener","useOnClickOutside","ref","paddingTop","paddingBottom","InteralTxns","VrcTokenTxns","UserRewards","getRewardData","ContractDetailsPage","iconQrcode","QuestionCircleOutlined","createdBy","createdAtHash","ContractEventLog","TomoToolTip","AccountDetailsPage","getTransactionData","isToken","getMasternodeList","masternodesSlice","resetMasternodeList","candidates","getNormalTokenList","getVrc721TokenList","getVrc2021HolderList","getVrc721HolderList","getVrc721InventoryList","getVrc2021TransferList","getVrc721TransferList","getTokenDetailsByAddress","getTokenBalanceOnAccount","vrc2021","vrc721","holders","transfers","inventory","tokenBalanceOnAccount","isNft","tokensSlice","resetVrc2021List","resetVrc721List","fullyDilutedMarketcap","TokenListPage","OwnerHeader","OwnerTitle","OwnerBalanceBox","TokenDetailsHolderList","totalSupply","TokenDetailsTransferList","InventoryList","ContractInfomation","Vrc2021Overview","circulatingSupplyNumber","Vrc2021MoreInfo","bgColor","website","Vrc721Overview","Vrc721MoreInfo","TokenDetailsPage","dividedBy","TokenListVrc721Page","Container","Warning","SearchWrapper","NotFoundPage","errorImg","searchType","ContractVerify","compilerVersion","setCompilerVersion","setLoading","mgs","setMgs","useForm","form","fetCompiler","formMgs","errors","rules","required","initialValue","hasFeedback","fields","add","remove","fieldKey","restField","MinusCircleOutlined","PlusOutlined","CenterStyle","TitleStyle","ParagraphStyle","RequestLimit","borderTopColor","BoxInfo","BlockBox","CountDownPage","remainBlock","isGreaterThan","minus","visualImg","now","renderer","days","hours","minutes","seconds","completed","AppLayoutRoute","Component","component","App","exact","path","BlockDetailsPage","EpochListPage","AccountListPage","MasternodeListPage","ContractListPage","createBrowserHistory","combineReducers","router","connectRouter","generalReducer","transactionsReducer","blocksReducer","epochsReducer","tokensReducer","masternodes","masternodesReducer","accountsReducer","contractsReducer","persistedReducer","store","configureStore","middleware","getDefaultMiddleware","serializableCheck","ignoredActions","PERSIST","concat","routerMiddleware","persistor","persistStore","Boolean","hostname","ReactDOM","StrictMode","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch"],"mappings":"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","file":"static/js/main.3b02354e.chunk.js","sourcesContent":["let TOMOSCAN_API_V2_URL: string;\nlet RPC_ENDPOINT: string;\nlet CHAINID : number;\n\n// @ts-ignore\nconst env = window.env || process.env\n\nif (env) {\n TOMOSCAN_API_V2_URL = env.REACT_APP_TOMOSCAN_API_V2_URL;\n RPC_ENDPOINT = env.REACT_APP_RPC_ENDPOINT ?? 'https://rpc.viction.xyz';\n CHAINID = Number(env.REACT_APP_CHAINID) ?? 88\n}\n\nexport {\n TOMOSCAN_API_V2_URL,\n RPC_ENDPOINT,\n CHAINID\n}","import axios, { AxiosResponse } from 'axios'\n\nimport { TOMOSCAN_API_V2_URL } from '../constants/env'\n\nexport async function fetchTxDetailsByHash(hash: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/${hash}`)\n}\n\nexport async function fetchTxList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/list?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchTxInternal(hash: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/internal?txhash=${hash}&offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchBlockDetailsByNumberOrHash(blockNumberOrHash: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/block/${blockNumberOrHash}`)\n}\n\nexport async function fetchTxListByBlock(blockNumber: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/listByBlock/${blockNumber}?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchBlockList(author: string | undefined, offset = 0, limit = 20): Promise {\n if (author) {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/block/list?author=${author}&offset=${offset}&limit=${limit}`)\n }\n return await axios.get(`${TOMOSCAN_API_V2_URL}/block/list?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchStats(): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/stats`)\n}\n\nexport async function fetchEpochList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/epoch/list?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchEpochDetailsByNumber(epochNumber: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/epoch/${epochNumber}`)\n}\n\nexport async function fetchEpochDetailsReward(epochNumber: string, rewardType: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/epoch/${epochNumber}/reward?rewardType=${rewardType}&offset=${offset}&limit=${limit}`)\n}\n\n// vrc20/21 list\nexport async function fetchNormalTokenList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/token/list?offset=${offset}&limit=${limit}`)\n}\n\n// vrc721 list\nexport async function fetchVrc721TokenList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/token/nft/list?offset=${offset}&limit=${limit}`)\n}\n\n// vrc20/21 holder list\nexport async function fetchVrc2021HolderList(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/tokenholder/${address}?offset=${offset}&limit=${limit}`)\n}\n\n// vrc721 holder list\nexport async function fetchVrc721HolderList(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/tokenholder/nft/${address}?offset=${offset}&limit=${limit}`)\n}\n\n// vrc20/21 transfer list\nexport async function fetchVrc2021TransferList(address: string, account: string | undefined, offset = 0, limit = 20): Promise {\n let query = `tokenAddress=${address}&offset=${offset}&limit=${limit}`\n if (account) {\n query = `tokenAddress=${address}&account=${account}&offset=${offset}&limit=${limit}`\n }\n return await axios.get(`${TOMOSCAN_API_V2_URL}/tokentx/list?${query}`)\n}\n\n// vrc721 transfer list\nexport async function fetchVrc721TransferList(tokenAddress: string, ownerAddress: string | undefined, tokenId: string | undefined, offset = 0, limit = 20): Promise {\n let query = `tokenAddress=${tokenAddress}&offset=${offset}&limit=${limit}`\n\n if (ownerAddress && !tokenId) {\n query = `tokenAddress=${tokenAddress}&account=${ownerAddress}&offset=${offset}&limit=${limit}`\n }\n\n if (!ownerAddress && tokenId) {\n query = `tokenAddress=${tokenAddress}&tokenId=${tokenId}&offset=${offset}&limit=${limit}`\n }\n\n if (ownerAddress && tokenId) {\n query = `tokenAddress=${tokenAddress}&account=${ownerAddress}&tokenId=${tokenId}&offset=${offset}&limit=${limit}`\n }\n\n return await axios.get(`${TOMOSCAN_API_V2_URL}/tokentx/nft/list?${query}`)\n}\n\nexport async function fetchTokenDetailsByAddress(address: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/token/${address}`)\n}\n\nexport async function fetchMasternodeList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/masternodes?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchAccountList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/account/list?offset=${offset}&limit=${limit}`)\n}\n// Account Detail\nexport async function fetchAccountDetails(address: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/account/${address}`)\n}\n\nexport async function fetchTokensInAccount(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/account/${address}/tokenBalance?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchInternalTx(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/internal?account=${address}&offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchUserRewards(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/account/${address}/reward?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchTokenTransactions(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/list?account=${address}&offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchVrcTokenTransactions(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/tokentx/list?account=${address}&offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchContractList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/contract/verified/list?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchTxListByAdddress(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/list?account=${address}&offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchContractEventLogs(address: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/eventlog?address=${address}`)\n}\n\nexport async function fetchCompilerVersion(): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/contract/solc/versions`)\n}\n\nexport async function fetchContractVerify(params: any): Promise {\n return await axios.post(`${TOMOSCAN_API_V2_URL}/contract/verify`, params)\n}\n\nexport async function fetchTomoTokenList(): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/token/all`)\n}\n\nexport async function searchOneId(text: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/oneid/search?text=${text}`)\n}\n\n\nexport async function fetchVrc721InventoryList(tokenAddress: string, ownerAddress: string, tokenId: string, offset = 0, limit = 20): Promise {\n let query = `tokenAddress=${tokenAddress}&offset=${offset}&limit=${limit}`\n\n if (ownerAddress && !tokenId) {\n query = `tokenAddress=${tokenAddress}&account=${ownerAddress}&offset=${offset}&limit=${limit}`\n }\n\n if (!ownerAddress && tokenId) {\n query = `tokenAddress=${tokenAddress}&tokenId=${tokenId}&offset=${offset}&limit=${limit}`\n }\n\n if (ownerAddress && tokenId) {\n query = `tokenAddress=${tokenAddress}&account=${ownerAddress}&tokenId=${tokenId}&offset=${offset}&limit=${limit}`\n }\n\n return await axios.get(`${TOMOSCAN_API_V2_URL}/nft/inventory?${query}`)\n}\n\nexport async function fetchTokenBalanceOnAccount(owner: string,address: string ): Promise {\n \n return await axios.get(`${TOMOSCAN_API_V2_URL}/account/${owner}/tokenBalanceOf?tokenAddress=${address}`)\n}\n\n","export default __webpack_public_path__ + \"static/media/bg-box-search.9e09a8cb.svg\";","export default __webpack_public_path__ + \"static/media/bg-box-search-dark.e821828b.svg\";","export default __webpack_public_path__ + \"static/media/bg-geometry.56ce656d.svg\";","export default __webpack_public_path__ + \"static/media/bg-geometry-dark.a3b1ebd2.svg\";","\n\nimport bgBoxSearch from '../assets/images/bg-box-search.svg';\nimport bgBoxSearchDark from '../assets/images/bg-box-search-dark.svg';\nimport bgGeometryFooter from '../assets/images/bg-geometry.svg';\nimport bgGeometryFooterDark from '../assets/images/bg-geometry-dark.svg';\n\nconst Colors = (mode: string) => {\n return {\n\n // text\n text: mode === 'dark' ? '#F6F6F6' : '#141414',\n textOverlay: mode === 'dark' ? '#C3C3C3' : '#8B8B8B',\n // backgrounds / greys\n bg: mode === 'dark' ? '#1A1A1A' : '#E0DED8',\n bg1: mode === 'dark' ? '#353535' : '#EBE9E5',\n bg2: mode === 'dark' ? '#282828' : '#fff',\n bg3: mode === 'dark' ? '#1A1A1A' : '#606060',\n bg4: mode === 'dark' ? '#353535' : '#F6F6F6',\n bgHover: mode === 'dark' ? '#282828' : '#e0e0e0',\n trHover: mode === 'dark' ? '#353535' : '#F6F6F6',\n bgImageSearch: mode === 'dark' ? `${bgBoxSearchDark}` : `${bgBoxSearch}`,\n bgImageFooter: mode === 'dark' ? `${bgGeometryFooterDark}` : `${bgGeometryFooter}`,\n qrc: mode === 'dark' ? '#fff' : '#282828',\n\n //bg fixed\n bgWhite: mode === 'dark' ? '#fff' : '#fff',\n\n\n // border color\n border: mode === 'dark' ? '#353535' : '#EBE9E5',\n border1: mode === 'dark' ? '#282828' : '#F6F5F4',\n\n //primary colors\n primary: mode === 'dark' ? '#766B60' : '#766B60',\n primaryHover: mode === 'dark' ? 'rgba(118,107,96,.8)' : 'rgba(118,107,96,.8)',\n // color text link\n textLink: mode === 'dark' ? '#CDA349' : '#CDA349',\n\n // color text\n primaryText: mode === 'dark' ? '#F6F6F6' : '#fff',\n\n\n\n // other\n default: mode === 'dark' ? '#282828' : '#ccc',\n bgdefault: mode === 'dark' ? 'darkgray' : '#ccc',\n\n transfer: mode === 'dark' ? '#3f3f3f' : '#B3F8E9',\n swap: mode === 'dark' ? 'darkorange' : '#2db7f5',\n apporve: mode === 'dark' ? 'darkorange' : '#108ee9',\n\n in: mode === 'dark' ? '#02977e' : '#02977e',\n bgin: mode === 'dark' ? 'rgba(0,201,167,.2)' : 'rgba(0,201,167,.2)',\n\n out: mode === 'dark' ? '#b47d00' : '#b47d00',\n bgout: mode === 'dark' ? 'rgba(219,154,4,.2)' : 'rgba(219,154,4,.2)',\n\n up: '#009E0F',\n down: '#CF2A27',\n\n fail: mode === 'dark' ? '#FD4040' : '#DF1F38',\n bgfail: 'rgba(222,68,55,.1)',\n\n success: '#27AE60',\n bgsuccess: 'rgb(31, 199, 51, 0.16)',\n\n pending: '#b47d00',\n bgpending: 'rgba(219,154,4,.2)',\n warning: '#FF8F00',\n redAlert: '#DC143C',\n\n //Style button\n bgBtn: mode === 'dark' ? '#353535' : '#FFFFFF',\n textBtn: mode === 'dark' ? '#c2c2c2' : '#606060',\n bdBtn: mode === 'dark' ? '#c2c2c2' : '#e8e8e8',\n\n bgBtnActive: mode === 'dark' ? 'rgba(118,107,96,.3)' : 'rgba(118,107,96,.3)',\n bdBtnActive: mode === 'dark' ? '#766B60' : '#766B60',\n textBtnActive: mode === 'dark' ? '#fff' : '#766B60',\n\n bgBtnDisable: mode === 'dark' ? '#353535' : '#F6F6F6',\n textBtnDisable: mode === 'dark' ? '#3d3d3d' : '#F6F6F6',\n }\n}\n\nexport default Colors","import { createContext, useCallback, useContext, useMemo, useEffect, useState } from 'react'\nimport { useSelector } from 'react-redux'\nimport { ThemeProvider } from 'styled-components'\nimport { HelmetProvider } from 'react-helmet-async'\n\nimport { fetchTomoTokenList } from '../api'\nimport { RootState } from '../app/store'\nimport Colors from '../constants/themeConfig'\n\ninterface GeneralProviderProps {\n children: any\n}\n\nconst GeneralContext = createContext({\n mode: 'light',\n tomoTokenList: [],\n requestLimit: false\n})\n\nexport function useGeneralContext() {\n const general = useContext(GeneralContext)\n\n return { ...general }\n}\n\nexport default function GeneralProvider({ children }: GeneralProviderProps) {\n const mode = useSelector((state: RootState) => state.general.mode)\n const requestLimit = useSelector((state: RootState) => state.general.requestLimit)\n const theme = useMemo(() => Colors(mode), [mode])\n const [tomoTokenList, setTomoTokenList] = useState([])\n\n const getTomoTokenList = useCallback(async () => {\n try {\n const response = await fetchTomoTokenList()\n \n setTomoTokenList(response.data.data)\n } catch (error) {\n console.log(error)\n setTomoTokenList([])\n }\n }, [])\n\n useEffect(() => {\n getTomoTokenList()\n }, [])\n\n return (\n \n \n \n {children}\n \n \n \n )\n}","import styled from 'styled-components';\n\nexport const Layout = styled.div.attrs(props => ({\n className: 'd-flex flex-column h-100',\n}))`\n background-color: ${({ theme }) => theme.bg};\n`\nexport const TabStyle = styled.div`\n background-color:${({ theme }) => theme.bg2};\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n .ant-tabs-nav:before{\n // border-bottom: none!important;\n }\n .ant-tabs-nav-list{\n gap: 32px;\n }\n .ant-tabs-tab {\n border: 0!important;\n color: ${({ theme }) => theme.textOverlay}!important;\n padding: 5px 0!important;\n background-color: transparent!important;\n font-weight: 500;\n text-transform: uppercase;\n border-bottom: 1px solid !important;\n border-color: transparent !important;\n\n &.ant-tabs-tab-active{\n border-color: #000 !important;\n *{\n color: #000!important;\n }\n } \n }\n .ant-tabs-content-holder{\n .ant-tabs-nav:before{\n border-bottom: none!important;\n }\n .ant-tabs-nav-list{\n background-color: transparent;\n background: ${({ theme }) => theme.bg};\n padding: 2px;\n gap:0;\n .ant-tabs-tab{\n font-weight: 400;\n // border-bottom: 1px solid ${({ theme }) => theme.border}!important;\n border: 0 !important;\n padding: 5px 24px!important;\n text-transform: none;\n\n &.ant-tabs-tab-active{\n background: ${({ theme }) => theme.primary}!important;\n *{\n color: #fff!important;\n }\n } \n }\n }\n }\n \n .col-txt-left{\n color: ${({ theme }) => theme.textOverlay}\n }\n @media(max-width: 767px){\n padding: 15px;\n .ant-tabs-tab{\n font-size: 14px;\n }\n }\n`","export default __webpack_public_path__ + \"static/media/tomoscan-logo-dark.3eabd0d2.svg\";","export default __webpack_public_path__ + \"static/media/tomoscan-logo-light.e68df508.svg\";","import styled from 'styled-components'\nimport { Menu } from 'antd'\n\nexport const Wrapper = styled.header`\n background-color: ${({ theme }) => theme.bg2};\n .logo-size {\n height: 28px;\n }\n .ant-row {\n align-items: center;\n height:64px;\n flex-flow: nowrap;\n }\n .ml-auto {\n margin-left: auto;\n }\n .ant-menu-horizontal {\n border: 0;\n justify-content: flex-end;\n min-width: 600px;\n @media(max-width: 991px){\n min-width: 550px;\n li.ant-menu-overflow-item {\n padding: 0 15px;\n }\n }\n }\n .sp_md {\n .d-block {\n display: block;\n }\n }\n .btn-theme {\n background: transparent;\n box-shadow: 0 0 0;\n border-radius: 0px;\n border: 0;\n padding: 4px 15px;\n font-weight: bold;\n font-size: 14px;\n margin-left: 15px;\n position: relative;\n width: 100%;\n &:before {\n background: ${({ theme }) => theme.textOverlay};\n content: '';\n display: block;\n position: absolute;\n height: 20px;\n width: 1px;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n @media(max-width: 767px){\n display: none;\n }\n }\n &:after {\n content: '';\n display: none;\n }\n img {\n height: 20px;\n }\n }\n`\n\nexport const ContentOnPC = styled.div`\n max-width: 1232px;\n margin: auto;\n padding-left: 15px;\n padding-right: 15px;\n @media(max-width: 767px){\n height: 0;\n overflow: hidden;\n }\n`\n\nexport const NavBar = styled.div`\n display: flex;\n align-items: center;\n`\n\nexport const MenuStyled = styled(Menu)`\n background: unset;\n .ant-menu-submenu,\n .ant-menu-item,\n .ant-menu-item a {\n font-size: 15px;\n color: ${({ theme }) => theme.text};\n svg {\n width: 12px;\n }\n &:after {\n display: none;\n }\n }\n .ant-menu-item-selected,\n .ant-menu-submenu-selected {\n &:after {\n display: none;\n }\n }\n`\n\n//SP\nexport const ContentOnSP = styled.div`\n display: none;\n padding: 0 15px;\n @media(max-width: 767px){\n display: block;\n }\n .btn-group {\n display: flex;\n align-items: center;\n color: ${({ theme }) => theme.text};\n font-size: 20px;\n }\n`\nexport const MenuMobile = styled(Menu)`\n padding: 10px 0;\n .ant-dropdown-menu-item,\n .ant-dropdown-menu-submenu-title {\n width: 180px;\n padding: 10px 25px;\n }\n`","import React, { useState } from 'react'\nimport { Link } from 'react-router-dom'\nimport { Row, Col, Menu, Dropdown } from 'antd';\nimport { useSelector } from 'react-redux';\nimport { CaretDownOutlined } from '@ant-design/icons';\nimport LogoTomoscan from '../../assets/images/tomoscan-logo-dark.svg';\nimport LogoTomoscanLight from '../../assets/images/tomoscan-logo-light.svg';\n\nimport {\n MenuOutlined\n} from '@ant-design/icons';\n\nimport { RootState } from '../../app/store';\n// import { changeMode } from '../../features/general/generalSlice';\n\nimport {\n Wrapper,\n ContentOnPC,\n NavBar,\n MenuStyled,\n ContentOnSP,\n MenuMobile,\n} from './headerStyles';\n\nconst { SubMenu } = Menu;\n\nconst menu = (\n \n \n Home\n \n \n Transactions\n \n \n Blocks\n Epochs\n \n \n All Accounts\n All Masternodes\n Verified Contracts\n \n \n Tokens\n NFTs\n \n \n);\n\nexport default function Header() {\n const [current, setCurrent] = useState('')\n\n const handleClick = (e: any) => {\n setCurrent(e.key);\n };\n\n const mode = useSelector((state: RootState) => state.general.mode)\n // const dispatch = useDispatch()\n\n return (\n \n \n \n \n \n \n \n \n\n \n \n \n \n Home\n \n \n Transactions\n \n \n Blocks\n \n \n }\n >\n Blocks\n Epochs\n \n \n Accounts\n \n \n }\n >\n All Accounts\n All Masternodes\n Verified Contracts\n \n \n Tokens\n \n \n }\n >\n Tokens\n NFTs\n \n \n\n {/* */}\n \n \n \n \n\n \n
\n \n \n \n \n \n \n \n
\n {/* */}\n\n \n
e.preventDefault()}>\n \n
\n
\n
\n \n
\n
\n
\n
\n )\n}","import { RPC_ENDPOINT, CHAINID } from \"../constants/env\"\n\nexport const MAX_RECORD = 10000\nexport const supportedWalletOption = [{\n chainId: '0x' + CHAINID.toString(16), // 88\n chainName: CHAINID === 88 ? 'Viction Mainnet' : 'Viction Testnet',\n nativeCurrency: {\n name: 'VIC',\n symbol: 'VIC',\n decimals: 18,\n },\n rpcUrls: [RPC_ENDPOINT],\n}]\n\nexport const tagWarningAddress: {[key: string]: {text: string, link: string, tag: string[]}} = {\n '0xbbE2a100822fc7022c0f42E277b338F67371c5b0': {\n text: 'This address involved in CoinEx Attack on Sep 12.',\n link: 'https://announcement.coinex.com/hc/en-us/articles/19187420867348-Latest-Progress-of-the-Hacking-Attack-on-Sep-12-2023-Updated-on-Sep-14-',\n tag: ['Hacker', 'CoinEx Attack']\n },\n}\n\nexport const nonFungibleTokenStandard = [\"trc721\", \"vrc721\", \"vrc725\"]\nexport const fungibleTokenStandard = [\"trc20\", \"trc21\", \"vrc20\", \"vrc21\", \"vrc25\"]\n\nexport enum WalletAdapter {\n COIN98,\n VICTION,\n RAMPER,\n METAMASK,\n}\n","export default __webpack_public_path__ + \"static/media/metamask.45038d58.svg\";","import { Button } from 'antd';\nimport styled from 'styled-components'\nexport const Wrapper = styled.footer`\n background-color: ${({ theme }) => theme.bg2};\n padding: 25px 0 0;\n position: relative;\n z-index: 1;\n &:before {\n content: '';\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n // background-image: url(${({ theme }) => theme.bgImageFooter});\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n border-radius: 32px 32px 0px 0px;\n z-index: -1;\n }\n @media only screen and (max-width: 767px) {\n .sp-justify {\n justify-content: center;\n }\n }\n`\n\nexport const Content = styled.div`\n max-width: 1232px;\n margin: auto;\n padding-left: 15px;\n padding-right: 15px;\n .logo-size {\n height: 28px;\n }\n .list-social {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n img {\n width: 24px;\n filter: grayscale(0%);\n transition: all 0.3s ease;\n opacity: 1;\n &:hover {\n filter: grayscale(100%);\n opacity: 0.6;\n }\n }\n .ant-typography {\n color: ${({ theme }) => theme.textOverlay};\n }\n @media(max-width: 580px){\n .social-label{\n display: none;\n }\n }\n }\n`\n\nexport const ListMenuFooter = styled.div`\n .ant-descriptions {\n @media only screen and (min-width: 768px) {\n display: flex;\n align-items: flex-start;\n .ant-descriptions-header {\n padding-right: 40px;\n }\n }\n .ant-descriptions-title {\n font-weight: bold;\n font-size: 14px;\n color: ${({ theme }) => theme.text};\n position: relative;\n padding-left: 10px;\n \n }\n }\n a {\n color: ${({ theme }) => theme.text};\n font-size: 14px;\n &:hover {\n color: ${({ theme }) => theme.textOverlay};\n }\n }\n`\n\nexport const EndFooter = styled.div`\n background-color: ${({ theme }) => theme.bg3};\n padding: 5px 15px;\n text-align: center;\n font-size: 10px;\n color: #C3C3C3;\n span {\n\n }\n`\nexport const ButtonStyled = styled(Button)`\n border-radius: 0;\n height: auto;\n display: flex;\n align-items: center;\n margin-bottom: 10px;\n padding: 5px 10px;\n border: 1px solid ${({ theme }) => theme.border};\n background-color: ${({ theme }) => theme.bg2};\n :hover,:focus{\n background-color: ${({ theme }) => theme.bg2};\n border-color: ${({ theme }) => theme.border};\n }\n @media(max-width: 767px){\n display: none;\n }\n`\nexport const TextMain = styled.span`\n color: ${({ theme }) => theme.text};\n margin-left: 5px;\n font-size: 12px;\n`","// import React from 'react'\nimport { useSelector } from 'react-redux';\nimport { Link } from 'react-router-dom'\nimport Web3 from 'web3'\nimport LogoTomoscan from '../../assets/images/tomoscan-logo-dark.svg';\nimport LogoTomoscanLight from '../../assets/images/tomoscan-logo-light.svg';\nimport icDiscord from '../../assets/images/ic-discord.png';\nimport icTwitter from '../../assets/images/ic-twitter.png';\n// import icFacebook from '../../assets/images/ic-facebook.png';\nimport icTelegram from '../../assets/images/ic-telegram.png';\nimport icGithub from '../../assets/images/ic-github.png';\nimport MetamaskLog from '../../assets/images/metamask.svg'\nimport { CHAINID } from '../../constants/env'\nimport { RootState } from '../../app/store';\n\nimport {\n Row,\n Col,\n Space,\n Descriptions,\n Typography\n} from 'antd'\n\nimport {\n Wrapper,\n Content,\n ListMenuFooter,\n EndFooter,\n ButtonStyled,\n TextMain\n} from './footerStyles'\nimport { supportedWalletOption } from '../../constants';\n\nconst { Text } = Typography;\n\nexport default function Footer() {\n const mode = useSelector((state: RootState) => state.general.mode)\n const ethEnabled = async () => {\n if (window.ethereum) {\n window.web3 = new Web3(window.ethereum)\n const networkId = await window.ethereum.request({\n method: 'net_version',\n });\n try {\n if (Number(networkId) !== CHAINID) {\n await window.ethereum.request({\n method: 'wallet_addEthereumChain',\n params: supportedWalletOption,\n })\n } else {\n alert('Already on Viction Network')\n }\n } catch (error) {\n console.error(error)\n return false\n }\n } else {\n alert('Please install Metamask')\n }\n }\n return (\n \n \n \n \n \n \n }\n >\n \n \n Join us:\n \"\"\n \"\"\n {/* \"\" */}\n \"\"\n \"\"\n \n \n \n \n \"MetaMask\"\n Add Viction Network\n \n \n \n \n \n About us\n Contact us\n Terms of service\n \n \n \n \n \n \n Viction Wallet (Extension)\n Viction Wallet (iOS)\n VicMaster\n \n \n \n \n \n \n \n VIC Scan © {(new Date()).getFullYear()} | Powered by Viction\n \n \n \n )\n}\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJ4SURBVHgB7ZlPjgFBFMafyay5gD97Yk+sEXtiT+wJaxJ74QLshb2wF07gApzABWbydVKTnp7qqldaq8jUL5nItOqu91W9+l5VS2Sz2S96Yz7ozXECbOME2MYJsI0TYBsnwDafFIFkMkmtVovy+TyVSiXvWqVSUd6zXq+99ufzmQ6HA51OJ7rdbvQoiUc2cwh2MBj8BO1nPp97n5lM5tf16/VKqVSKOp3On3sgZrvd0mazIVOMBXS7XRqPxxQHEL9YLIzuMRKQTqdpt9t5qRMXjUaDLpcLu73RIu73+7EGDyaTiVF7tgCMPhZs3GBdydZWGGwBGP1XAYPgwhLwqtEXYAZgtRxYAkym9FnUajVWO5aAV46+aZ9aAXAd1Qzc73dqt9tULBa9KozqGgbsETaZy+Wo1+spKzDSNlgMZWgF6NJnOp16lRRCEBACw/9B8B2ECo+H0OFwqHx2tVolHVoBqsWEoGXlf7/fS6+hvR8IVc1CoVAgHVoBqocEA1IR1lYlgONErDUQBvIUf5yOy+Wy9H5VinKqvlaALEA/s9nsV0dwD5mDINDgTlRXsHR9A+1m7ng8ah+ENMDi1DkWEHkPn+eMMBxLRaQDjSAslWQ8uyj+7zMx0kbm+Vxwr2rvz3E5rQAUmzCrQw7jKIgKLAqaCgSENjh5oajhMyxIXNcVOsA6kSFQbKdxnJSBoBCQADYaXKAYBP9AwL2azab0ecvl0jtacmbA+EgJIUGbHI1GxgdyLGa8ofAjZsckLR96KwEh9Xrd83V0xplqGXg5gOdA/Gq1MqrsgkTU38iQKo90/Cwi26jN4IF7N2obJ8A2ToBtnADbOAG2+QYbLgQ//TS3LQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALcSURBVHgB7ZkxrClBFIZn33vFrehUotHRqYhCJ9GIgiiIglCoCDWPTiH0QiFRCIVEIdHpdDqdjkqnU72X/yRHZK+4d2cn2dxkvuRmb2Z3Of/Mv+ecWYbP5/snfjC/xA9HC3AaLcBptACn0QKcRgtwmj/CIi6XSxSLxZfnjsej2G63wgrpdFp4vV6xXC7F+XwWVrEs4Ha7kYhSqfTyXCKR+HYg8Xhc9Pt9Ej0cDoUMhkw3CgGbzYYCzWazNBYIBGhsv98/xt6BWcf1LBpHGX673e6/wiL3+53sUq/X6YsPh4O4Xq/0fz6fp2sg5F3w8/mcPgdica8sUgIAZp+ttNvtKAgIiUQiIpPJkC1eBYZ7VqsVHVOplJTvnzHsbGjYSph5zCSOX1ljNBqR98vlsuUH/hXSKwBgAVgFVvr4+KCVQMAYTyaTjzEG1+VyOTEYDMRsNhMqsCUAsE2q1SqJgSVgpWAwSCmSxxB8rVaj4GUzzisMVXti2AaWYtuwvcBkMhGtVkssFgvRbDaFSpQJYO/D141Gg8bC4TBlG4Csxc+JSmxbiGHvw0qXy4UC5kwVCoVEr9cja6nGUP1aBTOOosYVma2EYzQaVb4Cyps5tg9aBICAkTIhgMdUosxCDAKGZWKx2KcqjaLHY6pQbiFOl2wfPLh4HoDZXipQaiHMMIIfj8cUJIBtIASY7aUCZRbCzKJNwGxXKhXKSLAKspK5SqPhU2UlJQJQA6bTKQVVKBQemea54TNXaTR86/Xadlay/Qxwawzgd7O3nyuyuUpzw2cH2yuA4P1+PwV/Op0+nee9A1bB4/FQpeYx2Au82zt8hS0B7XabWuNOp/O2NWYrwfvmKv3cBMogbSGr3eVzRTZXaSC7rZQSADugu0S67Ha7376P980IlIOFCPyhY8VKWsXyWwkOBK9BrAQPYB3UAmw7zUAEEoJVKxn6NzKH0QKcRgtwGi3AabQAp9ECnOY/3/riovBvGaMAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMRSURBVHgB7ZkxrylBFMfPvveS2/EFRKMjGhXRqIie6DSiJwqJQp6e0CmEXugUglroVHwBfAGd6r38N1mRze7Mmd11N3L9Erl7786dPf+Zc86cPbRwOPyP3phf9OZ8BPjNR4DfvL2AP+QRgUCAisUiRaNR/RMKhfS/gdvtRpfLRf+s12va7Xb6tRdobs+BZDJJ9Xpd/6kChIzHY9rv9+QGxwKwwr1eT9lwM/P5nPr9vuMd+R0MBv+SInCV0WhEkUiE3AJ3w3z3+50OhwOpoiwA7tJut+nr64u8AnNlMhnSNE3ZpZQEwPharUavAu6oKoItoFKpULPZpFcDEdfrlU6nE2s8K4gRsMvl8pEWXw3Sbj6fZwU26yCD23yX8QDPQobjIBWALUWW+G7wXE6KlgqA73sJ3AMHWLVapU6nIxyLpCFDGAPw/e12S16AzILTdzab6SK488fj8cd4K4S1kNtTFg+GwTDcKjVCgIxCoUCTycT2vlBALpcjJyB7wHA8WLR6nMQQi8WE94UxwFmhZ7DKpVKJ0uk0DQaDh/EwFKUHyoZnzL9bIRsj3AGOAJmbIAkgDSNgzYeTbHU5NggFiLbYyCZ2bvJcrTYaDb3qtBojQ+Zmjl5osNpIg3YYqw7sjAeqLmqFMAbsAtAogc0GGL6OahUgHuyMxxycIBYlASDcAWQTqyCC4d1uV7+G3x+PR/0aomAUHgrjRQUZtzSR1UNCATBMlgWsjnzEhqya5GQgcD6fhfeFLsQtac1YuZeZVCpFHDabjfC+UICd/8owSgRRLcMNYHQwREiD2E3XAJkIQqyM5bjQarWSxoC0GkXHwA1Wu8GtsUQ1kAHrjWw6nbou7IBRI3FiBO6LM0TGz3ilxESylw8vUWl0sbsSRkrlpj+nwPjhcMger9QXMjLSq0TAeJThKih35iACPppIJDzrzmG+VqvFyjpmHPVG0cNcLBZ6UHNqehFYkHK57Pi88aS9jvI5m80q/R8Mhsv41l43g1QLMXiPxrXVFxxIBPg8dybcon2+6PaZjwC/+Qjwm7cX8B+bW4DQMzzSGgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAL9SURBVHgB7ZnNrilBEMfLzV3zAL72xBqxJ/bEntgT1iTWhL2wF/aCtfACPIEX4AXuzb+TPpkzp1t/TMvkJPNLThzDTNe/q7q6qsUymcw/+sX8oV9OJCBsIgFhEwkIm7/0AVKpFOVyOYrH4+z94/Gg1+tF9/udXONEAAxtNptUrVa/Ge4HIq7XKx2PR9put+SCWNCduN/vU7vdlhotA15ZLBaBhVgLwEwvl0sWLkGAkFarxV5tsFrECJfNZhPYeIBn4FmYEBuMBcD46XRqHDLvCCLCKIQwwH6/p0+BRV6v143CSdsDmHHEvJfdbscGHAwGRoMiE00mE6pUKuz/d2Oo0E6jyDb+mL/dbiy34w9ikI3y+Tx7/3w+v0TBMHgPn/lT6OFwoFKp9PUe3+v1eixD6aAVQjD8fD7/uI7s4Z1BGxqNBs1ms2/XEErwDl5VaIUQZkSEqyzkBx6DMB20BJTLZeF1l5nIT61W0/qeMoRkmQdxjgXsAoSnyBOFQkEZRkoPyHLzer0mV6xWK+F1mee9KAXI4hzZwxWyRJBMJkmFtQCdDKGL7Fk6a8y6ofnkAjbBWkAikSBXBEnHSgGyEqFYLJIrZIlCpzyxFoCq1BWdTodMxvaiFIDaRQTqF28NYwuMl4WQTpmiFMD7WBGoHIOIgBdHo5HwM900rbWIvQ/DDoyNB+5FJkIjgmLMpBmBaNyHxkjG6XQiHbSqURiK7R6vMLzb7TLP+NtKXEPIoT8QwbsuVQrGGKhGddDyAAybz+fsf97+wQguhINr7+L2crlo7R+6vQDQ3gdQ+3DjYMR4PGbhxHsCzBpmH0bKkCUEL2iMTI5ajHpiPvs8bEwbGlljxMEkoMI1KVOMdmL/GQ5fwFiUMA4nc7bwZ5vWWFYHW35PeMlms2/vE3kAoYj1ZHO4ZVULcVeLYjWdTkvvEwlGSjY9SvFiXczB1cPhkA3uXQc4jXh3Dwf34F4crwQh5upnVn6krso0WCcw3lU/EYt+Jw6ZSEDYRALCJhIQNv8BCLB51c1zFLEAAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/ic-list-block.38bf5d2a.svg\";","export default __webpack_public_path__ + \"static/media/ic-list-transactions.9c7b4e4c.svg\";","import styled from \"styled-components\"\n\nexport const ContentHomePage = styled.div`\n margin-top: 24px;\n .hide-mobile {\n @media(max-width: 991px){\n display: none;\n }\n }\n .hide-desktop {\n @media(min-width: 992px){\n display: none;\n }\n }\n`\n\nexport const InnerBox = styled.div`\n height: 100%;\n`\nexport const ContentMainTop = styled.div`\n margin-top: 24px;\n`\n\nexport const ContentMainTable = styled.div`\n margin-top: 24px;\n`\n\nexport const SearchBoxWrapper = styled.div`\n background-color: ${({ theme }) => theme.bg2};\n padding: 44px 32px;\n display: flex;\n align-items: center;\n position: relative;\n z-index: 1;\n @media(max-width: 991px){\n padding: 24px;\n min-height: auto;\n }\n &:before {\n content: '';\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n // background-image: url(${({ theme }) => theme.bgImageSearch});\n background-position: center;\n background-repeat: no-repeat;\n background-size: 115% auto;\n border-radius: 16px;\n z-index: -1;\n }\n`\nexport const TitleSearch = styled.div`\n color: ${({ theme }) => theme.text};\n font-weight: 700;\n font-size: 32px;\n line-height: 48px;\n margin-bottom: 15px;\n letter-spacing: -1px;\n @media(max-width: 767px){\n font-size: 28px;\n line-height: 36px;\n }\n`\n\nexport const MainDetailToken = styled.div`\n margin-top: 24px;\n .ant-row {\n row-gap: 1px!important;\n }\n .hr-space-lg {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid #e7eaf3;\n }\n`\n\nexport const TitleBoxStart = styled.div`\n color: #8B8B8B;\n font-size: 12px;\n margin-bottom: 2px;\n text-transform: uppercase;\n`\n\nexport const TitleHeaderBox = styled.div`\n color: ${({ theme }) => theme.text};\n font-weight: 900;\n font-size: 15px;\n`\n\nexport const InfoDetails = styled.a`\n background-color: ${({ theme }) => theme.bg2};\n display: flex;\n align-items: center;\n padding: 24px 32px;\n overflow: hidden;\n border-left: 1px solid;\n border-color: ${({ theme }) => theme.bg};\n height: 98px;\n \n @media(max-width: 767px){\n padding: 10px;\n height: 100%;\n }\n .media-image {\n margin-right: 12px;\n width: 44px;\n @media(max-width: 767px){\n margin-right: 5px;\n width: 40px;\n }\n }\n .media-info {\n .txt-sap {\n font-size: 14px;\n font-weight: normal;\n color: #8B8B8B;\n @media(max-width: 767px){\n font-size: 10px;\n }\n }\n }\n .ant-typography {\n color: ${({ theme }) => theme.text};\n font-size: 28px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: -1px;\n @media(max-width: 767px){\n font-size: 13px;\n }\n }\n`\n\nexport const CardBoxTable = styled.div`\n background-color: ${({ theme }) => theme.bg2};\n padding: 24px;\n height: 100%;\n .ant-tabs-tab {\n padding: 10px 1.25rem!important;\n margin-left: 0px!important;\n }\n .list-group-item {\n padding: 10px 0;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n color: ${({ theme }) => theme.text};\n &:last-child {\n border-bottom: 0;\n }\n .ant-typography {\n color: ${({ theme }) => theme.text};\n &.ant-typography-secondary {\n color: ${({ theme }) => theme.textOverlay};\n }\n }\n .txt-icon {\n background: ${({ theme }) => theme.border};\n display: flex;\n align-items: center;\n justify-content: center;\n height: 40px;\n width: 40px;\n margin-right: 12px;\n }\n .txt-body {\n overflow: hidden;\n width: calc(100% - 50px);\n * {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n display: block;\n }\n }\n }\n .btn-view-all {\n a {\n background: ${({ theme }) => theme.primary};\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 15px;\n font-weight: bold;\n padding: 8px 24px;\n transition: .3s;\n &:hover {\n background: ${({ theme }) => theme.primaryHover};\n }\n }\n }\n`\n\nexport const CardTableContent = styled.div`\n overflow: hidden;\n overflow-y: auto;\n margin: 14px 0;\n`\n\n\n","import { RefObject, useEffect, useRef } from 'react'\nimport { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux'\nimport { useLocation } from 'react-router-dom'\nimport type { RootState, AppDispatch } from './store'\n\n// Use throughout your app instead of plain `useDispatch` and `useSelector`\nexport const useAppDispatch = () => useDispatch();\nexport const useAppSelector: TypedUseSelectorHook = useSelector;\n\nexport const useStateDetails = (getDetails: Function, param: string | undefined, currState: 'transactions' | 'blocks' | 'epochs' | 'tokens' | 'contracts') => {\n const dispatch = useAppDispatch()\n const details: any = useAppSelector((state) => state[currState]['details'])\n\n useEffect(() => {\n if (param) dispatch(getDetails(param))\n }, [param, dispatch])\n\n return details\n}\n\nexport function useOnClickOutside(\n node: RefObject,\n handler: undefined | (() => void)\n) {\n const handlerRef = useRef void)>(handler)\n useEffect(() => {\n handlerRef.current = handler\n }, [handler])\n\n useEffect(() => {\n const handleClickOutside = (e: MouseEvent) => {\n if (node.current?.contains(e.target as Node) ?? false) {\n return\n }\n if (handlerRef.current) handlerRef.current()\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [node])\n}\n\nexport function useQuery() {\n return new URLSearchParams(useLocation().search)\n}\n","import BigNumber from 'bignumber.js'\nimport { formatDistance, format, addMinutes } from 'date-fns'\nimport Web3 from 'web3'\n\nimport { RPC_ENDPOINT } from '../constants/env'\n\nexport function getContract(ABI: any, contractAddress: string) {\n let web3 = new Web3(new Web3.providers.HttpProvider(RPC_ENDPOINT))\n return new web3.eth.Contract(ABI, contractAddress)\n}\n\nexport function toTomo(amount: string | number | undefined, decimals = 9) {\n if (!amount) return amount\n\n return new BigNumber(amount).div(10 ** decimals).toNumber()\n}\n\nexport function formatNumber(number: string | number | undefined | null, precision = 8) {\n if (!number) return number\n\n let formated = new BigNumber(number).toFormat(precision)\n\n if (formated.match(/\\.[0]+$/g)) {\n formated = formated.replace(/\\.[0]+$/g, '')\n }\n\n if (formated.match(/\\.\\d+[0]+$/g)) {\n formated = formated.replace(/[0]+$/g, '')\n }\n\n return formated\n}\n\nexport function formatUtc(timestamp: number, pattern = \"MMMM dd, yyyy HH:mm:ss a '+UTC'\") {\n if (!timestamp) return null\n\n const dateLocal = new Date(timestamp * 1000)\n return format(addMinutes(dateLocal, dateLocal.getTimezoneOffset()), pattern)\n}\n\nexport function timeFormatUtc(timestamp: number | undefined, pattern = \"MMMM dd, yyyy HH:mm:ss a '+UTC'\") {\n if (!timestamp) return timestamp\n\n const dateLocal = new Date(timestamp * 1000)\n return format(addMinutes(dateLocal, dateLocal.getTimezoneOffset()), pattern)\n}\n\nexport function timeFormatDistance(time: number) {\n if (!time) return\n\n return formatDistance(time * 1000, new Date(), {\n addSuffix: true,\n })\n}\n\nexport function truncateBetween(text: string, num = 8, symbol = '...') {\n const newText = text.toString()\n\n if (!text) return ''\n if (newText.length <= 2 * num) return newText\n\n const firtPart = newText.slice(0, num)\n const lastPart = newText.slice(-num)\n\n return firtPart + symbol + lastPart\n}\n\nexport function getFirstAndLastDay() {\n const date = new Date(), y = date.getFullYear(), m = date.getMonth()\n const firstDay = new Date(Date.UTC(y, m, 1))\n const lastDay = new Date(Date.UTC(y, m + 1, 0))\n\n return { firstDay, lastDay }\n}","import styled from \"styled-components\"\nimport { Tag } from \"antd\"\nimport { TagStatusType } from '../constants/types'\n\n\nconst TagStyled = styled(Tag)`\n background-color: ${({ theme }) => theme.primary};\n color: ${({ theme }) => theme.primaryText};\n border: 0;\n padding: 3px 15px;\n margin: 0;\n text-transform: capitalize;\n text-overflow: hidden;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n border-radius: 0!important;\n`\n//\nconst TagStatusStyled = styled(Tag) <{ variant: TagStatusType }>`\n background-color: ${({ theme, variant }) => variant === 'in' ? theme.bgin : theme.bgout}};\n color: ${({ theme, variant }) => variant ? theme[variant] : theme.transfer};\n border: 0;\n padding: 3px 10px;\n font-weight: 500;\n margin: 0;\n min-width: 50px;\n text-align: center;\n text-transform: uppercase;\n border-radius: 0!important;\n`\n\n// Change Up, Down\nconst TagUpDownStyled = styled.span`\n background: transparent;\n border: 0;\n position: relative;\n display: flex;\n align-items: center;\n\n &.down {\n &:before {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n margin-right: 5px;\n border-top: 7px solid ${({ theme }) => theme.down};\n }\n }\n &.up {\n &:before {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n margin-right: 5px;\n border-bottom: 7px solid ${({ theme }) => theme.up};\n }\n }\n &.default {\n &:before {\n content: '';\n border-bottom: 6px solid transparent;\n border-top: 6px solid transparent;\n border-left: 6px solid ${({ theme }) => theme.default};\n margin-right: 5px;\n margin-left: 5px;\n }\n }\n`\n\nexport { TagStyled, TagStatusStyled, TagUpDownStyled }","import { Tag, Typography } from \"antd\"\nimport styled from 'styled-components'\n\nconst { Text, Title } = Typography\n\ninterface TextStyledProps {\n transform?: string\n color?: string\n}\n\nexport const TextStyled = styled(Text) `\n text-transform: ${props => props.transform ? props.transform : 'inherit'};\n // color: ${props => props.color ? props.color : 'inherit'};\n`\nexport const TitleStyled = styled(Title)`\n color: ${({ theme }) => theme.text}!important; \n margin-bottom: 0!important;\n @media(max-width: 767px){\n font-size: 25px!important;\n }\n`\nexport const SubTitleStyled = styled.span`\n color: ${({ theme }) => theme.text}!important; \n margin-bottom: 0!important;\n font-size: 30px;\n font-weight: 600;\n @media(max-width: 767px){\n font-size: 25px!important;\n }\n`\nexport const TokenVerifiedIcon = styled(Tag)`\ncolor: ${({ theme }) => theme.success};\nvertical-align:top;\nborder: 0;\nborder-radius: 12px;\nwidth: 25px;\nbackground: transparent;\n`\n\nexport const PageTitle = styled(Title)`\n`","export default __webpack_public_path__ + \"static/media/verifiedandproject.5acd4b15.svg\";","export default __webpack_public_path__ + \"static/media/verified.f747a517.svg\";","export default __webpack_public_path__ + \"static/media/warning.b554769b.svg\";","export default __webpack_public_path__ + \"static/media/verifiedLine.dc1a37f6.svg\";","import React, { useMemo } from 'react'\n\n\nimport {Tooltip } from 'antd'\n\nimport isPer from '../../src/assets/images/status/verifiedandproject.svg';\nimport isContract from '../../src/assets/images/status/verified.svg';\nimport icNothing from '../../src/assets/images/status/warning.svg';\nimport isProject from '../../src/assets/images/status/verifiedLine.svg';\n\n\nconst CheckStatus = ({tokenStatus, contractVerified, isOnlyIcon}: {tokenStatus: any, contractVerified?: boolean, isOnlyIcon?: boolean}) => {\n\n const isContractVerified = !tokenStatus?.projectVerified && (tokenStatus?.contractVerified || contractVerified )\n const isProjectVerified = tokenStatus?.projectVerified && !tokenStatus?.contractVerified\n const isFull = tokenStatus?.projectVerified && tokenStatus?.contractVerified \n const isNothing = !tokenStatus?.projectVerified && !tokenStatus?.contractVerified \n\n const { checkText, checkImg } = useMemo(() => {\n if(isFull){\n return {\n checkText: 'Contract Verified & Project Confirmed',\n checkImg: isPer\n };\n }\n\n if(isContractVerified ){\n return {\n checkText: 'Contract Verified',\n checkImg: isContract\n };\n }\n if(isProjectVerified ){\n return {\n checkText: 'Project Confirmed',\n checkImg: isProject\n };\n }\n return {\n checkText: 'Contract Not Yet Verified',\n checkImg: icNothing\n };\n\n }, [isFull, isContractVerified, isProjectVerified, contractVerified])\n\n return (\n
\n {checkText}} >\n icon\n \n {!isOnlyIcon && <>\n  \n \n {checkText}\n \n }\n
\n )\n}\n\nexport default CheckStatus","import { Row, Col, Tag, Tooltip } from 'antd'\nimport styled from 'styled-components'\nimport { TitleStyled, PageTitle, SubTitleStyled } from '../common/TypographyStyled'\n\nimport { TokenType } from '../constants/types'\nimport { truncateBetween } from '../utils'\nimport { SearchBox, TokenIcon } from './index'\nimport CheckStatus from './CheckStatus'\n\n\ninterface PageHeaderProps {\n title?: string\n token?: any\n}\n\nexport function PageHeader({ title }: PageHeaderProps) {\n return (\n \n \n \n {title}\n \n \n )\n}\n\nexport function PageHeaderTokenDetail({ token }: PageHeaderProps) {\n\n return (\n \n \n \n \n \n \n
\n {token.name && token.symbol ?\n {`${token.name} (${token.symbol?.toUpperCase()})`}\n :\n \n {truncateBetween(token.address.toLowerCase())}\n \n }\n
\n {/* */}\n {token.type}\n \n
\n \n
\n
\n
\n
\n \n
\n
\n )\n}\n\nexport function TokenTypeTag({ type }: { type: TokenType | undefined }) {\n\n switch (true) {\n case type === 'vrc20':\n return (VRC20)\n case type === 'vrc21':\n return (VRC21)\n case type === 'vrc721' || type === 'tr721':\n return (VRC721)\n case type === 'vrc25':\n return (VRC25)\n case type === 'native':\n return (NATIVE)\n default:\n return {type}\n }\n}\n\nexport const Wrapper = styled.div`\n padding: 25px 0;\n @media(max-width: 767px){\n padding-bottom: 0;\n .ant-row{\n margin-bottom: 0;\n }\n }\n`\nexport const TagNative = styled(Tag)`\n background-color: ${({ theme }) => theme.primary};\n color: ${({ theme }) => theme.primaryText};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n`\nexport const TagVRC20 = styled(Tag)`\n background-color: ${({ theme }) => theme.bgout};\n color: ${({ theme }) => theme.out};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n padding-left:15px;\n padding-right: 15px;\n`\nexport const TagVRC21 = styled(Tag)`\nbackground-color: ${({ theme }) => theme.bgout};\n color: ${({ theme }) => theme.out};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n padding-left:15px;\n padding-right: 15px;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n`\nexport const TagVRC721 = styled(Tag)`\nbackground-color: ${({ theme }) => theme.bgout};\n color: ${({ theme }) => theme.out};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n padding-left:15px;\n padding-right: 15px;\n`\nexport const TagVRC725 = styled(Tag)`\nbackground-color: ${({ theme }) => theme.primary};\n color: ${({ theme }) => theme.primaryText};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n padding-left:15px;\n padding-right: 15px;\n`\n\n\nexport const TagVRC25 = styled(Tag)`\nbackground-color: ${({ theme }) => theme.primary};\n color: ${({ theme }) => theme.primaryText};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n padding-left:15px;\n padding-right: 15px;\n`\nconst AddressName = styled.span`\n font-size: 20px;\n font-weight: 600;\n color: ${({ theme }) => theme.text};\n`\n\nexport const TagWarningAddress = styled(Tag)`\n background-color: ${({ theme }) => theme.warning};\n color: ${({ theme }) => theme.redAlert};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n padding-left:15px;\n padding-right: 15px;\n`","import styled from 'styled-components'\nimport { Button, Form, Input, List } from 'antd'\n\nexport const FormStyled = styled(Form)`\n display: flex;\n align-items: center;\n background: ${({ theme }) => theme.bg1};\n border: 1px solid ${({ theme }) => theme.border};\n position: relative;\n .ant-input{\n color: ${({ theme }) => theme.text};\n }\n .anticon-close-circle{\n color: ${({ theme }) => theme.textOverlay};\n }\n`\n\nexport const FormItemStyled = styled.div`\n position: relative;\n width: 100%;\n`\n\nexport const InputGroupStyled = styled(Input.Group)`\n display: flex;\n .ant-input-affix-wrapper:focus,\n .ant-input-affix-wrapper-focused {\n box-shadow: none;\n }\n`\n\nexport const InputStyled = styled(Input)`\n padding: 0;\n border: none;\n background: transparent;\n\n .ant-input {\n padding: 15px!important;\n height: 100% !important;\n background: transparent;\n }\n\n .ant-input-suffix {\n padding-right: 70px;\n }\n .ant-input-clear-icon{\n font-size: 20px;\n }\n`\n\nexport const ButtonSearch = styled(Button)`\n background: ${({ theme }) => theme.primary};\n border: 0!important;\n color: #fff;\n width: 56px!important;\n height: 40px !important;\n margin-right: 4px;\n padding: 0 !important;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n right: 0;\n z-index: 9;\n border-radius: 0;\n &:hover {\n background: ${({ theme }) => theme.primaryHover};\n color: #fff;\n }\n\n .anticon-search {\n line-height: 0;\n }\n`\n\nexport const ListWrapper = styled.div`\n margin-top: 7px;\n position: absolute;\n z-index: 1000;\n width: 100%;\n max-height: 320px;\n overflow-y: auto;\n background: ${({ theme }) => theme.bg2};\n box-shadow: 0 3px 6px -4px rgb(0 0 0 / 12%), 0 6px 16px 0 rgb(0 0 0 / 8%), 0 9px 28px 8px rgb(0 0 0 / 5%);\n`\n\nexport const ListStyled = styled(List)`\n border: none;\n\n .ant-list-items {\n margin: 0 !important;\n }\n\n .ant-list-header {\n border-bottom: 1px solid ${({ theme }) => theme.border} !important;\n padding: 0!important;\n }\n\n .ant-spin-nested-loading {\n border-radius: 0 !important;\n border: 0 !important;\n }\n`\n\nexport const ListHeader = styled.div`\n text-align: left;\n font-weight bold;\n padding: 7px 15px;\n color: ${({ theme }) => theme.text};\n`\n\nexport const ListItemStyled = styled(List.Item)`\n flex-direction: column;\n padding: 10px 15px !important;\n margin: 0 !important;\n width: 100%;\n border-bottom: 1px solid ${({ theme }) => theme.border} !important;\n cursor: pointer;\n\n &:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n`\n\nexport const Token = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n margin-bottom: 3px;\n`\n\nexport const TokenHeader = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n margin-bottom: 3px;\n color: ${({ theme }) => theme.textOverlay};\n`\n\nexport const TokenTitle = styled.div`\n margin-left: 14px;\n font-weight: 500;\n text-align: initial;\n color: ${({ theme }) => theme.text};\n`\n\nexport const TokenExtension = styled.div`\n margin-left: 14px;\n font-size: 12px;\n text-align: left;\n width: 100%;\n color: ${({ theme }) => theme.textOverlay};\n`\n\nexport const OneId = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n margin-bottom: 3px;\n`\n\nexport const OneIdHeader = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n margin-bottom: 3px;\n color: ${({ theme }) => theme.textOverlay};\n`\n\nexport const OneIdTitle = styled.div`\n margin-left: 14px;\n font-weight: 500;\n text-align: initial;\n color: ${({ theme }) => theme.text};\n`\n\nexport const OneIdExtension = styled.div`\n margin-left: 14px;\n font-size: 12px;\n text-align: left;\n width: 100%;\n color: ${({ theme }) => theme.textOverlay};\n`","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAA0CAYAAAAnpACSAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJASURBVHgB7ZrhcRoxEIX3Dv7nGgCrA66DXAehI6ckl3Dp4NyB3IFSAJD3jl1G44Bs7HGyMHozQifphPYJjQZ9oyaE0ItIF2Mc5UYFD91ut9su9/v9FuXH9XotTdOMh8NhQvq1WCzgL07iTAycGeIekG+QBjwHxC4NTPxExeOFvgkv0RxNvbRtyzz9C5MIOiDjjPeIgc8PDJxNl/ospawORgb9EsEMzJX8FaGEFDFQwjtRy7+Zo5y0f8IvbM+CwDirnZXR18oPWg7oG1iHsTqtk/fqLTMlcbAeg//VkAdgE/C6/pzOfdc1auWOVM14VTXjVdWMV1UzXlXNeFU141XVjFdVM17V8nzPc77csHh0R3o6nWOVevSkHmj4LscjcSc+FZFGAJZn5gZYiodyMyhHk8Q5GwUOQb5YCkqMDr1wBQGOMGgisHS2j3xQioKYjGMZafmmwYRLfZXmmIiwEsiNkZxYCrikT28AxEcMRIs5XrkYjCKmkwwrlfq8R28ts5BBuA2DwKxy2QX5ehmXixjzWZdZkbKe2wB+KIwbJAN2zkRDhpGn0wawWq22CJ54tpfbFTeKscXHvFvJbYvLf1v/znhVNeNV1YxXVTNeVc14VTXjVdWMV1UzXnVXZj5zd2a+BMRcL/7Ml4AMG9lLhBB5J7QFe85wVIdnXgaacZVCk6tVNJMFOyk9jHKECekjXOsaZQCSN5xIiHi3LJSMLl8FPmVYh9gzyn+STtaoxae8DUYHOeJjYuSTweZOrjUGZP0fD9Efb4h6/nkAAAAASUVORK5CYII=\"","import { useState } from 'react'\nimport styled from 'styled-components'\nimport { CopyrightOutlined } from \"@ant-design/icons\"\nimport tomoLogo from '../assets/images/token-tomo.png'\n\nconst TOKENS_REPO_URL = 'https://raw.githubusercontent.com/BuildOnViction/tokens/master/tokens'\n\ntype TokenIconType = {\n address?: string | undefined\n size?: number | undefined\n}\n\nfunction TokenIcon({ address, size }: TokenIconType) {\n const [error, setError] = useState(false)\n\n if (!address || error) return \n if (address === 'tomo') return (\n \n )\n return (\n setError(true)}\n />\n )\n}\n\nconst LogoStyle = styled.span`\n color: ${({theme})=>theme.text};\n`\n\nexport default TokenIcon","type OneIdIconType = {\n size?: number | undefined\n}\n\nfunction OneIdIcon({ size }: OneIdIconType) {\n return (\n \n )\n}\n\nexport default OneIdIcon","import { useState, ChangeEvent } from 'react'\nimport { SearchOutlined } from '@ant-design/icons'\nimport { Layout, Tabs } from 'antd'\nimport { useHistory } from 'react-router-dom'\nimport {\n CheckCircleFilled,\n} from '@ant-design/icons'\nimport {\n ButtonSearch,\n FormStyled,\n FormItemStyled,\n InputGroupStyled,\n InputStyled,\n ListWrapper,\n ListStyled,\n ListItemStyled,\n ListHeader,\n TokenHeader,\n TokenTitle,\n TokenExtension,\n OneIdHeader,\n OneIdTitle,\n OneIdExtension,\n} from './searchBoxStyled'\n\nimport TokenIcon from '../TokenIcon'\nimport OneIdIcon from '../OneIdIcon'\n\nimport { useGeneralContext } from '../../providers/general'\nimport { TokenVerifiedIcon } from '../TypographyStyled'\nimport { searchOneId } from '../../api'\n\nconst { Content } = Layout\nconst { TabPane } = Tabs\n\n\nfunction buildTokenSuggestions(searchString: string, tokenList: Array) {\n let tokenSuggestions = tokenList.filter((token: any) => (\n token?.name?.toLowerCase().includes(searchString.toLowerCase()) ||\n token?.symbol?.toLowerCase().includes(searchString.toLowerCase()) ||\n token?.address?.toLowerCase().includes(searchString.toLowerCase())\n ))\n tokenSuggestions = tokenSuggestions.sort((a: any, b: any) => {\n if (a?.projectVerified === b?.projectVerified) {\n return b?.contractVerified - a?.contractVerified\n } else {\n return b?.projectVerified - a?.projectVerified\n }\n })\n return tokenSuggestions\n}\n\nasync function buildOneIdSuggestions(searchString: string): Promise> {\n try {\n const response = await searchOneId(searchString)\n if (response?.data) {\n let result: Array<{ address: string, oneId: string }> = response?.data\n return result\n }\n\n } catch (err) {\n }\n return []\n}\n\n\nfunction SuggestionList({ data, onSelect }: { data: { tokens: Array, oneIds: Array }, onSelect: Function }) {\n return (\n \n \n \n {data.oneIds.length > 0 &&\n OneIDs}\n dataSource={data.oneIds}\n renderItem={(item: any) => (\n onSelect(item.address, 'address')}>\n \n \n \n {item.oneId}\n {item.address}\n \n \n \n )}\n />\n }\n {data.tokens.length > 0 &&\n Tokens}\n dataSource={data.tokens}\n renderItem={(item: any) => (\n onSelect(item.address, 'token')}>\n \n \n \n {item.name} ({item.symbol?.toUpperCase()}){item.projectVerified ? : \"\"}\n {item.address}\n \n \n \n )}\n />\n }\n \n \n Tokens}\n dataSource={data.tokens}\n renderItem={(item: any) => (\n onSelect(item.address, 'token')}>\n \n \n \n {item.name} ({item.symbol?.toUpperCase()}){item.projectVerified ? : \"\"}\n {item.address}\n \n \n \n )}\n />\n \n \n Tokens}\n dataSource={data.oneIds}\n renderItem={(item: any) => (\n onSelect(item.address, 'address')}>\n \n \n \n {item.oneId}\n {item.address}\n \n \n \n )}\n />\n \n \n \n )\n}\n\nexport default function SearchBox() {\n const history = useHistory()\n const { tomoTokenList } = useGeneralContext()\n const [suggestions, setSuggestions] = useState<{ tokens: Array, oneIds: Array<{ address: string, oneId: string }> }>({ tokens: [], oneIds: [] })\n const [search, setSearch] = useState({ searchString: '', type: '' })\n\n async function handelOnChange(e: ChangeEvent) {\n const searchString = e.target.value.trim()\n\n if (!searchString) return resetState()\n\n const tokenSuggestions = buildTokenSuggestions(searchString, tomoTokenList)\n const oneIdSuggestions = await buildOneIdSuggestions(searchString)\n\n setSuggestions({ ...suggestions, tokens: tokenSuggestions, oneIds: oneIdSuggestions })\n switch (true) {\n case searchString.startsWith('0x') && searchString.length === 66:\n setSearch({ searchString, type: 'tx' })\n break\n case searchString.startsWith('0x') && searchString.length === 40:\n setSearch({ searchString, type: 'address' })\n break\n\n case !searchString.match(/\\D+/):\n setSearch({ searchString, type: 'block' })\n break\n\n default:\n setSearch({ searchString, type: 'address' })\n break\n }\n }\n\n function handleOnSearch() {\n if (suggestions.oneIds.length > 0) {\n history.push(`/address/${suggestions.oneIds[0].address}`)\n return resetState()\n }\n if (suggestions.tokens.length > 0) {\n history.push(`/token/${suggestions.tokens[0].address}`)\n return resetState()\n }\n\n if (search.searchString && search.type) {\n history.push(`/${search.type}/${search.searchString}`)\n return resetState()\n }\n }\n\n function handleOnSelectSuggestion(address: string, type: string) {\n history.push(`/${type}/${address}`)\n }\n\n function resetState() {\n setSuggestions({ tokens: [], oneIds: [] })\n setSearch({ searchString: '', type: '' })\n }\n\n return (\n \n \n \n \n \n\n {search.searchString && (suggestions.tokens.length > 0 || suggestions.oneIds.length > 0) &&\n \n }\n \n \n\n } />\n \n \n\n )\n\n}","import { Skeleton, Row, Col, Divider } from 'antd'\n\nfunction SkeletonLoading() {\n return (\n
\n \n \n \n \n \n \n \n \n
\n )\n}\n\nexport default SkeletonLoading","import styled from 'styled-components'\nimport { Typography } from 'antd'\n\nexport const PaginationWrapper = styled.div`\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: 15px;\n color: ${({ theme }) => theme.text};\n\n // @media(max-width: 767px){\n // justify-content: center;\n // }\n\n .ant-typography {\n color: ${({ theme }) => theme.text};\n &.ant-typography-secondary {\n color: ${({ theme }) => theme.textOverlay};\n }\n }\n\n .ant-select:not(.ant-select-customize-input) .ant-select-selector,\n .d-ms-down-none {\n @media(max-width: 767px){\n display: none;\n }\n }\n`\n\nexport const ContentTable = styled.div`\n background: ${({ theme }) => theme.bg2};\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n .style-table-bordered {\n padding: 24px 0;\n .ant-table {\n background: ${({ theme }) => theme.bg2};\n table {\n border-radius: 0!important;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n \n color: ${({ theme }) => theme.text};\n overflow: hidden;\n \n .ant-table-expanded-row-fixed {\n background: ${({ theme }) => theme.bg1};\n }\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid ${({ theme }) => theme.border1};\n }\n .ant-table-thead > tr > th {\n border-bottom: 1px solid ${({ theme }) => theme.border1};\n color: ${({ theme }) => theme.text};\n background: ${({ theme }) => theme.bg1};\n }\n .ant-table-tbody > tr.ant-table-row:hover > td {\n background: ${({ theme }) => theme.trHover}!important;\n }\n }\n }\n }\n .ant-empty-description{\n color: ${({ theme }) => theme.textOverlay};\n }\n`\n\nexport const TextSmall = styled(Typography.Text)`\n font-size: 12px;\n`\nexport const TextLink = styled.span`\n cursor: pointer;\n font-size: 14px;\n gap: 5px;\n align-items: center;\n &:hover {\n color: #40a9ff;\n }\n .anticon-clock-circle{\n font-size: 12px;\n }\n`","import { Skeleton, Row, Col } from 'antd'\n\nfunction DataTableLoading() {\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n )\n}\n\nexport default DataTableLoading","import { Space, Button } from 'antd'\nimport styled from \"styled-components\"\nimport { StepBackwardOutlined, LeftOutlined, RightOutlined, StepForwardOutlined } from '@ant-design/icons'\n\nimport { PaginationType } from '../../constants/types'\nimport { formatNumber } from '../../utils'\n\ntype DataTablePaginationProps = {\n changePage: Function\n pagination: PaginationType\n pages: null | number\n}\n\nexport const ButtonStyled = styled(Button)`\n border-radius: 0;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ${({ theme }) => theme.bgBtn};\n border: 1px solid ${({ theme }) => theme.bdBtn};\n color: ${({ theme }) => theme.textBtn};\n &.ant-btn[disabled],\n &.ant-btn[disabled]:hover,\n &.ant-btn[disabled]:focus,\n &.ant-btn[disabled]:active {\n background-color: ${({ theme }) => theme.bgBtnDisable};\n border: 1px solid ${({ theme }) => theme.textBtnDisable};\n color: rgba(0, 0, 0, 0.25);\n }\n &.ant-btn:hover,\n &.ant-btn:focus,\n &.ant-btn:active {\n background-color: ${({ theme }) => theme.bgBtnActive};\n border: 1px solid ${({ theme }) => theme.bdBtnActive};\n color: ${({ theme }) => theme.textBtnActive};\n }\n`\n\nexport default function DataTablePagination({ changePage, pagination, pages }: DataTablePaginationProps) {\n if (pages === 1) return null\n \n return (\n \n changePage('first')}>\n changePage('prev')}>\n Page {formatNumber(pagination.currPage)} of {pages && formatNumber(pages)}\n changePage('next')}>\n changePage('last')}>\n \n )\n}\n","import { useEffect, useState } from 'react'\nimport { Table, Select, Space, Spin } from 'antd'\nimport { ClockCircleOutlined } from '@ant-design/icons'\n\nimport { MAX_RECORD } from '../../constants'\nimport { PaginationDirType, LoadingType, } from '../../constants/types'\nimport { useAppDispatch } from '../../app/hooks'\nimport { formatUtc, timeFormatDistance } from '../../utils'\nimport { PaginationWrapper, ContentTable, TextLink } from './dataTableStyles'\nimport DataTableLoading from './DataTableLoading'\nimport DataTablePagination from './DataTablePagination'\n\nconst { Option } = Select\n\ninterface DataTableProps {\n loading?: LoadingType\n total?: null | number\n columns: any\n dataSource: any\n header?: any\n showPagination?: boolean\n getData?: Function\n}\n\nexport default function DataTable({\n columns,\n dataSource,\n total,\n header,\n loading,\n getData,\n showPagination = true,\n}: DataTableProps) {\n const dispatch = useAppDispatch()\n const [pagination, setPagination] = useState({ numPerPage: 20, currPage: 1 })\n const [utc, setUtc] = useState(false)\n\n const maxRecord = total && (total < MAX_RECORD) ? total : MAX_RECORD\n const pages = total && pagination ? Math.ceil(maxRecord / pagination.numPerPage) : 0\n const offset = pagination.numPerPage * (pagination.currPage - 1)\n\n function changePage(dir: PaginationDirType) {\n if (!pages) return\n let currPage = pagination.currPage\n\n switch (true) {\n case dir === 'first':\n currPage = 1\n break\n case dir === 'last':\n currPage = pages\n break\n case dir === 'next':\n if ((pagination.currPage + 1) <= pages) {\n currPage = pagination.currPage + 1\n }\n break\n case dir === 'prev':\n if ((pagination.currPage - 1) >= 1) {\n currPage = pagination.currPage - 1\n }\n break\n }\n\n if (currPage !== pagination.currPage) setPagination({ ...pagination, currPage })\n }\n\n function changeNumPerPage(value: string) {\n let numPerPage = Number(value)\n\n if (numPerPage !== pagination.numPerPage) setPagination({ currPage: 1, numPerPage })\n }\n\n useEffect(() => {\n if (getData) dispatch(getData({ offset, limit: pagination.numPerPage }))\n }, [pagination, getData])\n dataSource = dataSource.map((item: any, index: number) => {\n const rank = index + offset + 1\n\n return { ...item, rank, key: index }\n })\n\n const parsedColumns = columns && Array.isArray(columns) && columns.map((col) => {\n if (col.dataIndex === 'timestamp') {\n col.title = (\n <>\n {utc ?\n (Time (UTC))\n : (Time )}\n )\n col.render = (time:any) => utc ? formatUtc(time, \"MM-dd-yyyy HH:mm:ss\") : timeFormatDistance(time)\n col.onHeaderCell = () => {\n return {\n onClick:() => {\n setUtc(!utc)\n }\n }\n }\n }\n return col\n })\n\n return (\n \n {!!total &&\n \n \n {(loading === 'pending' && dataSource.length > 0) && }\n {header}\n \n
\n {showPagination && }\n
\n
\n }\n\n {(loading === 'pending' && dataSource.length === 0) &&\n \n }\n\n {(loading !== 'pending' && dataSource.length === 0) &&\n 5 ? 1100 : 600 }}\n />\n }\n\n {dataSource.length > 0 &&\n 5 ? 1100 : 600 }}\n />\n }\n\n {!!total && showPagination &&\n \n
\n {(pages > 1) &&\n \n Show\n \n per page\n \n }\n
\n\n \n
\n }\n
\n )\n}\n\n","import { FunctionComponent } from 'react'\nimport { formatNumber } from '../../utils'\nimport { Space, Typography } from 'antd'\nimport { MAX_RECORD } from '../../constants'\nimport { TextSmall } from './dataTableStyles'\n\nconst { Text } = Typography\n\ntype DataTableTotalProps = {\n total: null | number\n type: string\n}\n\nconst DataTableTotal: FunctionComponent = ({ total, type }) => {\n if (!total || !type) return null\n const MAX_RECORD_ABBR = MAX_RECORD / 1000\n\n switch (true) {\n case (type === 'tx'):\n return (\n \n \n Total {total && formatNumber(total)} {total && total > 1 ? 'transactions' : 'transaction'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'block'):\n return (\n \n Total {total && formatNumber(total)} {total && total > 1 ? 'blocks' : 'block'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'epoch'):\n return (\n \n Total {total && formatNumber(total)} {total && total > 1 ? 'epochs' : 'epoch'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'epoch-reward'):\n return (\n \n Total {total && formatNumber(total)} {total && total > 1 ? 'rewards' : 'reward'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'token'):\n return (\n \n Total {total && formatNumber(total)} tokens\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'token-holder'):\n return (\n \n Total {total && formatNumber(total)} {total && total > 1 ? 'holders' : 'holder'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'masternode'):\n return (\n \n Total {total && formatNumber(total)} masternodes\n \n )\n\n case (type === 'slashed-node'):\n return (\n \n Total {total && formatNumber(total)} slashed nodes\n \n )\n\n case (type === 'address'):\n return (\n \n Total {total && formatNumber(total)} accounts\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'contract'):\n return (\n \n Total {total && formatNumber(total)} contracts\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n case (type === 'vrc2021'):\n return (\n \n \n Total {total && formatNumber(total)} {total && total > 1 ? 'transfers' : 'transfer'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n default:\n return (\n \n Total {total && formatNumber(total)} {total && total > 1 ? 'records' : 'record'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n }\n}\n\nexport default DataTableTotal","import { Tooltip } from 'antd'\nimport React from 'react'\nimport { Link } from 'react-router-dom'\n\nimport { AddressLinkType } from '../constants/types'\n\nfunction getLinkContent(title: string | undefined | null, address: string, truncate?: boolean) {\n if (title) return title\n // if (!title && !truncate) return address\n\n return address.toLowerCase()\n}\n\nfunction AddressLink({ title, address, type = 'address', truncate = false, tooltip = true }: AddressLinkType) {\n if (!address) return null\n\n if (!tooltip) {\n return (\n {getLinkContent(title, address, truncate)}\n )\n }\n\n return (\n \n
\n {getLinkContent(title, address, truncate)}\n
\n
\n )\n}\n\nexport default AddressLink","import React, { useEffect, Fragment, ReactNode } from 'react'\nimport { withRouter } from 'react-router-dom'\nimport { History } from 'history';\n\ntype ScrollToTopProps = {\n history: History\n children?: ReactNode\n}\nfunction ScrollToTop({ history, children }: ScrollToTopProps) {\n useEffect(() => {\n const unlisten = history.listen(() => {\n window.scrollTo(0, 0)\n })\n return () => {\n unlisten()\n }\n }, [])\n\n return {children}\n}\n\nexport default withRouter(ScrollToTop)","import { useEffect, useState } from 'react'\nimport { useHistory, useLocation } from 'react-router'\nimport { Tabs } from 'antd'\n\ninterface TabsWithHashProps {\n tabsComp?: any\n children?: any\n type?: string\n activeTab?: string\n tabKeys: Array\n}\n\nexport default function TabsWithHash({ tabsComp: TabsComp = Tabs, children, activeTab, tabKeys, ...rest }: TabsWithHashProps) {\n const history = useHistory()\n let { hash, search } = useLocation()\n hash = hash?.replace('#', '') || ''\n search = search?.slice(1) || ''\n const [activeKey, setActiveKey] = useState('default')\n\n useEffect(() => {\n if (!!hash && tabKeys.includes(hash)) {\n setActiveKey(hash)\n } else {\n setActiveKey('default')\n }\n }, [hash])\n\n useEffect(() => {\n if (!activeTab) return\n\n handleOnTabClick(activeTab)\n }, [activeTab])\n\n function handleOnTabClick(key: string) {\n setActiveKey(key)\n\n if (key !== 'default') history.replace({ hash: key, search })\n else history.replace({ hash: '', search })\n }\n\n return (\n \n {children}\n \n )\n}","export default __webpack_public_path__ + \"static/media/coin98.339be55c.svg\";","export default __webpack_public_path__ + \"static/media/viction-wallet-logo.495f6689.svg\";","export default __webpack_public_path__ + \"static/media/ramper-wallet-logo.68ebb4d2.svg\";","import { useState, MouseEvent } from 'react'\nimport Web3 from 'web3'\nimport styled from 'styled-components'\nimport { Modal, Button } from 'antd';\n\n// Logo of wallets\nimport MetamaskLog from '../assets/images/metamask.svg'\nimport Coin98Logo from '../assets/images/coin98.svg'\nimport VictionLogo from '../assets/images/viction-wallet-logo.svg'\nimport RamperLogo from '../assets/images/ramper-wallet-logo.svg'\n\nimport { CHAINID } from '../constants/env';\n\nimport { Link } from 'react-router-dom';\nimport { supportedWalletOption } from '../constants';\nimport { WalletAdapter } from '../constants/index'\n\n// import WalletConnect from '../assets/images/walletconnect.svg'\ndeclare global {\n interface Window {\n ethereum: any\n web3: any\n coin98: any\n viction: any\n ramper2: any\n }\n}\ntype ModalWalletProp = {\n account: string\n isConnected: boolean\n setAccount: (v: string) => void\n setIsConnected: (v: boolean) => void\n}\n\nconst ModalWallet = ({ account, isConnected, setAccount, setIsConnected }: ModalWalletProp) => {\n const [isModalVisible, setIsModalVisible] = useState(false);\n const showModal = () => {\n setIsModalVisible(true)\n }\n const handleCancel = () => {\n setIsModalVisible(false)\n }\n\n // the proiority order: coin98 > viction > ramper > metamask\n const connectCoin98 = async () => {\n window.web3 = new Web3(window.coin98.provider)\n const networkId = await window.coin98.provider.request({\n method: 'net_version',\n });\n setIsModalVisible(false)\n try {\n if (Number(networkId) !== CHAINID) {\n await window.coin98.provider.request({\n method: 'wallet_addEthereumChain',\n params: supportedWalletOption,\n })\n const getAccount = (await window.web3.eth.getAccounts())[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n return true\n } else {\n await window.coin98.provider.send('eth_requestAccounts');\n const getAccount = (await window.web3.eth.getAccounts())[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n }\n } catch (error) {\n console.error(error)\n return false\n }\n }\n const connectMetamask = async () => {\n\n window.web3 = new Web3(window.ethereum)\n const networkId = await window.ethereum.request({\n method: 'net_version',\n });\n setIsModalVisible(false)\n try {\n if (Number(networkId) !== CHAINID) {\n await window.ethereum.request({\n method: 'wallet_addEthereumChain',\n params: supportedWalletOption,\n })\n const getAccount = (await window.web3.eth.getAccounts())[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n return true\n } else {\n await window.ethereum.send('eth_requestAccounts');\n const getAccount = (await window.web3.eth.getAccounts())[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n }\n } catch (error) {\n console.error(error)\n return false\n }\n }\n const connectViction = async () => {\n window.web3 = new Web3(window.viction)\n setIsModalVisible(false)\n try {\n const res = await window.viction.request({\n method: 'eth_requestAccounts',\n });;\n const getAccount = res[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n } catch (error) {\n console.error(error)\n return false\n }\n }\n const connectRamper = async () => {\n window.web3 = new Web3(window.ramper2.provider)\n const networkId = await window.ramper2.provider.request({\n method: 'net_version',\n });\n setIsModalVisible(false)\n try {\n if (Number(networkId) !== CHAINID) {\n await window.ramper2.provider.request({\n method: 'wallet_addEthereumChain',\n params: supportedWalletOption,\n })\n const getAccount = (await window.web3.eth.getAccounts())[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n return true\n } else {\n await window.ramper2.provider.send('eth_requestAccounts');\n const getAccount = (await window.web3.eth.getAccounts())[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n }\n } catch (error) {\n console.error(error)\n return false\n }\n }\n const selectWalletAdapter = async (e: MouseEvent) => {\n const walletType = parseInt(e.currentTarget.getAttribute('value') ?? '0')\n switch (walletType) {\n case WalletAdapter.COIN98:\n if (window.coin98) {\n await connectCoin98()\n } else {\n alert('Please install Coin98 wallet')\n }\n break\n case WalletAdapter.VICTION:\n if (window.coin98) {\n await connectCoin98()\n } else if (window.viction) {\n await connectViction()\n } else {\n alert('Please install Viction wallet')\n }\n break\n case WalletAdapter.RAMPER:\n if (window.coin98) {\n await connectCoin98()\n } else if (window.viction) {\n await connectViction()\n } else if (window.ramper2) {\n await connectRamper()\n } else {\n alert('Please install Ramper wallet')\n }\n break\n case WalletAdapter.METAMASK:\n if (window.coin98) {\n await connectCoin98()\n } else if (window.viction) {\n await connectViction()\n } else if (window.ramper2) {\n await connectRamper()\n } else if (window.ethereum) {\n await connectMetamask()\n } else {\n alert('Please install Metamask')\n }\n break\n default: alert('unsupported wallet')\n\n }\n }\n return (\n <>\n
\n {!isConnected ?\n \n Connect a Wallet\n \n :\n <>\n Connected [{account}]\n \n }\n
\n \n selectWalletAdapter(e)} value={WalletAdapter.COIN98}>\n Coin98\n \"Coin98Logo\"\n \n selectWalletAdapter(e)} value={WalletAdapter.VICTION}>\n Viction\n \"VictionLogo\"\n \n selectWalletAdapter(e)} value={WalletAdapter.RAMPER}>\n Ramper\n \"RamperLogo\"\n \n selectWalletAdapter(e)} value={WalletAdapter.METAMASK}>\n MetaMask\n \"MetaMask\"\n \n {/* \n WalletConnect\n \"WalletConnect\"\n */}\n \n \n );\n}\n\nexport default ModalWallet\n\nconst ModalStyled = styled(Modal)`\n .ant-modal-content{\n border-radius: 16px;\n overflow: hidden;\n background-color: ${({ theme }) => theme.bg};\n }\n .ant-modal-header{\n background-color: ${({ theme }) => theme.bg};\n border-bottom: 1px solid ${({ theme }) => theme.border};\n .ant-modal-title{\n color: ${({ theme }) => theme.text};\n font-size: 18px;\n }\n }\n .anticon-close{\n color: ${({ theme }) => theme.textOverlay};\n }\n`\n\nconst TextMain = styled.span`\n color: ${({ theme }) => theme.text};\n`\nconst ButtonConnect = styled(Button)`\n margin-bottom: 20px;\n border-radius: 5px;\n background-color: ${({ theme }) => theme.bg4};\n border: none;\n :hover,:focus{\n background-color: ${({ theme }) => theme.bg4};\n }\n`\nconst ButtonStyled = styled(Button)`\n height: auto;\n display: flex;\n width: 100%;\n border-radius: 5px;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n padding: 12px 16px;\n border: 1px solid ${({ theme }) => theme.border};\n background-color: ${({ theme }) => theme.bg2};\n :hover,:focus{\n background-color: ${({ theme }) => theme.bg2};\n }\n`","import React, { useState } from 'react'\nimport styled from 'styled-components'\nimport {DownloadOutlined} from '@ant-design/icons'\nimport {\n Modal,\n Tooltip,\n Button,\n Col,\n Row,\n Form,\n Input,\n} from 'antd'\nimport { getUnixTime } from 'date-fns'\nimport { useGeneralContext } from '../providers/general'\nimport { TOMOSCAN_API_V2_URL } from '../constants/env'\nimport { DatePicker } from '../common'\nimport { getFirstAndLastDay } from '../utils'\n\nconst ModalStyled = styled(Modal)`\n .ant-modal-content {\n background: #FFFFFF;\n border-radius: 16px;\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.05);\n }\n .ant-modal-header {\n background: transparent;\n border: 0;\n padding: 34px 34px 0;\n @media only screen and (max-width: 767px) {\n padding: 24px 14px 0;\n }\n .ant-modal-title {\n font-weight: 900;\n font-size: 20px;\n }\n }\n .ant-modal-body {\n padding: 14px 34px;\n @media only screen and (max-width: 767px) {\n padding: 14px;\n }\n .ant-form-item {\n margin-bottom: 14px;\n }\n label {\n color: #606060;\n font-weight: bold;\n }\n .txt-desc {\n color: #606060;\n margin-bottom: 15px;\n ul {\n padding-left: 15px;\n }\n }\n }\n .ant-modal-footer {\n padding: 4px 34px 34px;\n border: 0;\n @media only screen and (max-width: 767px) {\n padding: 4px 14px 24px;\n }\n .style-footer-button {\n display: flex;\n gap: 16px;\n }\n }\n\n /*dark mode modal*/\n &.style-modal-dark {\n .ant-modal-content {\n background-color: #333333!important;\n .ant-modal-title {\n color: #C3C3C3!important;\n }\n .ant-modal-close {\n color: #FFFFFF!important;\n }\n }\n .ant-input-affix-wrapper,\n .ant-select-selector,\n .ant-picker {\n background-color: transparent!important;\n color: #ffffff!important;\n }\n input {\n background-color: transparent!important;\n color: #ffffff!important;\n }\n .ant-picker-suffix,\n .ant-select-arrow {\n color: #ffffff!important;\n }\n .ant-form-item-label label {\n color: #C3C3C3!important;\n }\n .ant-form-item-explain {\n color: #C3C3C3!important;\n }\n .txt-desc {\n color: #C3C3C3!important;\n }\n }\n`\nconst TextMain = styled.span`\n color: ${({ theme }) => theme.textLink};\n cursor: pointer;\n &:hover{\n text-decoration: underline;\n }\n`\nconst ExportStyled = styled.div`\n position: absolute;\n right: 24px;\n top: 34px;\n @media(max-width: 767px){\n position: static;\n }\n`\nconst ButtonStyled = styled(Button)`\n border-radius: 8px;\n padding: 8px 24px;\n height: auto!important;\n font-size: 15px;\n display: block;\n width: 100%;\n margin: 0!important;\n &.btn-purple-light {\n background: transparent;\n border: 1px solid #108ee9;\n color: #108ee9;\n }\n &.btn-purple-dark {\n background: #108ee9;\n border: 1px solid #108ee9;\n color: #fff;\n }\n`\n\nexport default function ExportData({ account, type = 'all', title }) { \n const { firstDay, lastDay } = getFirstAndLastDay()\n const [range, setRange] = useState({ from: firstDay.getTime() / 1000, to: lastDay.getTime() / 1000 })\n const [isModalVisible, setIsModalVisible] = useState(false)\n const [tokenAddress, setTokenAddress] = useState('')\n// const [isReCaptcha, setReCaptcha] = useState(false)\n// const refCaptcha = useRef()\n\n const showModal = () => {\n setIsModalVisible(true)\n setRange({ from: firstDay.getTime() / 1000, to: lastDay.getTime() / 1000 })\n // setDataType(type)\n }\n\n const handleCancel = () => {\n setIsModalVisible(false)\n // refCaptcha.current.reset()\n // setReCaptcha(false)\n }\n\n function handleChangeFrom(date) {\n const from = getUnixTime(date)\n \n if (!date || from > range.to) return\n setRange({ ...range, from })\n }\n\n function handleChangeTo(date) {\n const to = getUnixTime(date)\n\n if (!date || to < range.from) return\n setRange({ ...range, to })\n }\n\n function handleChangeTokenAddress(e) {\n setTokenAddress(e.target.value)\n }\n\n// function handleChangeReCaptcha(value) {\n// if (value) {\n// setReCaptcha(true)\n// } else {\n// setReCaptcha(false)\n// }\n// }\n\n const { mode } = useGeneralContext()\n return (\n <>\n \n \n {`Export to CSV`} \n \n \n \n Cancel\n \n {type === 'internalTx' &&\n \n Download\n \n }\n {type === 'transaction' &&\n \n Download\n \n }\n {type === 'tokenTx' && tokenAddress &&\n \n Download\n \n }\n {type === 'tokenTx' && !tokenAddress &&\n \n Download\n \n }\n {type === 'userRewards' &&\n \n Download\n \n }\n \n \n }\n >\n
\n
    \n
  • If timeout happens, try selecting shorter time period.
  • \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n {type === 'tokenTx' &&\n \n \n \n \n \n }\n {/* \n \n */}\n \n
\n\n \n \n )\n}","import dateFnsGenerateConfig from 'rc-picker/lib/generate/dateFns'\nimport generatePicker from 'antd/es/date-picker/generatePicker'\nimport 'antd/es/date-picker/style/index'\n\nconst DatePicker = generatePicker(dateFnsGenerateConfig)\n\nexport default DatePicker","export default __webpack_public_path__ + \"static/media/ic-RightFilled.acf8ab8d.svg\";","import styled from 'styled-components'\nimport { Tooltip } from 'antd'\nimport { FileTextOutlined } from '@ant-design/icons'\n\nexport default function ContractIconTooltip(props: any) {\n return (\n \n \n \n \n \n )\n}\n\nconst IconColor = styled.span`\n color: ${({theme})=> theme.textOverlay};\n`","import { Space, Tooltip, Typography } from 'antd'\nimport { ArrowRightOutlined } from '@ant-design/icons'\nimport { ColumnsType } from 'antd/es/table'\nimport { Link } from 'react-router-dom'\nimport icRightFilled from '../../assets/images/ic-RightFilled.svg';\n\n\nimport styled from 'styled-components'\n\nimport {\n InfoCircleOutlined,\n} from '@ant-design/icons'\nimport {\n TagStyled,\n AddressLink,\n TagUpDownStyled,\n TagStatusStyled,\n TokenIcon,\n TextStyled,\n TokenTypeTag,\n} from '../index'\n\nimport { formatNumber, timeFormatDistance, toTomo, truncateBetween } from '../../utils'\nimport {\n TxDetailsType,\n TagVariantType,\n TokenType,\n} from '../../constants/types'\nimport ContractIconTooltip from '../ContractIconTooltip'\nimport CheckStatus from '../CheckStatus';\n\nconst { Paragraph } = Typography\n\nconst AddressWrapper = styled.div`\n display: flex;\n align-items: center;\n`\n\nconst MethodTag = styled(TagStyled)`\n width: 100%;\n text-align: center;\n`\n\nexport const txColumns: ColumnsType = [\n {\n title: 'Transaction ID',\n dataIndex: 'hash',\n render: (hash: string, record: any) =>\n \n
\n {record.status && record.status === 'fail' &&\n \n }\n  \n {hash.toLowerCase()}\n
\n
\n },\n {\n title: 'Method',\n dataIndex: 'method',\n width: '120px',\n render: (method: TagVariantType) =>\n \n {method || 'Unknow'}\n ,\n },\n {\n title: 'Block',\n dataIndex: 'blockNumber',\n ellipsis: true,\n width: '110px',\n render: (block: string) => #{block}\n },\n {\n title: 'Time',\n dataIndex: 'timestamp',\n ellipsis: true,\n width: '110px',\n render: (timestamp: number) => <>{timeFormatDistance(timestamp)}\n },\n {\n title: 'From',\n dataIndex: 'from',\n render: (from: string, record: any) =>\n \n {record.fromContract && }\n \n {record.fromName ? record.fromName : from.toLowerCase()}\n \n \n },\n {\n title: '',\n dataIndex: 'icon',\n ellipsis: true,\n width: '40px',\n align: 'center',\n render: (icon: string) => \"\"\n },\n {\n title: 'To',\n dataIndex: 'to',\n render: (to: string, record: any) =>\n \n {record.toContract && }\n \n {record.toName ? record.toName : to.toLowerCase()}\n \n \n },\n {\n title: 'Value(VIC)',\n dataIndex: 'value',\n ellipsis: true,\n width: '120px',\n render: (value: number) => <>{formatNumber(toTomo(value, 18), 7)},\n },\n {\n title: 'Fee(VIC)',\n dataIndex: 'fee',\n ellipsis: true,\n width: '100px',\n render: (fee: number) => <>{formatNumber(toTomo(fee, 18), 7)},\n },\n]\n\nexport const blockColumns = [\n {\n title: 'Block Height',\n key: 'number',\n dataIndex: 'number',\n render: (blockNumber: number) => #{blockNumber}\n },\n {\n title: 'Time',\n key: 'time',\n dataIndex: 'timestamp',\n render: (timestamp: any) => <>{timeFormatDistance(timestamp)}\n },\n {\n title: 'Transactions',\n key: 'transactions',\n dataIndex: 'transactions',\n render: (transactions: number) => <>{formatNumber(transactions)}\n },\n {\n title: 'Creator',\n key: 'm1Name',\n dataIndex: 'm1Name',\n render: (m1Name: string, record: any) => \n },\n {\n title: 'Gas Used ',\n key: 'gasUsed',\n dataIndex: 'gasUsed',\n render: (gasUsed: number) => <>{formatNumber(gasUsed)}\n },\n {\n title: 'Fee (VIC)',\n key: 'totalFee',\n dataIndex: 'totalFee',\n render: (totalFee: number) => <>{formatNumber(toTomo(totalFee, 18))}\n },\n {\n title: 'Finality (%)',\n key: 'finality',\n dataIndex: 'finality',\n },\n]\n\nexport const epochColumns = [\n {\n title: 'Epoch',\n key: 'epoch',\n dataIndex: 'epoch',\n width: '14%',\n render: (epoch: string) => {epoch}\n },\n {\n title: 'Start block',\n key: 'startBlock',\n dataIndex: 'startBlock',\n width: '16%',\n render: (startBlock: string) => {startBlock}\n },\n {\n title: 'End block',\n key: 'endBlock',\n dataIndex: 'endBlock',\n width: '16%',\n render: (endBlock: string) => {endBlock}\n },\n {\n title: 'Duration (s)',\n key: 'duration',\n dataIndex: 'duration',\n width: '14%',\n render: (duration: number) => <>{formatNumber(duration)}\n },\n {\n title: 'Masternode',\n key: 'masternode',\n dataIndex: 'masternode',\n width: '14%',\n render: (masternode: any) => <>{masternode.length}\n },\n {\n title: 'Voter',\n key: 'voter',\n dataIndex: 'voterNumber',\n width: '12%',\n render: (voterNumber: number) => <>{formatNumber(voterNumber)}\n },\n {\n title: 'Slashed Node',\n key: 'slashednode',\n dataIndex: 'slashednode',\n width: '12%',\n render: (slashednode: any) => <>{slashednode.length}\n },\n]\n\nexport const epochRewardColumns = [\n {\n title: 'Address',\n key: 'address',\n dataIndex: 'address',\n width: 280,\n render: (address: string) => \n },\n {\n title: 'Masternode',\n key: 'validator',\n dataIndex: 'validator',\n width: 280,\n render: (validator: string) => \n },\n {\n title: 'Masternode Name',\n key: 'validatorName',\n dataIndex: 'validatorName',\n ellipsis: true,\n },\n {\n title: 'Signing number',\n key: 'signNumber',\n dataIndex: 'signNumber',\n },\n {\n title: 'Reward',\n key: 'reward',\n dataIndex: 'reward',\n render: (reward: number) => <>{formatNumber(toTomo(reward, 18))}\n },\n {\n title: 'Age',\n key: 'age',\n dataIndex: 'age'\n },\n]\n\nexport const tokenColumns = [\n {\n title: 'No',\n dataIndex: 'rank',\n width: '60px',\n render: (rank: number) => <>{rank}\n },\n {\n title: 'Token',\n dataIndex: 'address',\n render: (token: string, record: any) =>\n
\n \n {(record.name && record.symbol) && <>}\n {(!record.name || !record.symbol) && }\n\n {/* */}\n
\n },\n {\n title: 'Type',\n dataIndex: 'type',\n render: (type: TokenType) => \n },\n {\n title: 'Status',\n dataIndex: 'status',\n render: (token: string, record: any) =>{\n if(!record?.projectVerified && !record?.contractVerified ) return\n return (\n
\n \n
\n )\n }\n },\n {\n title: 'Price (USD)',\n dataIndex: 'price',\n render: (price: number) => <>{!!price && `$${formatNumber(price)}`}\n },\n {\n title: 'Change (%)',\n dataIndex: 'priceChangePercentage',\n render: (changePercentage: number) => {\n\n return (\n <>\n {(changePercentage > 0) && {`${formatNumber(Math.abs(changePercentage), 2)}%`}}\n {(changePercentage < 0) && {`${formatNumber(Math.abs(changePercentage), 2)}%`}}\n {(changePercentage === 0) && {`${formatNumber(Math.abs(changePercentage), 2)}%`}}\n \n )\n\n }\n },\n {\n title: 'Volume 24h (USD)',\n dataIndex: 'volume',\n render: (volume: number) => <>{!!volume && `$${formatNumber(volume, 2)}`}\n },\n {\n title: 'Marketcap (USD)',\n dataIndex: 'marketcap',\n render: (marketcap: number) => <>{!!marketcap && `$${formatNumber(marketcap, 2)}`}\n },\n {\n title: 'Holders',\n dataIndex: 'holder',\n render: (holder: number) => <>{formatNumber(holder)}\n },\n]\n\nexport const token721Columns = [\n {\n title: 'No',\n dataIndex: 'rank',\n width: '60px',\n render: (rank: number) => <>{rank}\n },\n {\n title: 'Token',\n dataIndex: 'address',\n width: '320px',\n render: (token: string, record: any) =>\n
\n \n {(record.name && record.symbol) && }\n {(!record.name || !record.symbol) && }\n
\n },\n {\n title: 'Type',\n dataIndex: 'type',\n render: (type: TokenType) => \n },\n {\n title: 'Status',\n dataIndex: 'status',\n render: (token: string, record: any) =>{\n if(!record?.projectVerified && !record?.contractVerified) return\n return (\n
\n \n
\n )\n }\n },\n\n {\n title: 'Total Transfer',\n dataIndex: 'transferCount',\n render: (transferCount: number) => <>{formatNumber(transferCount)}\n },\n {\n title: 'Transfer (24h)',\n dataIndex: 'transferCountShortTerm',\n render: (transferCount: number) => <>{formatNumber(transferCount)}\n },\n {\n title: 'Holders',\n dataIndex: 'holder',\n render: (holder: number) => <>{formatNumber(holder)}\n },\n {\n title: 'Total Supply',\n dataIndex: 'totalSupplyNumber',\n render: (totalSupplyNumber: number) => <>{formatNumber(totalSupplyNumber)}\n },\n]\n\nexport const tokenHolderColumns = [\n {\n title: 'Rank',\n dataIndex: 'rank',\n width: 80,\n },\n {\n title: 'Address',\n dataIndex: 'address',\n ellipsis: true,\n width: 400,\n render: (address: string, record: any) =>\n \n {record.isContract && }\n {/* */}\n \n {record.accountName ?\n \n {record.accountName}\n \n :\n {address}\n }\n \n {/* */}\n \n },\n {\n title: 'Quantity',\n dataIndex: 'quantityNumber',\n ellipsis: true,\n width: 200,\n render: (quantity: number) => <>{formatNumber(quantity)}\n },\n {\n title: 'Value (USD)',\n dataIndex: 'valueUsd',\n ellipsis: true,\n width: 150,\n render: (valueUsd: number) => <>{formatNumber(valueUsd, 2)}\n },\n {\n title: 'Percentage',\n dataIndex: 'percentage',\n ellipsis: true,\n width: 130,\n render: (percentage: number) => <>{percentage && `${formatNumber(percentage, 4)}%`}\n },\n]\n\nexport const token721InventoryColumns = [\n {\n title: 'ID',\n dataIndex: 'tokenId',\n width: 80,\n render: (id: string, record: any) =>\n \n {record.tokenIdString ?? record.tokenId}\n \n },\n {\n title: 'Owner',\n dataIndex: 'address',\n render: (address: string, record: any) =>\n \n {address}\n \n },\n]\n\nexport const tokenTransferColumns = [\n {\n title: 'Transaction ID',\n key: 'hash',\n dataIndex: 'transactionHash',\n render: (hash: string) => \n },\n {\n title: 'Block',\n key: 'block',\n dataIndex: 'blockNumber',\n width: 110,\n render: (block: string) => #{block}\n },\n {\n title: 'Time',\n key: 'timestamp',\n dataIndex: 'timestamp',\n ellipsis: true,\n width: 140,\n render: (time: number) => <>{timeFormatDistance(time)}\n },\n {\n title: 'From',\n key: 'from',\n dataIndex: 'from',\n render: (from: string, record: any) =>{\n const query = new URLSearchParams(window.location.search)\n const getAccount = query.get('account')?.trim() || ''\n return(\n \n {record.fromContract && }\n \n {/* */}\n {getAccount.toLowerCase() === from.toLowerCase() ?\n {record.fromName ? record.fromName : from}\n :\n {record.fromName ? record.fromName : from}\n }\n \n \n )\n }\n },\n {\n title: 'To',\n key: 'to',\n dataIndex: 'to',\n render: (to: string, record: any) => {\n const query = new URLSearchParams(window.location.search)\n const getAccount = query.get('account')?.trim() || ''\n return (\n \n {record.toContract && }\n {/* */}\n \n {getAccount.toLowerCase() === to.toLowerCase() ?\n {record.toName ? record.toName : to}\n :\n {record.toName ? record.toName : to}\n }\n \n \n )\n }\n },\n {\n title: 'Quantity',\n key: 'quantity',\n dataIndex: 'valueNumber',\n ellipsis: true,\n width: 100,\n render: (value: number) => <>{formatNumber(value)}\n },\n]\n\nexport const tokenTransferVrc721Columns = [\n {\n title: 'Transaction ID',\n key: 'hash',\n dataIndex: 'transactionHash',\n render: (hash: string) => \n },\n\n {\n title: 'Block',\n key: 'block',\n dataIndex: 'blockNumber',\n width: '120px',\n render: (block: string) => #{block}\n },\n {\n title: 'Time',\n key: 'timestamp',\n dataIndex: 'timestamp',\n ellipsis: true,\n width: '130px',\n render: (time: number) => <>{timeFormatDistance(time)}\n },\n {\n title: 'From',\n key: 'from',\n dataIndex: 'from',\n render: (from: string, record: any) =>{\n const query = new URLSearchParams(window.location.search)\n const getAccount = query.get('account')?.trim() || ''\n return(\n \n {record.fromContract && }\n \n {getAccount.toLowerCase() === from.toLowerCase() ?\n {record.fromName ? record.fromName : from}\n :\n {record.fromName ? record.fromName : from}\n }\n \n \n )\n }\n },\n {\n title: 'To',\n key: 'to',\n dataIndex: 'to',\n render: (to: string, record: any) => {\n const query = new URLSearchParams(window.location.search)\n const getAccount = query.get('account')?.trim() || ''\n return(\n \n {record.toContract && }\n \n {getAccount.toLowerCase() === to.toLowerCase() ?\n {record.toName ? record.toName : to}\n :\n {record.toName ? record.toName : to}\n }\n \n \n )\n }\n },\n {\n title: 'Token ID',\n key: 'tokenId',\n dataIndex: 'tokenId',\n ellipsis: true,\n width: '100px',\n render: (id: string, record: any) =>\n {id}\n },\n]\n\nexport const masternodeColumns = [\n {\n title: 'Rank',\n dataIndex: 'rank',\n width: 80,\n },\n {\n title: 'Address',\n dataIndex: 'address',\n ellipsis: true,\n render: (address: string) =>\n \n {address.toLowerCase()}\n \n },\n {\n title: 'Name',\n dataIndex: 'name',\n },\n {\n title: 'Status',\n dataIndex: 'status',\n render: (status: string) => {status}\n },\n {\n title: 'Capacity',\n dataIndex: 'capacity',\n render: (capacity: number) => <>{formatNumber(toTomo(capacity, 18), 2)}\n },\n {\n title: 'Owner',\n dataIndex: 'owner',\n ellipsis: true,\n render: (owner: string) =>\n \n {owner.toLowerCase()}\n \n },\n {\n title: 'Latest signed block',\n dataIndex: 'latestSignedBlock',\n render: (block: number) =>\n {block}\n },\n]\n\nexport const slashedColumns = [\n {\n title: 'Address',\n dataIndex: 'address',\n render: (address: string) => {address.toLowerCase()}\n },\n {\n title: 'Name',\n dataIndex: 'name',\n },\n]\n\nexport const accountColumns = [\n {\n title: 'Rank',\n dataIndex: 'rank',\n ellipsis: true,\n width: '80px',\n },\n {\n title: 'Address',\n dataIndex: 'address',\n width: '250px',\n render: (address: string, record: any) => (\n \n {record.isContract && }\n \n {truncateBetween(address.toLowerCase(), 12)}\n \n \n )\n },\n {\n title: 'Public tag',\n dataIndex: 'accountName',\n render: (accountName: any, record: any) => <>{accountName && {accountName}}\n },\n {\n title: 'Balance (VIC)',\n dataIndex: 'balanceNumber',\n render: (balanceNumber: number) => <>{formatNumber(balanceNumber)}\n },\n {\n title: 'Percentage',\n dataIndex: 'percentage',\n render: (percentage: any) => <>{percentage && `${formatNumber(percentage)}%`}\n },\n {\n title: 'Txn Count',\n dataIndex: 'txCount',\n width: '120px',\n render: (txCount: number) => <>{formatNumber(txCount)}\n },\n]\n// tab Total Balance - Account Detail\nexport const columnsBalance = [\n {\n title: 'Token',\n key: 'token',\n dataIndex: 'token',\n ellipsis: true,\n render: (token: string, record: any) =>\n {record.tokenName}\n },\n {\n title: 'Symbol',\n key: 'tokenSymbol',\n dataIndex: 'tokenSymbol',\n ellipsis: true,\n render: (tokenSymbol: string) => <>{tokenSymbol}\n },\n {\n title: 'Type',\n key: 'tokenType',\n dataIndex: 'tokenType',\n ellipsis: true,\n render: (tokenType: TokenType) => \n },\n {\n title: 'Amount',\n key: 'amount',\n dataIndex: 'quantityNumber',\n ellipsis: true,\n render: (amount: number) => <>{formatNumber(amount, 6)}\n },\n {\n title: 'Price (USD)',\n key: 'price',\n dataIndex: 'priceUsd',\n ellipsis: true,\n },\n {\n title: 'Percentage (%)',\n key: 'percentage',\n dataIndex: 'percentage',\n },\n {\n title: 'Value (USD)',\n key: 'value',\n dataIndex: 'valueUsd',\n ellipsis: true,\n render: (valueUsd: number) => <>{formatNumber(valueUsd, 6)}\n },\n];\n// Tab Transactions - Account Detail\nexport const columnsTransactions = [\n {\n title: 'Transaction ID',\n key: 'hash',\n dataIndex: 'hash',\n width: '200px',\n render: (hash: string, record: any) =>\n \n
\n {record.status && record.status === 'fail' &&\n \n }\n  \n {hash.toLowerCase()}\n
\n
\n },\n {\n title: 'Method',\n key: 'method',\n dataIndex: 'method',\n ellipsis: true,\n width: '120px',\n render: (method: string) =>
{method}
\n },\n {\n title: 'Block',\n key: 'blockNumber',\n dataIndex: 'blockNumber',\n ellipsis: true,\n width: '110px',\n render: (blockNumber: string) =>\n #{blockNumber}\n },\n {\n title: 'Time',\n key: 'timestamp',\n dataIndex: 'timestamp',\n ellipsis: true,\n width: '120px',\n render: (timestamp: number) => <>{timeFormatDistance(timestamp)}\n },\n {\n title: 'From',\n key: 'from',\n dataIndex: 'from',\n render: (from: string, record: any) =>\n \n {record.fromContract && }\n \n \n },\n // {\n // title: '',\n // key: 'transactionTag',\n // dataIndex: 'transactionTag',\n // width: '100px',\n // align: 'center',\n // render: (transactionTag: TagStatusType) => {transactionTag || 'Unknow'},\n // },\n {\n title: 'To',\n key: 'to',\n dataIndex: 'to',\n width: '160px',\n render: (to: string, record: any) =>\n \n {record.toContract && }\n \n \n },\n {\n title: 'Value (VIC)',\n key: 'value',\n dataIndex: 'value',\n ellipsis: true,\n width: '110px',\n render: (fee: number) => <>{formatNumber(toTomo(fee, 18))}\n },\n {\n title: 'Fee (VIC)',\n key: 'fee',\n dataIndex: 'fee',\n ellipsis: true,\n width: '100px',\n render: (fee: number) => <>{formatNumber(toTomo(fee, 18))}\n }\n];\n// tab Txns - Account Detail\nexport const columnsTxns = [\n {\n title: 'Transaction ID',\n key: 'hash',\n dataIndex: 'hash',\n ellipsis: true,\n render: (hash: string) =>\n {hash}\n },\n {\n title: 'Block',\n key: 'blockNumber',\n dataIndex: 'blockNumber',\n ellipsis: true,\n render: (blockNumber: string) =>\n #{blockNumber}\n },\n {\n title: 'Time',\n key: 'timestamp',\n dataIndex: 'timestamp',\n ellipsis: true,\n render: (timestamp: number) => <>{timeFormatDistance(timestamp)}\n },\n {\n title: 'From',\n key: 'from',\n dataIndex: 'from',\n render: (from: string, record: any) =>\n \n {record.fromContract && }\n \n \n },\n {\n title: '',\n key: 'arrowIcon',\n dataIndex: 'arrowIcon',\n width: '70px',\n render: (arrowIcon: any) =>\n \n },\n {\n title: 'To',\n key: 'to',\n dataIndex: 'to',\n render: (to: string, record: any) =>\n \n {record.toContract && }\n \n \n },\n {\n title: 'Value (VIC)',\n key: 'value',\n dataIndex: 'value',\n ellipsis: true,\n render: (value: number) => <>{formatNumber(toTomo(value, 18), 2)}\n }\n]\n\n// tab Reward - Account Detail\nexport const columnsRewards = [\n {\n title: 'Epoch',\n key: 'epoch',\n dataIndex: 'epoch',\n render: (ep: string) =>\n {ep}\n },\n {\n title: 'Masternode',\n key: 'validator',\n dataIndex: 'validator',\n ellipsis: true,\n render: (validator: string) =>\n {validator}\n },\n {\n title: 'Masternode Name',\n key: 'validatorName',\n dataIndex: 'validatorName',\n },\n {\n title: 'Sign Number',\n key: 'signNumber',\n dataIndex: 'signNumber',\n },\n {\n title: 'Reward (VIC)',\n key: 'reward',\n dataIndex: 'reward',\n render: (value: number) => <>{formatNumber(toTomo(value, 18), 8)}\n },\n {\n title: 'Reason',\n key: 'reason',\n dataIndex: 'reason',\n },\n {\n title: 'Time',\n key: 'timestamp',\n dataIndex: 'timestamp',\n render: (timestamp: number) => <>{timeFormatDistance(timestamp)}\n },\n]\n\n// vrc token txns - Account/Contract detail pages\nexport const accountVrcTokenTxnsColumns = [\n {\n title: 'Transaction ID',\n key: 'hash',\n dataIndex: 'transactionHash',\n render: (hash: string) => ,\n width: 150,\n },\n {\n title: 'Time',\n key: 'timestamp',\n dataIndex: 'timestamp',\n ellipsis: true,\n width: 140,\n render: (time: number) => <>{timeFormatDistance(time)}\n },\n {\n title: 'From',\n key: 'from',\n dataIndex: 'from',\n width: 150,\n render: (from: string, record: any) =>\n \n {record.fromContract && }\n {record.thisAccount === from ? (\n This account\n ) : (\n \n )}\n \n },\n {\n title: 'To',\n key: 'to',\n dataIndex: 'to',\n render: (to: string, record: any) => {\n return (\n \n {record.toContract && }\n {record.thisAccount === to ? (\n This account\n ) : (\n \n )}\n \n )\n },\n width: 150,\n },\n {\n title: 'Quantity',\n key: 'quantity',\n dataIndex: 'valueNumber',\n ellipsis: true,\n width: 100,\n render: (value: number) => <>{formatNumber(value)}\n },\n {\n title: 'Token',\n key: 'token',\n dataIndex: 'tokenSymbol',\n width: 150,\n render: (symbol: string, record: any) => {\n return (\n
\n \n \n {record.tokenSymbol && <>{record.tokenName} ({record.tokenSymbol})}\n {!record.tokenSymbol && <>{record.address}}\n \n
\n )\n }\n },\n]\n\nexport const contractColumns = [\n {\n title: '#',\n key: 'rank',\n dataIndex: 'rank',\n ellipsis: true,\n width: '70px',\n },\n {\n title: 'Address',\n key: 'address',\n dataIndex: 'address',\n render: (address: string) =>\n \n {truncateBetween(address.toLowerCase())}\n \n },\n {\n title: 'Contract Name',\n key: 'contractName',\n dataIndex: 'contractName',\n render: (name: string, record: any) => <>{!!name && }\n },\n {\n title: 'Public tag',\n key: 'accountName',\n dataIndex: 'accountName',\n render: (name: string, record: any) => <>{!!name && }\n },\n {\n title: 'Balance (VIC)',\n key: 'balance',\n dataIndex: 'balanceNumber',\n render: (balance: number) => <>{formatNumber(balance)}\n },\n {\n title: 'Txn Count',\n key: 'txCount',\n dataIndex: 'txCount',\n render: (txCount: number) => <>{formatNumber(txCount)}\n },\n {\n title: 'Date Verified',\n key: 'timestamp',\n dataIndex: 'timestamp',\n ellipsis: true,\n render: (timestamp: number) => <>{timeFormatDistance(timestamp)}\n },\n {\n title: 'Compiler',\n key: 'compiler',\n dataIndex: 'compiler',\n ellipsis: true,\n render: (compiler: string) =>\n {compiler}\n },\n]","import { createSlice, PayloadAction, createAsyncThunk } from '@reduxjs/toolkit'\nimport BigNumber from 'bignumber.js'\nimport { persistReducer } from 'redux-persist'\nimport storage from 'redux-persist/lib/storage'\n\nimport { StatsType, LoadingType } from '../../constants/types'\nimport { fetchStats } from '../../api'\n\ninterface GeneralState {\n mode: string\n requestLimit: boolean\n stats: {\n loading: LoadingType\n data: null | StatsType\n }\n}\n\nconst initialState = { \n mode: 'light', \n stats: {\n loading: 'idle',\n data: null,\n },\n requestLimit: false,\n} as GeneralState\n\n// Create thunk\nexport const getStats = createAsyncThunk(\n 'general/getStats',\n async (params, thunkAPI) => {\n try {\n const response = await fetchStats()\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error)\n }\n }\n)\n\nconst generalSlice = createSlice({\n name: 'general',\n initialState,\n reducers: {\n // theme\n changeMode(state, action: PayloadAction) {\n state.mode = action.payload\n },\n requestLimit(state, action: PayloadAction) {\n state.requestLimit = action.payload\n },\n\n // reset stats\n resetStats(state) {\n state.stats.loading = 'idle'\n state.stats.data = null\n }\n },\n extraReducers: (builder) => {\n // stats\n builder.addCase(getStats.pending, (state, action) => {\n state.stats.loading = 'pending'\n })\n builder.addCase(getStats.fulfilled, (state, action) => {\n state.stats.loading = 'succeeded'\n const marketCap = new BigNumber(action.payload.price).multipliedBy(action.payload.circulatingSupply).toNumber()\n state.stats.data = { ...action.payload, marketCap }\n })\n builder.addCase(getStats.rejected, (state, action) => {\n state.stats.loading = 'failed'\n state.stats.data = null\n })\n }\n})\n\nexport const { changeMode,requestLimit, resetStats } = generalSlice.actions\n\nconst persistConfig = {\n key: 'general',\n storage,\n whitelist: ['mode'],\n}\nexport default persistReducer(persistConfig, generalSlice.reducer)","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\n\nimport { BlocksState } from '../../constants/types'\nimport { requestLimit } from '../../features/general/generalSlice'\nimport { fetchBlockDetailsByNumberOrHash, fetchTxListByBlock, fetchBlockList } from '../../api'\n\n// Create thunk\nexport const getBlockDetailsByNumberOrHash = createAsyncThunk(\n 'blocks/getBlockDetailsByNumberOrHash',\n async (blockNumberOrHash: string, thunkAPI) => {\n try {\n const response = await fetchBlockDetailsByNumberOrHash(blockNumberOrHash)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getTxListByBlock = createAsyncThunk(\n 'blocks/getTxListByBlock',\n async (params: {blockNumber: string, offset: number, limit: number}, thunkAPI) => {\n try {\n const { blockNumber, offset, limit } = params\n const response = await fetchTxListByBlock(blockNumber, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getBlockList = createAsyncThunk(\n 'blocks/getBlockList',\n async (params: {author: string|undefined, offset: number, limit: number}, thunkAPI) => {\n try {\n const {author, offset, limit } = params\n\n const response = await fetchBlockList(author, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// Declare slice\nconst initialState = {\n list: { \n data: [],\n loading: 'idle',\n total: null,\n },\n details: {\n data: null,\n loading: 'idle',\n transactions: {\n data: [],\n total: null,\n loading: 'idle',\n }\n }\n} as BlocksState\n\nconst blocksSlice = createSlice({\n name: 'blocks',\n initialState,\n reducers: {\n // reset block list\n resetBlockList(state) {\n state.list.data = []\n state.list.loading = 'idle'\n state.list.total = null\n }\n },\n extraReducers: (builder) => {\n // block details\n builder.addCase(getBlockDetailsByNumberOrHash.pending, (state, action) => {\n state.details.loading = 'pending'\n state.details.data = null\n })\n builder.addCase(getBlockDetailsByNumberOrHash.fulfilled, (state, action) => {\n state.details.loading = 'succeeded'\n state.details.data = action.payload\n })\n builder.addCase(getBlockDetailsByNumberOrHash.rejected, (state, action) => {\n state.details.loading = 'failed'\n state.details.data = null\n })\n\n // block transaction list\n builder.addCase(getTxListByBlock.pending, (state, action) => {\n state.details.transactions.loading = 'pending'\n })\n builder.addCase(getTxListByBlock.fulfilled, (state, action) => {\n state.details.transactions.loading = 'succeeded'\n state.details.transactions.data = action.payload.data\n state.details.transactions.total = action.payload.total\n })\n builder.addCase(getTxListByBlock.rejected, (state, action) => {\n state.details.transactions.loading = 'failed'\n state.details.transactions.data = []\n state.details.transactions.total = null\n })\n\n // block list\n builder.addCase(getBlockList.pending, (state, action) => {\n state.list.loading = 'pending'\n })\n\n builder.addCase(getBlockList.fulfilled, (state, action) => {\n state.list.loading = 'succeeded'\n state.list.data = action.payload.data\n state.list.total = action.payload.total\n })\n\n builder.addCase(getBlockList.rejected, (state, action) => {\n state.list.loading = 'failed'\n state.list.data = []\n state.list.total = null\n })\n },\n})\n\nexport const { resetBlockList } = blocksSlice.actions\nexport default blocksSlice.reducer\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\n\nimport { TxActionType, TransactionsState } from '../../constants/types'\nimport { fetchTxDetailsByHash, fetchTxInternal, fetchTxList } from '../../api'\nimport { requestLimit } from '../../features/general/generalSlice'\n\n// Create thunk\nexport const getTxDetailsByHash = createAsyncThunk(\n 'transactions/getTxDetailsByHash',\n async (hash: string, thunkAPI) => {\n try {\n const response = await fetchTxDetailsByHash(hash)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n } \n return thunkAPI.rejectWithValue(error.response.status)\n }\n }\n)\n\nexport const getTxList = createAsyncThunk(\n 'transactions/getTxList',\n async (params: { offset: number, limit: number }, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchTxList(offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n } \n return thunkAPI.rejectWithValue(error.response.status)\n }\n }\n)\n\nexport const getInternalTx = createAsyncThunk(\n 'transactions/getInternalTx',\n async (params: { hash: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { hash, offset, limit } = params\n const response = await fetchTxInternal(hash, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.status)\n }\n }\n)\n\n// Declare slice\nconst initialState = {\n list: {\n data: [],\n loading: 'idle',\n total: null,\n },\n details: {\n data: null,\n internalTx: {\n loading: 'idle',\n data: [],\n total: 0,\n },\n loading: 'idle',\n }\n} as TransactionsState\n\nconst transactionsSlice = createSlice({\n name: 'transactions',\n initialState,\n reducers: {\n // reset transaction list\n resetTxList(state) {\n state.list.data = []\n state.list.loading = 'idle'\n state.list.total = null\n }\n },\n extraReducers: (builder) => {\n // transaction details\n builder.addCase(getTxDetailsByHash.pending, (state, action) => {\n state.details.loading = 'pending'\n state.details.data = null\n })\n\n builder.addCase(getTxDetailsByHash.fulfilled, (state, action) => {\n state.details.loading = 'succeeded'\n\n const actions = action.payload.actions.reduce((acc: any, curr: TxActionType) => {\n if (!acc[curr.type]) {\n acc[curr.type] = [curr]\n } else {\n acc[curr.type] = [...acc[curr.type], curr]\n }\n\n return acc\n }, {})\n\n state.details.data = { ...action.payload, actions }\n if (state.details.data && action.payload.status) state.details.data.status = action.payload.status.toLowerCase()\n })\n\n builder.addCase(getTxDetailsByHash.rejected, (state, action) => {\n state.details.loading = 'failed'\n state.details.data = null\n })\n\n // transaction list\n builder.addCase(getTxList.pending, (state, action) => {\n state.list.loading = 'pending'\n })\n\n builder.addCase(getTxList.fulfilled, (state, action) => {\n state.list.loading = 'succeeded'\n state.list.data = action.payload.data\n state.list.total = action.payload.total\n })\n\n builder.addCase(getTxList.rejected, (state, action) => {\n state.list.loading = 'failed'\n state.list.data = []\n state.list.total = null\n })\n\n // transaction InternalTx\n builder.addCase(getInternalTx.pending, (state, action) => {\n state.details.internalTx.loading = 'pending'\n })\n\n builder.addCase(getInternalTx.fulfilled, (state, action) => {\n state.details.internalTx.loading = 'succeeded'\n state.details.internalTx = action.payload\n })\n\n builder.addCase(getInternalTx.rejected, (state, action) => {\n state.details.internalTx.loading = 'failed'\n state.details.internalTx.data = []\n })\n },\n})\n\nexport const { resetTxList } = transactionsSlice.actions\nexport default transactionsSlice.reducer\n","import { useEffect } from 'react'\nimport { Link } from 'react-router-dom'\n// import { TwitterTimelineEmbed } from 'react-twitter-embed'\n\n// import icPrice from '../../assets/images/ic-price.svg';\n// import icEpochs from '../../assets/images/ic-epochs.svg';\n// import icBlocks from '../../assets/images/ic-blocks.svg';\n// import icTransactions from '../../assets/images/ic-transactions.svg';\n// import icMarketCap from '../../assets/images/ic-market-cap.svg';\n// import icAccount from '../../assets/images/ic-account.svg';\nimport icListBlock from '../../assets/images/ic-list-block.svg';\nimport icListTransactions from '../../assets/images/ic-list-transactions.svg';\n\nimport {\n Typography,\n Row,\n Col,\n} from 'antd';\n\nimport {\n SearchBoxWrapper,\n ContentHomePage,\n MainDetailToken,\n TitleBoxStart,\n InfoDetails,\n CardBoxTable,\n CardTableContent,\n TitleHeaderBox,\n TitleSearch,\n ContentMainTop,\n ContentMainTable,\n InnerBox,\n\n} from './homePageStyles'\n\nimport { useAppSelector, useAppDispatch } from '../../app/hooks'\nimport { formatNumber, timeFormatDistance, toTomo } from '../../utils'\nimport { BlockDetailsType, TxDetailsType } from '../../constants/types'\nimport { SearchBox, DataTableLoading } from '../../common'\nimport { getStats, resetStats } from './generalSlice'\nimport { getBlockList, resetBlockList } from '../blocks/blocksSlice'\nimport { getTxList, resetTxList } from '../transactions/transactionsSlice'\n\nconst { Text } = Typography\n\nexport default function HomePage() {\n const dispatch = useAppDispatch()\n const stats = useAppSelector((state) => state.general.stats)\n const blocks = useAppSelector((state) => state.blocks.list)\n const txs = useAppSelector((state) => state.transactions.list)\n // const mode = useAppSelector((state) => state.general.mode)\n\n const getData = () => {\n dispatch(getStats())\n dispatch(getBlockList({author: undefined, offset: 0, limit: 10 }))\n dispatch(getTxList({ offset: 0, limit: 10 }))\n }\n\n useEffect(() => {\n getData()\n\n const timerInterval = setInterval(() => {\n getData()\n }, 7000)\n\n // reset state\n return () => {\n clearInterval(timerInterval)\n dispatch(resetStats())\n dispatch(resetBlockList())\n dispatch(resetTxList())\n }\n }, [])\n\n return (\n <>\n \n \n \n \n \n \n
\n Viction - Blockchain Explorer\n \n
\n
\n\n \n \n \n \n {/*
\n \"\"\n
*/}\n
\n VIC Price\n ${formatNumber(stats.data?.price)}\n
\n
\n \n\n \n \n {/*
\n \"\"\n
*/}\n
\n Epochs\n {formatNumber(stats.data?.epoch)} ({formatNumber(stats.data?.tps)} TPS)\n
\n
\n \n\n \n \n {/*
\n \"\"\n
*/}\n
\n Blocks\n {formatNumber(stats.data?.block)}\n
\n
\n \n\n \n \n {/*
\n \"\"\n
*/}\n
\n VIC Market cap\n ${formatNumber(stats.data?.marketCap, 2)}\n
\n
\n \n\n \n \n {/*
\n \"\"\n
*/}\n
\n Transactions\n {formatNumber(stats.data?.txs)}\n
\n
\n \n\n \n \n {/*
\n \"\"\n
*/}\n
\n Accounts\n {formatNumber(stats.data?.accounts)}\n
\n
\n \n
\n
\n
\n \n {/* \n \n News\n \n \n */}\n
\n
\n\n \n \n \n \n Latest Blocks\n \n {(blocks.loading === 'pending') && (blocks.data.length === 0) &&\n
\n \n
\n }\n {(blocks.data.length > 0) &&\n blocks.data.map((block: BlockDetailsType) => {\n return (\n
\n \n \n
\n
\"\"
\n
\n {block.number}\n {timeFormatDistance(block.timestamp)}\n
\n
\n \n\n \n {block.m1Name}\n {block.m1}\n \n\n \n {block.transactions} txns\n in 2 secs\n \n
\n
\n )\n })\n }\n
\n
View all Blocks
\n
\n \n\n \n \n Latest Transactions\n \n {(txs.loading === 'pending') && (txs.data.length === 0) &&\n
\n \n
\n }\n {(txs.data.length > 0) &&\n // @ts-ignore\n txs.data.map((tx: TxDetailsType) => {\n return (\n
\n \n \n
\n
\"\"
\n
\n {tx.hash}\n {timeFormatDistance(tx.timestamp)}\n
\n
\n \n\n \n From {tx.fromName || tx.from}\n To {tx.toName || tx.to}\n \n\n \n Value\n {formatNumber(toTomo(tx.value, 18))} VIC\n \n
\n
\n )\n })\n }\n
\n
View all Transactions
\n
\n \n \n {/* \n \n News\n \n \n */}\n
\n
\n
\n \n )\n}\n","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { PageHeader, Datatable, DataTableTotal, txColumns } from '../../common'\nimport { getTxList, resetTxList } from './transactionsSlice'\n\nexport default function TransactionList() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['transactions']['list'])\n\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetTxList())\n }\n }, [])\n return (\n
\n \n\n }\n getData={getTxList}\n />\n
\n )\n}","export default __webpack_public_path__ + \"static/media/icon-copy.47fb4840.svg\";","import { Tag, Button, Typography } from \"antd\"\nimport styled from \"styled-components\"\nconst {Text} = Typography\nexport const MainDetailsTransfer = styled.div`\n .ant-tabs-content .content-table{\n padding: 0;\n }\n @media(max-width: 767px){\n .ant-row{\n margin-bottom: 15px;\n } \n }\n`\n\nexport const TxtColStyle = styled.div`\n margin: 10px 0;\n word-break: break-all;\n &.col-txt-left {\n color: ${({ theme }) => theme.textOverlay};\n }\n &.col-txt-right {\n color: ${({ theme }) => theme.text};\n .ant-typography{\n color: ${({ theme }) => theme.text};\n }\n }\n &.bg-box {\n background-color: ${({ theme }) => theme.bg4};\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n .style-table-bordered {\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n }\n }\n .btn-switch-decode {\n color: ${({ theme }) => theme.primary};\n background: transparent;\n box-shadow: 0 0 0;\n border: 0;\n padding: 0;\n height: auto;\n }\n .anticon {\n transition: all .2s;\n }\n @media(max-width: 767px){\n margin: 0;\n }\n .box-hex-dex {\n .items-topics {\n margin-bottom: 7px;\n &:last-child {\n margin-bottom: 0px;\n }\n }\n }\n`\n\nexport const ValueRow = styled.div`\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 5px;\n &:last-child {\n margin-bottom: 0px;\n }\n`\n\nexport const BoxItemLog = styled.div`\n margin-bottom: 25px;\n padding-bottom: 25px;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n`\nexport const DataType = styled.div`\n margin-bottom: 15px;\n`\nexport const ButtonType = styled.button`\n background-color: ${({ theme }) => theme.border};\n border: none;\n padding: 5px 10px;\n height: 20px;\n line-height: 10px;\n cursor: pointer;\n &.active{\n background-color: ${({ theme }) => theme.primary};\n color: #fff;\n }\n`\nexport const TextInfoTable = styled.div`\n color: ${({ theme }) => theme.text};\n margin-top: 5px;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 5px;\n @media(max-width: 767px){\n margin-bottom: 0;\n }\n`\nexport const Status = styled(Tag) <{ status: string }>`\nbackground: ${({ theme, status }) => status === 'success' ? theme.bgsuccess : status === 'fail' ? theme.bgfail : theme.bgpending};\ncolor: ${({ theme, status }) => theme[status]};\nborder: 0;\nborder-radius: 12px;\npadding: 3px 15px;\nmargin: 0;\nmin-height: 24px;\n`\nexport const TextOverlay = styled.span`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const LoadMoreBtn = styled(Button)`\n color: #fff;\n font-weight: bold;\n background-color: ${({ theme }) => theme.primary};\n border-radius: 8px;\n border: none;\n\n &:hover,\n &: focus {\n color: #fff;\n background-color: ${({ theme }) => theme.primaryHover};\n }\n`\nexport const StyleCopyIcon = styled.span`\n cursor: pointer;\n border-radius: 0;\n border: 0;\n width: 20px;\n height: 20px;\n color: ${({ theme }) => theme.textOverlay};\n margin-left: 10px;\n`\nexport const TimeStyle = styled(Text)`\n @media(max-width: 480px){\n display: block;\n }\n`","import React, { useState, useEffect } from 'react'\nimport { Link } from 'react-router-dom';\nimport { Typography, Row, Col } from 'antd';\n\nimport { TxDetailsLogType } from '../../constants/types';\nimport { TxtColStyle, BoxItemLog, ButtonType, DataType, LoadMoreBtn } from './transactionDetailsPageStyles';\n\nconst { Paragraph } = Typography;\nconst LIMIT = 5\n\ninterface TransactionDetailLogsProps {\n data: TxDetailsLogType[];\n}\n\nconst TopicRender = ({ log }: any) => {\n\n const [topicType, setTopicType] = useState('hex')\n\n const onClickType = (e: any) => {\n const value = e.target.value\n setTopicType(value)\n }\n return (\n \n {log.decodedTopics &&\n \n Hex\n Dec\n \n }\n
\n {log.decodedTopics && topicType === 'dec' ?\n log.decodedTopics.map((t: any, i: any) => (\n
\n {i + 1}. {t}\n
\n ))\n :\n log.topics.map((topic: any, topicIdx: number) => (\n
\n {topicIdx + 1}. {topic}\n
\n ))\n }\n
\n
\n )\n}\n\nconst DataRender = ({ log }: any) => {\n const [topicType, setTopicType] = useState('hex')\n\n const onClickType = (e: any) => {\n const value = e.target.value\n setTopicType(value)\n }\n let newParam: Array = []\n if (log.params && log.params.length > 0) {\n log.params.forEach((p: any) => {\n if (!p.indexed) {\n newParam.push(p.name)\n }\n })\n }\n return (\n \n {log.decodedData &&\n \n Hex\n Dec\n \n }\n {log.decodedData && topicType === 'dec' ?\n newParam.map((p: any, i: any) => (\n \n {p}: {log.decodedData[p]}\n \n ))\n :\n log.data\n }\n \n )\n}\nfunction TransactionDetailLogs({ data }: TransactionDetailLogsProps) {\n const [offset, setOffset] = useState(0)\n const [logs, setLogs] = useState>([])\n\n function onLoadMore() {\n setOffset(offset + LIMIT)\n }\n\n useEffect(() => {\n setLogs([...logs, ...data.slice(offset, offset + LIMIT)])\n }, [offset])\n\n return (\n <>\n {logs.map((log, logIdx) => {\n const getParams = log.params && log.params.reduce((acc: any, current: any, index: any, logArr: any) => {\n const indexed = current.indexed ? `index_topic ${current.type} ${current.name}` : ` ${current.type} ${current.name}`\n return index === logArr.length - 1 ? acc + ' ' + indexed : acc + ' ' + indexed + ','\n }, '')\n return (\n \n \n \n Address\n \n \n \n {log.address}\n \n \n \n {log.functionName &&\n \n \n Name\n \n \n \n {`${log.functionName} (${getParams})`}  \n View code\n \n \n \n }\n\n \n \n Topics\n \n \n {log.topics.length > 0 &&\n \n }\n \n \n\n \n \n Data\n \n \n {log.data.length > 0 && }\n \n \n \n );\n })}\n\n
\n {((data.length > LIMIT) && (logs.length < data.length)) && Load More}\n
\n \n );\n}\n\nexport default TransactionDetailLogs;\n","import { useCallback, useEffect, useState } from 'react'\nimport { Helmet } from 'react-helmet-async'\nimport { CopyToClipboard } from 'react-copy-to-clipboard'\nimport { useParams, Link, Redirect } from 'react-router-dom'\nimport BigNumber from 'bignumber.js'\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\n\nimport {\n Typography,\n Tabs,\n Space,\n Row,\n Col,\n Divider,\n Tooltip,\n Button,\n} from 'antd'\n\nimport {\n ClockCircleOutlined,\n BlockOutlined,\n InfoCircleOutlined,\n CaretRightOutlined,\n CloseCircleFilled,\n CheckCircleFilled,\n SwapRightOutlined\n} from '@ant-design/icons'\n\nimport TokenTomo from '../../assets/images/token-tomo.png'\n\nimport {\n MainDetailsTransfer,\n TxtColStyle,\n TextInfoTable,\n ValueRow,\n Status,\n TextOverlay,\n StyleCopyIcon,\n TimeStyle\n} from './transactionDetailsPageStyles'\n\nimport { TabStyle } from '../../appStyles'\n\nimport { getInternalTx, getTxDetailsByHash } from './transactionsSlice'\nimport { TxDetailsType, TxParamsType } from '../../constants/types'\nimport { toTomo, formatNumber, timeFormatUtc, timeFormatDistance } from '../../utils'\nimport { useAppSelector, useAppDispatch } from '../../app/hooks'\nimport { PageHeader, SkeletonLoading, Datatable, TagStyled, AddressLink, TabsWithHash } from '../../common'\nimport TransactionDetailLogs from './TransactionDetailsLogs'\nimport ContractIconTooltip from '../../common/ContractIconTooltip'\n\nconst { Text } = Typography\nconst { TabPane } = Tabs\n\nexport default function TransactionDetailsTransfer() {\n const [isCopied, setCopied] = useState(false)\n\n const dispatch = useAppDispatch()\n const { hash } = useParams()\n\n const getInternalTxData = useCallback(\n (params: any) => getInternalTx({ ...params, hash }),\n []\n )\n useEffect(() => {\n dispatch(getTxDetailsByHash(hash))\n }, [dispatch, hash])\n\n const { data, internalTx, loading }: { data: null | TxDetailsType, internalTx: any, loading: string } = useAppSelector((state) => state.transactions.details)\n\n if (loading === 'pending') return \n if (loading === 'failed') return \n if (!data) return null\n const valueInUsd = new BigNumber(data.value).times(data.TOMOPrice).toNumber()\n const toAddress : string = data.to ?? data.contractAddress\n const feePayer = data.isGasSponsored ? (data.to || data.contractAddress) : data.from\n return (\n \n {hash &&\n \n {`Transaction ${hash}`}\n \n }\n \n \n \n \n \n \n \n Transaction ID  \n \n \n \n \n \n \n \n {/* */}\n {data.hash}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n {/* */}\n \n \n \n\n \n \n \n Type  \n \n \n \n \n \n \n \n {data.type}\n \n \n \n\n \n \n \n Status  \n \n \n \n \n \n \n \n \n {data.status === 'fail' ?\n <>\n  \n {data.status} with error \"{data.failReason ? data.failReason : ''}\"\n \n : <> {data.status}}\n \n \n \n \n\n \n \n \n Timestamp\n \n \n \n \n \n \n \n {timeFormatUtc(data.timestamp)}\n \n {timeFormatDistance(data.timestamp)}\n \n \n \n\n \n \n \n Block\n \n \n \n \n \n \n \n #{data.blockNumber}\n \n {formatNumber(data.latestBlock - data.blockNumber)} block confirmations\n \n \n \n\n \n \n \n From\n \n \n \n \n \n \n \n \n {data.from}\n {data.fromName ? data && data.to && ({data.fromName}) : ''}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n \n\n \n \n \n To\n \n \n \n \n \n \n \n \n {data.to ?\n \n {data.toContract && }\n {data.to}\n {data.toName ? data && data.to && ({data.toName}) : ''}\n \n : data.contractAddress &&
[Contract {data.contractAddress} Created]
\n }\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \n \"icon\n {/* more detail swap */}\n \n {/* more detail swap */}\n \n \n \n
\n
\n {data?.internal && data.internal.length > 0 &&\n \n {data.internal.map((item: any, key: number) => {\n return (\n
\n \n TRANSFER \n {formatNumber(toTomo(item.value, 18), 7)} VIC \n From \n
\n \n {item.from}\n \n
\n To \n
\n \n {item.to}\n \n
\n
\n )\n })}\n
\n }\n \n
\n\n {/* more detail swap */}\n {(data.actions.swap && data.actions.swap.length > 0) &&\n \n \n \n Transaction Action\n \n \n \n \n \n \n \n {\n data.actions.swap.map((item, index) => {\n return (\n \n Swap  \n {formatNumber(\n toTomo(\n item.data && item.data.inPoolToken ? item.data.inPoolToken.amount : 0,\n item.data && item.data.inPoolToken ? item.data.inPoolToken.tokenDecimals : 18))} \n {item.data && item.data.inPoolToken ? item.data.inPoolToken.tokenSymbol : ''} \n For  \n {formatNumber(\n toTomo(\n item.data && item.data.outPoolToken ? item.data.outPoolToken.amount : 0,\n item.data && item.data.outPoolToken ? item.data.outPoolToken.tokenDecimals : 18\n ))} \n {item.data && item.data.outPoolToken ? item.data.outPoolToken.tokenSymbol : ''} \n On \n \n \n )\n })\n }\n \n \n \n }\n\n {data.actions.mint_add_liquidity &&\n \n \n Transaction Action\n \n \n \n {\n data.actions.mint_add_liquidity.map((item, index) => {\n return (\n \n Supply\n {formatNumber(toTomo(item.data.token0Amount, item.data.token0Decimals))}\n \n and\n {formatNumber(toTomo(item.data.token1Amount, item.data.token1Decimals))}\n \n to\n \n \n )\n })\n }\n \n \n \n }\n\n {data.actions.burn_remove_liquidity &&\n \n \n Transaction Action\n \n \n \n {\n data.actions.burn_remove_liquidity.map((item, index) => {\n return (\n \n Remove\n {formatNumber(toTomo(item.data.token0Amount, item.data.token0Decimals))}\n \n and\n {formatNumber(toTomo(item.data.token1Amount, item.data.token1Decimals))}\n \n from\n \n \n )\n })\n }\n \n \n \n }\n\n {(data.actions.transfer && data.actions.transfer.length > 0) &&\n \n \n Tokens transferred\n \n \n \n {\n data.actions.transfer.map((item, index) => {\n const tokenId = item.data?.tokenId || item.data?.tokenIdString\n const longTokenId = tokenId?.toString()?.length > 10\n const tokenIdText = longTokenId ? `${tokenId?.toString()?.slice(0, 4)}...${tokenId?.toString()?.slice(-4)}` : tokenId\n return (\n \n \n From \n
 \n To \n
 \n For {formatNumber(toTomo(item.data.amount, item.data.tokenDecimals))} \n {item.data && item.data.tokenSymbol ? item.data.tokenSymbol : ''} \n {tokenId && (Token ID[{tokenIdText}])}\n {longTokenId && (\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}>\n \"icon\n \n \n )}\n\n
\n )\n })\n }\n
\n \n
\n }\n {/* /more detail swap */}\n\n \n \n \n Value\n \n \n \n \n \n \n \n {formatNumber(toTomo(data.value, 18), 7)} \"VIC\"VIC (${formatNumber(toTomo(valueInUsd, 18), 2)})\n \n VIC price: ${formatNumber(data.TOMOPrice)}\n \n \n \n\n \n \n \n Fee\n \n \n \n \n \n \n \n {formatNumber(toTomo(data.fee, 18))} VIC\n \n \n \n\n {data.fee > 0 &&\n \n \n \n Fee Payer\n \n \n \n \n \n \n \n {feePayer}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n }\n\n \n \n \n Gas Price\n \n \n \n \n \n \n \n {formatNumber(toTomo(data.gasPrice, 9))} Gwei  \n ({formatNumber(toTomo(data.gasPrice, 18), 18)} VIC)\n \n \n \n\n \n \n \n Gas Limit & Usage\n \n \n \n \n \n \n \n {formatNumber(data.gas)} {formatNumber(data.gasUsed)}\n ({formatNumber(data.gasUsed * 100 /data.gas, 2)}%)\n \n \n \n\n \n \n \n Nonce\n \n \n \n \n Position\n \n \n \n \n \n \n \n {data.nonce} {data.transactionIndex}\n \n \n \n\n \n \n \n Input data\n \n \n \n \n \n \n \n \n \n\n
\n\n \n \n The contract call From\n
\n To\n
\n produced {internalTx.data.length} Internal Transaction\n
\n \n
\n\n {(data.logs.length > 0) &&\n \n \n \n }\n
\n
\n
\n )\n}\n\nexport function TxDetailsInputData({ data }: { data: null | TxDetailsType }) {\n const [isDecode, setIsDecode] = useState(false)\n\n function toggleDecode() {\n setIsDecode(!isDecode)\n }\n\n if (!data) return null\n\n if (data.encodedInput &&\n data.decodedInput &&\n (Object.keys(data.encodedInput).length > 0) &&\n (Object.keys(data.decodedInput).length > 0)\n ) {\n const params = data.decodedInput.params.map((item: any) => `${item.type} ${item.name}`)\n const inputDataSource = data.decodedInput.params.map((item: any, index: number) => {\n const inputData = data.decodedInput.data[item.name]\n\n return { ...item, index, data: inputData }\n })\n return (\n <>\n \n {!isDecode &&\n <>\n Function: {data.decodedInput.name}({params.join(', ')})\n MethodId: {data.encodedInput.methodId}\n {\n data.encodedInput.data.map((item, index) => {\n return (\n [{index}]: {item}\n )\n })\n }\n \n }\n\n {isDecode &&\n \n }\n \n\n \n \n \n \n )\n }\n\n return (\n \n

{data.input}

\n
\n )\n}\n\nconst columns = [\n // {\n // title: 'Type Trace Address',\n // key: 'trace',\n // dataIndex: 'trace',\n // ellipsis: true,\n // width: 200,\n // },\n {\n title: 'From',\n key: 'from',\n dataIndex: 'from',\n ellipsis: true,\n render: (from: string) =>\n {from}\n },\n {\n title: 'To',\n key: 'to',\n dataIndex: 'to',\n ellipsis: true,\n render: (to: string) =>\n {to}\n },\n {\n title: 'Value (VIC)',\n key: 'value',\n dataIndex: 'value',\n ellipsis: true,\n render: (value: number) => <>{formatNumber(toTomo(value, 18), 7)},\n },\n // {\n // title: 'Gas Limit',\n // key: 'gas',\n // dataIndex: 'gas',\n // },\n]\n\nconst inputDataColumns = [\n {\n title: '#',\n key: 'index',\n dataIndex: 'index',\n },\n {\n title: 'Name',\n key: 'name',\n dataIndex: 'name',\n },\n {\n title: 'Type',\n key: 'type',\n dataIndex: 'type',\n },\n {\n title: 'Data',\n key: 'data',\n dataIndex: 'data',\n render: (data: Array, record: any) =>\n Array.isArray(data) && data.length > 0 ?\n data.map((value:string) => {\n return {value}

\n })\n : record.type === 'address' ? {data} : {data?.toLocaleString()}\n }\n]\n","import { Input } from \"antd\";\nimport styled from \"styled-components\";\n\nexport const PositionStyled = styled.div`\n position: absolute;\n right: 400px;\n top: 190px;\n @media(max-width: 767px){\n position: static;\n .ant-form ant-form-vertical{\n justify-content: center;\n }\n }\n`\n\nexport const InputStyled = styled(Input)`\n min-width: 250px;\n background-color: ${({theme})=> theme.bg1};\n padding-right: 5px;\n border: 1px solid ${({theme})=>theme.border};\n &:focus,&:active{\n outline: none;\n border: none;\n }\n .ant-input-suffix{\n margin-left: 0;\n }\n .ant-input{\n background-color: ${({theme})=> theme.bg1};\n }\n`\nexport const ButtonSubmit = styled(Input)`\n cursor: pointer;\n color: #fff;\n background-color: ${({theme})=> theme.primary};\n fontSize: 12px;\n &:focus,&:active{\n outline: none!important;\n border: none!important;\n box-shadow: none!important;\n }\n`\n","import { useCallback, useEffect, useState } from 'react'\n\nimport { useAppDispatch, useAppSelector, useQuery } from '../../app/hooks'\nimport { PageHeader, Datatable, DataTableTotal, blockColumns } from '../../common'\nimport { getBlockList, resetBlockList } from './blocksSlice'\nimport { ButtonSubmit, InputStyled, PositionStyled } from './blockListPageStyles'\nimport { Form } from 'antd'\nimport { useHistory } from 'react-router-dom'\n\nexport default function BlockListPage() {\n const dispatch = useAppDispatch()\n const query = useQuery()\n const getAuthor = query.get('author')?.trim() || ''\n const [author, setAuthor] = useState(getAuthor)\n const history = useHistory()\n \n const getData = useCallback(\n (params: any) => getBlockList({ ...params, author }),\n [author]\n )\n \n \n const { data, loading, total } = useAppSelector((state) => state['blocks']['list'])\n const onFinish = async (values: any) => {\n setAuthor(values.author)\n if (values.author) {\n history.push({ search: `?author=${values.author}` })\n } else {\n history.push({ search: '' })\n }\n }\n\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetBlockList())\n }\n }, [])\n\n return (\n
\n \n <>\n \n\n
\n \n \n \n \n \n \n \n
\n }\n getData={getData}\n />\n \n
\n )\n}","import styled from \"styled-components\";\nimport { Button } from 'antd'\n\nexport const MainDetails = styled.div`\n .ant-tabs-content .content-table{\n padding: 0;\n }\n @media(max-width: 767px){\n .ant-row{\n margin-bottom: 15px;\n } \n }\n`\n\nexport const TxtColStyle = styled.div`\n margin: .75rem 0;\n word-break: break-all;\n &.col-txt-left {\n color: ${({ theme }) => theme.textOverlay};\n }\n &.col-txt-right {\n color: ${({ theme }) => theme.text};\n }\n &.back-forward-button-line {\n color: ${({ theme }) => theme.text};\n display: flex;\n flex-wrap: wrap;\n }\n &.bg-box {\n background-color: ${({ theme }) => theme.bg4};\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n .style-table-bordered {\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n }\n }\n .anticon {\n color: ${({ theme }) => theme.textOverlay};\n transition: all .2s;\n &:hover {\n color: #14a282;\n }\n }\n @media(max-width: 767px){\n margin: 0;\n }\n`\nexport const TitleHeaderBox = styled.div`\n font-weight: bold;\n font-size: 16px;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n padding-bottom: 15px;\n color: ${({ theme }) => theme.text};\n`\nexport const TextOverlay = styled.span`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const BoxTableBefore = styled.div`\n background-color: ${({ theme }) => theme.bg2};\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n`\n\nexport const BoxTableAfter = styled.div`\n margin-top: 25px;\n padding: 15px 0;\n background-color: ${({ theme }) => theme.bg2};\n`\n\nexport const TxtInfoTable = styled.div`\n margin: 5px 0 20px 0px;\n`\n\nexport const ButtonStyled = styled(Button)`\n margin-left: 5px;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ${({ theme }) => theme.bgBtn};\n border: 1px solid ${({ theme }) => theme.bdBtn};\n color: ${({ theme }) => theme.textBtn};\n &.ant-btn[disabled],\n &.ant-btn[disabled]:hover,\n &.ant-btn[disabled]:focus,\n &.ant-btn[disabled]:active {\n background-color: ${({ theme }) => theme.bgBtnDisable};\n border: 1px solid ${({ theme }) => theme.textBtnDisable};\n color: rgba(0, 0, 0, 0.25);\n }\n &.ant-btn:hover,\n &.ant-btn:focus,\n &.ant-btn:active {\n background-color: ${({ theme }) => theme.bgBtnActive};\n border: 1px solid ${({ theme }) => theme.bdBtnActive};\n color: ${({ theme }) => theme.textBtnActive};\n }\n`\n\nexport const StyleCopyIcon = styled.span`\n cursor: pointer;\n border-radius: 0;\n border: 0;\n width: 20px;\n height: 20px;\n color: ${({ theme }) => theme.textOverlay};\n margin-left: 10px;\n`","import { useCallback } from 'react'\n\nimport { useAppSelector } from '../../app/hooks'\nimport { Datatable, DataTableTotal, txColumns } from '../../common'\nimport { getTxListByBlock } from './blocksSlice'\n\nexport default function TransactionList({ blockNumber }: { blockNumber: string | undefined }) {\n const { data, loading, total } = useAppSelector((state) => state.blocks.details.transactions)\n\n const getData = useCallback(\n (params: any) => getTxListByBlock({ ...params, blockNumber }),\n []\n )\n\n return (\n }\n getData={getData}\n />\n )\n}","import { useEffect, useState } from 'react'\nimport { Helmet } from 'react-helmet-async'\nimport { PageHeader } from '../../common/PageHeader'\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\nimport { CopyToClipboard } from 'react-copy-to-clipboard'\nimport { useParams, Link, Redirect } from 'react-router-dom'\nimport { LeftOutlined, RightOutlined } from '@ant-design/icons'\nimport {\n Row,\n Col,\n Divider,\n Tooltip\n} from 'antd'\n\nimport {\n ClockCircleOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons'\n\nimport {\n MainDetails,\n TxtColStyle,\n BoxTableAfter,\n BoxTableBefore,\n TextOverlay,\n TitleHeaderBox,\n ButtonStyled,\n StyleCopyIcon\n} from './blockDetailsPageStyles'\n\nimport { formatNumber, timeFormatUtc, timeFormatDistance, toTomo } from '../../utils'\nimport { useAppSelector, useAppDispatch } from '../../app/hooks'\nimport { BlockDetailsType, BlockParamsType } from '../../constants/types'\nimport { getBlockDetailsByNumberOrHash } from './blocksSlice'\nimport { getStats, resetStats } from '../../features/general/generalSlice'\nimport { SkeletonLoading } from '../../common'\nimport BlockTransactionList from './BlockTransactionList'\n\n\nexport default function BlockDetailsOverview() {\n const [isCopied, setCopied] = useState(false)\n const dispatch = useAppDispatch()\n const { blockNumberOrHash } = useParams()\n const stats = useAppSelector((state) => state.general.stats.data)\n useEffect(() => {\n if (blockNumberOrHash) dispatch(getBlockDetailsByNumberOrHash(blockNumberOrHash))\n }, [blockNumberOrHash, dispatch])\n\n const getData = () => {\n dispatch(getStats())\n }\n useEffect(() => {\n getData()\n\n // reset state\n return () => {\n dispatch(resetStats())\n }\n }, []) \n const { data, loading }: { data: null | BlockDetailsType, loading: string } = useAppSelector((state) => state.blocks.details)\n if(stats && stats.block && blockNumberOrHash && stats.block < blockNumberOrHash) return \n if (loading === 'pending') return \n if (loading === 'failed') return \n if (!data) return null\n\n return (\n \n {blockNumberOrHash &&\n \n {`Block ${blockNumberOrHash}`}\n \n }\n \n \n Overview\n \n \n \n Block height\n \n \n \n \n \n \n \n {formatNumber(data.number)}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n\n 0 ? 'Previous block' : 'This is the genesis block'}\n >\n \n \n\n \n \n \n \n \n \n\n \n \n \n Epoch\n \n \n \n \n \n \n \n {formatNumber(data.epoch)}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Timestamp\n \n \n \n \n \n \n \n {timeFormatUtc(data.timestamp)}\n \n {timeFormatDistance(data.timestamp)}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Transactions\n \n \n \n \n \n \n \n {formatNumber(data.transactions)} transaction{data.transactions > 1 ? 's' : ''} and {formatNumber(data.internalTxCount)} contract internal transaction{data.internalTxCount > 1 ? 's' : ''} in this block\n \n \n \n\n \n \n \n Hash\n \n \n \n \n \n \n \n {data.hash}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n {data.parentHash &&\n \n \n \n Parent Hash\n \n \n \n \n \n \n \n {(data.number - 1) > 0 && {data.parentHash}}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n }\n \n \n \n State Root\n \n \n \n \n \n \n \n {data.stateRoot}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n \n \n \n Creator\n \n \n \n \n \n \n \n {data.m1Name ? data.m1Name : data.m1}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Verifier\n \n \n \n \n \n \n \n {data.m2Name ? data.m2Name : data.m2}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n \n \n \n Total Fee\n \n \n \n \n \n \n \n {toTomo(data.totalFee, 18)} VIC\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Gas Used\n \n \n \n \n \n \n \n {formatNumber(data.gasUsed)}\n ({formatNumber(data.gasUsed * 100 /data.gasLimit, 2)}%)\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Gas Limit\n \n \n \n \n \n \n \n {formatNumber(data.gasLimit)}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n \n \n \n Finality\n \n \n \n \n \n \n \n {data.finality}%\n \n \n \n\n \n \n \n Total Difficulty\n \n \n \n \n \n \n \n {formatNumber(data.totalDifficulty)}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Size\n \n \n \n \n \n \n \n {formatNumber(data.size)} bytes\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Extra Data\n \n \n \n \n \n \n \n {data.extraData}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n\n \n Transactions\n \n \n \n )\n}\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\n\nimport { EpochsState, RewardType } from '../../constants/types'\nimport { fetchEpochList, fetchEpochDetailsByNumber, fetchEpochDetailsReward } from '../../api'\nimport { requestLimit } from '../../features/general/generalSlice'\n\n// Create thunk\nexport const getEpochList = createAsyncThunk(\n 'epochs/getEpochList',\n async (params: {offset: number, limit: number}, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchEpochList(offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getEpochDetailsByNumber = createAsyncThunk(\n 'blocks/getEpochDetailsByNumber',\n async (param: string, thunkAPI) => {\n try {\n const response = await fetchEpochDetailsByNumber(param)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getEpochDetailsReward = createAsyncThunk(\n 'epochs/getEpochDetailsReward',\n async (params: {epochNumber: string, rewardType: RewardType, offset: number, limit: number}, thunkAPI) => {\n try {\n const { epochNumber, rewardType, offset, limit } = params\n\n const response = await fetchEpochDetailsReward(epochNumber, rewardType, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nconst initialListState = {\n loading: 'idle',\n total: null,\n data: [],\n}\n\n// Declare slice\nconst initialState = {\n list: { \n ...initialListState\n },\n details: {\n data: null,\n loading: 'idle',\n reward: {\n voter: {\n ...initialListState\n },\n masternode: {\n ...initialListState\n },\n foundation: {\n ...initialListState\n }\n }\n }\n} as EpochsState\n\nconst epochsSlice = createSlice({\n name: 'epochs',\n initialState,\n reducers: {\n // reset block list\n resetEpochList(state) {\n state.list.data = []\n state.list.loading = 'idle'\n state.list.total = null\n },\n },\n extraReducers: (builder) => {\n // epoch list\n builder.addCase(getEpochList.pending, (state, action) => {\n state.list.loading = 'pending'\n })\n\n builder.addCase(getEpochList.fulfilled, (state, action) => {\n state.list.loading = 'succeeded'\n state.list.data = action.payload.data\n state.list.total = action.payload.total\n })\n\n builder.addCase(getEpochList.rejected, (state, action) => {\n state.list.loading = 'failed'\n state.list.data = []\n state.list.total = null\n })\n\n // epoch details\n builder.addCase(getEpochDetailsByNumber.pending, (state, action) => {\n state.details.loading = 'pending'\n state.details.data = null\n })\n builder.addCase(getEpochDetailsByNumber.fulfilled, (state, action) => {\n state.details.loading = 'succeeded'\n state.details.data = action.payload\n })\n builder.addCase(getEpochDetailsByNumber.rejected, (state, action) => {\n state.details.loading = 'failed'\n state.details.data = null\n })\n\n // epoch reward\n builder.addCase(getEpochDetailsReward.pending, (state, action) => {\n const { rewardType } = action.meta.arg \n state.details.reward[rewardType].loading = 'pending'\n })\n\n builder.addCase(getEpochDetailsReward.fulfilled, (state, action) => {\n const { rewardType } = action.meta.arg\n \n state.details.reward[rewardType].loading = 'succeeded'\n state.details.reward[rewardType].data = action.payload.data\n state.details.reward[rewardType].total = action.payload.total\n })\n\n builder.addCase(getEpochDetailsReward.rejected, (state, action) => {\n const { rewardType } = action.meta.arg\n\n state.details.reward[rewardType].loading = 'failed'\n state.details.reward[rewardType].data = []\n state.details.reward[rewardType].total = null\n })\n }\n})\n\nexport const { resetEpochList } = epochsSlice.actions\nexport default epochsSlice.reducer\n","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { getEpochList, resetEpochList } from './epochsSlice'\nimport { PageHeader, Datatable, epochColumns, DataTableTotal } from '../../common'\n\nexport default function EpochsList() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['epochs']['list'])\n\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetEpochList())\n }\n }, [])\n\n return (\n
\n \n \n }\n getData={getEpochList}\n />\n
\n )\n}","import styled from \"styled-components\";\n\nexport const MainDetails = styled.div`\n @media(max-width: 767px){\n .rp-mb{\n margin-bottom: 30px;\n }\n .ant-row{\n margin-bottom: 15px;\n } \n }\n`\nexport const BoxContentPlaceHolder = styled.div`\n background: ${({ theme }) => theme.bg2};\n padding: 15px 24px;\n height: 100%;\n @media(max-width: 767px){\n padding-left: 15px;\n padding-right: 15px;\n }\n`\nexport const InnerPlaceHolder = styled.div`\n`\nexport const TxtColStyle = styled.div`\n margin: 10px 0;\n word-break: break-all;\n &.col-txt-left {\n color:${({ theme }) => theme.textOverlay};\n }\n &.col-txt-right {\n color:${({ theme }) => theme.text};\n }\n @media(max-width: 767px){\n margin: 0;\n }\n`\nexport const TextOverlay = styled.span`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const BoxContentTable = styled.div`\n margin-top: 25px;\n .style-table-bordered {\n padding: 15px 0 0;\n }\n .content-table {\n padding: 0;\n }\n`\nexport const TitleHeaderBox = styled.div`\n font-weight: bold;\n font-size: 16px;\n margin-bottom: 15px;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n padding-bottom: 15px;\n color: ${({ theme }) => theme.text};\n`\nexport const TxtInfoTable = styled.div`\n margin: 5px 0 20px 0px;\n`","import { useCallback } from 'react'\nimport { useParams } from 'react-router-dom'\n\nimport { useAppSelector } from '../../app/hooks'\nimport { EpochParamsType, RewardType } from '../../constants/types'\nimport { Datatable, DataTableTotal, epochRewardColumns, SkeletonLoading } from '../../common'\nimport { getEpochDetailsReward } from './epochsSlice'\nimport { timeFormatDistance } from '../../utils'\n\n\n\ninterface EpochDetailsRewardProps {\n type: RewardType\n}\n\nexport default function EpochDetailsReward({ type }: EpochDetailsRewardProps) {\n const { epochNumber } = useParams()\n const { reward } = useAppSelector(state => state.epochs.details)\n\n const getData = useCallback(\n (params: any) => getEpochDetailsReward({ ...params, epochNumber, rewardType: type }),\n []\n )\n\n if (!epochNumber) return \n const newData = reward[type].data.map((v) => {\n const age = timeFormatDistance(v.timestamp)\n return { ...v, age }\n })\n return (\n }\n getData={getData}\n />\n )\n}","import { EpochDetailsType, LoadingType } from '../../constants/types'\nimport { Datatable, DataTableTotal, slashedColumns } from '../../common'\n\ninterface EpochDetailsRewardProps {\n epoch: EpochDetailsType\n loading: LoadingType\n}\n\nexport default function EpochDetailsSlashedNode({ epoch, loading }: EpochDetailsRewardProps) {\n if (!epoch) return null\n\n return (\n }\n />\n )\n}","import { Helmet } from 'react-helmet-async'\nimport { PageHeader } from '../../common'\nimport { useParams, Link } from 'react-router-dom'\nimport {\n Tabs,\n Row,\n Col,\n Space,\n} from 'antd'\n\nimport {\n MainDetails,\n BoxContentTable,\n BoxContentPlaceHolder,\n TitleHeaderBox,\n InnerPlaceHolder,\n TxtColStyle,\n TextOverlay\n} from './epochDetailsPageStyles'\n\nimport { timeFormatUtc, formatNumber, toTomo } from '../../utils'\nimport { useStateDetails } from '../../app/hooks'\nimport { EpochParamsType } from '../../constants/types'\nimport { SkeletonLoading } from '../../common'\n\nimport { getEpochDetailsByNumber } from './epochsSlice'\nimport EpochDetailsReward from './EpochDetailsReward'\nimport EpochDetailsSlashedNode from './EpochDetailsSlashedNode'\nimport { TabStyle } from '../../appStyles'\nimport TabsWithHash from '../../common/TabsWithHash';\n\nconst { TabPane } = Tabs\n\nexport default function EpochDetailsPage() {\n const { epochNumber } = useParams()\n const { loading, data } = useStateDetails(getEpochDetailsByNumber, epochNumber, 'epochs')\n if (loading === 'pending' || !data) return \n\n return (\n \n {epochNumber &&\n \n {`Epoch ${epochNumber}`}\n \n }\n \n\n \n \n \n Overview\n \n \n \n \n Epoch\n \n \n \n \n {data.epoch}\n \n \n \n \n \n \n Start block\n \n \n \n \n \n {data.startBlock}\n ({timeFormatUtc(data.startTime)})\n \n \n \n \n \n \n \n End block\n \n \n \n \n \n {data.endBlock}\n ({timeFormatUtc(data.endTime)})\n \n \n \n \n \n \n \n Epoch duration\n \n \n \n \n {formatNumber(data.duration)} seconds\n \n \n \n \n \n \n \n \n More information\n \n \n \n \n Total reward\n \n \n \n \n {formatNumber(toTomo(data.totalReward, 18))} VIC\n \n \n \n \n \n \n Masternode number\n \n \n \n \n {data.masternode.length} Masternode, {data.slashednode.length} Slashed Node\n \n \n \n \n \n \n Voter number\n \n \n \n \n {formatNumber(data.voterNumber)}\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n )\n}","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\n\nimport { AccountsState } from '../../constants/types'\nimport { requestLimit } from '../../features/general/generalSlice'\nimport {\n fetchAccountList,\n fetchStats,\n fetchAccountDetails,\n fetchTokensInAccount,\n fetchInternalTx,\n fetchTokenTransactions,\n fetchVrcTokenTransactions,\n fetchUserRewards,\n} from '../../api'\n\nimport BigNumber from 'bignumber.js'\n\n// Create thunk\nexport const getAccountList = createAsyncThunk(\n 'accounts/getAccountList',\n async (params: { offset: number, limit: number }, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchAccountList(offset, limit)\n const stastsResponse = await fetchStats()\n thunkAPI.dispatch(requestLimit(false))\n return { ...response.data, stats: { ...stastsResponse.data } }\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n } \n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getAccountDetails = createAsyncThunk(\n 'accounts/getAccountDetails',\n async (address: string, thunkAPI) => {\n try {\n const response = await fetchAccountDetails(address)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error:any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getTokensInAccount = createAsyncThunk(\n 'accounts/getTokensInAccount',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchTokensInAccount(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error:any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getTokensInAccountForDropdown = createAsyncThunk(\n 'accounts/getTokensInAccountForDropdown',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchTokensInAccount(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error:any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getTokenInternalTx = createAsyncThunk(\n 'accounts/getTokenInternalTx',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchInternalTx(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getUserRewards = createAsyncThunk(\n 'accounts/getUserRewards',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchUserRewards(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getTokenTransactions = createAsyncThunk(\n 'accounts/getTokenTransactions',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchTokenTransactions(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return { ...response.data, address }\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getVrcTokenTransactions = createAsyncThunk(\n 'accounts/getVrcTokenTransactions',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchVrcTokenTransactions(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return { ...response.data, address }\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// Declare slice\nconst initialState = {\n list: {\n data: [],\n loading: 'idle',\n total: null,\n },\n details: {\n data: null,\n loading: 'idle',\n tokensInAccount: {\n loading: 'idle',\n data: [],\n total: 0,\n usdValue: 0\n },\n tokensInAccountForDropdown: {\n loading: 'idle',\n data: [],\n total: 0,\n usdValue: 0\n },\n internalTx: {\n loading: 'idle',\n data: [],\n total: 0,\n },\n userReward: {\n loading: 'idle',\n data: [],\n total: 0,\n },\n transactions: {\n loading: 'idle',\n address: '',\n data: [],\n total: 0,\n },\n vrcTokenTxns: {\n loading: 'idle',\n address: '',\n data: [],\n total: 0,\n }\n }\n} as AccountsState\n\nconst accountsSlice = createSlice({\n name: 'accounts',\n initialState,\n reducers: {\n // reset account list\n resetAccountList(state) {\n state.list.data = []\n state.list.loading = 'idle'\n state.list.total = null\n },\n resetAccountDetail(state) {\n state.details.data = null\n state.details.loading = 'idle'\n }\n },\n extraReducers: (builder) => {\n // account list\n builder.addCase(getAccountList.pending, (state) => {\n state.list.loading = 'pending'\n })\n\n builder.addCase(getAccountList.fulfilled, (state, action) => {\n state.list.loading = 'succeeded'\n\n const data = action.payload.data.map((item: any, index: number) => {\n const rank = action.meta.arg.offset + index + 1\n const percentage = action.payload.stats.circulatingSupply && new BigNumber(item.balanceNumber).times(100).div(action.payload.stats.circulatingSupply).toNumber()\n return { ...item, rank, percentage }\n })\n\n state.list.data = data\n state.list.total = action.payload.total\n })\n\n builder.addCase(getAccountList.rejected, (state) => {\n state.list.loading = 'failed'\n state.list.data = []\n state.list.total = null\n })\n\n // account detail\n builder.addCase(getAccountDetails.pending, (state) => {\n state.details.loading = 'pending'\n })\n\n builder.addCase(getAccountDetails.fulfilled, (state, action) => {\n let tomoInUsd = 0\n state.details.loading = 'succeeded'\n if (action.payload.balanceNumber && action.payload.tomoPrice) {\n tomoInUsd = new BigNumber(action.payload.balanceNumber).multipliedBy(action.payload.tomoPrice).toNumber()\n }\n state.details.data = { ...action.payload, tomoInUsd }\n })\n\n builder.addCase(getAccountDetails.rejected, (state) => {\n state.details.loading = 'failed'\n state.details.data = null\n })\n\n // Tokens in account\n builder.addCase(getTokensInAccount.pending, (state) => {\n state.details.tokensInAccount.loading = 'pending'\n })\n\n builder.addCase(getTokensInAccount.fulfilled, (state, action) => {\n state.details.tokensInAccount.loading = 'succeeded'\n state.details.tokensInAccount = action.payload\n })\n \n builder.addCase(getTokensInAccount.rejected, (state) => {\n state.details.tokensInAccount.loading = 'failed'\n state.details.tokensInAccount.data = []\n })\n\n // Tokens in account for dropdown\n builder.addCase(getTokensInAccountForDropdown.pending, (state) => {\n state.details.tokensInAccountForDropdown.loading = 'pending'\n })\n\n builder.addCase(getTokensInAccountForDropdown.fulfilled, (state, action) => {\n state.details.tokensInAccountForDropdown.loading = 'succeeded'\n state.details.tokensInAccountForDropdown = action.payload\n })\n\n builder.addCase(getTokensInAccountForDropdown.rejected, (state) => {\n state.details.tokensInAccountForDropdown.loading = 'failed'\n state.details.tokensInAccountForDropdown.data = []\n })\n\n // Transactions\n builder.addCase(getTokenTransactions.pending, (state) => {\n state.details.transactions.loading = 'pending'\n })\n\n builder.addCase(getTokenTransactions.fulfilled, (state, action) => {\n state.details.transactions.loading = 'succeeded'\n let transactionTag\n const newData = action.payload.data.map((item: any) => {\n if (item.from === action.payload.address) {\n transactionTag = 'out'\n } else if (item.to === action.payload.address) {\n transactionTag = 'in'\n } else {\n transactionTag = undefined\n }\n return { ...item, transactionTag }\n })\n state.details.transactions.data = newData\n state.details.transactions.address = action.payload.address\n state.details.transactions.total = action.payload.total\n })\n\n builder.addCase(getTokenTransactions.rejected, (state) => {\n state.details.transactions.loading = 'failed'\n state.details.transactions.data = []\n })\n\n // vrc token transactions\n builder.addCase(getVrcTokenTransactions.pending, (state) => {\n state.details.vrcTokenTxns.loading = 'pending'\n })\n\n builder.addCase(getVrcTokenTransactions.fulfilled, (state, action) => {\n state.details.vrcTokenTxns.loading = 'succeeded'\n let transactionTag\n const newData = action.payload.data.map((item: any) => {\n if (item.from === action.payload.address) {\n transactionTag = 'out'\n } else if (item.to === action.payload.address) {\n transactionTag = 'in'\n } else {\n transactionTag = undefined\n }\n return { ...item, transactionTag }\n })\n state.details.vrcTokenTxns.data = newData\n state.details.vrcTokenTxns.address = action.payload.address\n state.details.vrcTokenTxns.total = action.payload.total\n })\n\n builder.addCase(getVrcTokenTransactions.rejected, (state) => {\n state.details.vrcTokenTxns.loading = 'failed'\n state.details.vrcTokenTxns.data = []\n })\n\n // InternalTx\n builder.addCase(getTokenInternalTx.pending, (state) => {\n state.details.internalTx.loading = 'pending'\n })\n\n builder.addCase(getTokenInternalTx.fulfilled, (state, action) => {\n state.details.internalTx.loading = 'succeeded'\n state.details.internalTx = action.payload\n })\n\n builder.addCase(getTokenInternalTx.rejected, (state) => {\n state.details.internalTx.loading = 'failed'\n state.details.internalTx.data = []\n })\n\n // Reward\n builder.addCase(getUserRewards.pending, (state) => {\n state.details.userReward.loading = 'pending'\n })\n\n builder.addCase(getUserRewards.fulfilled, (state, action) => {\n state.details.userReward.loading = 'succeeded'\n state.details.userReward = action.payload\n })\n\n builder.addCase(getUserRewards.rejected, (state) => {\n state.details.userReward.loading = 'failed'\n state.details.userReward.data = []\n })\n },\n})\n\nexport const { resetAccountList, resetAccountDetail } = accountsSlice.actions\nexport default accountsSlice.reducer\n","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { getAccountList, resetAccountList } from './accountsSlice'\nimport { PageHeader, Datatable, accountColumns, DataTableTotal } from '../../common'\n\nexport default function EpochsList() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['accounts']['list'])\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetAccountList())\n }\n }, [])\n\n return (\n
\n \n\n }\n getData={getAccountList}\n />\n
\n )\n}","export default __webpack_public_path__ + \"static/media/icon-qrcode.79cff0db.svg\";","import styled from \"styled-components\"\nimport { Button, List } from 'antd'\nimport { Link } from \"react-router-dom\"\nexport const MainDetails = styled.div`\n .ant-tabs-content .content-table{\n padding: 0;\n }\n @media(max-width: 767px){\n .rp-mb{\n margin-bottom: 30px;\n }\n .ant-row{\n margin-bottom: 15px;\n } \n }\n`\n\nexport const BoxContentPlaceHolder = styled.div`\n background: ${({ theme }) => theme.bg2};\n padding: 15px 25px;\n height: 100%;\n @media(max-width: 767px){\n padding-left: 15px;\n padding-right: 15px;\n }\n`\nexport const InnerPlaceHolder = styled.div`\n`\nexport const TxtColStyle = styled.div`\n display: flex;\n justify-content: space-between;\n margin: 10px 0;\n &.col-txt-left {\n color:${({ theme }) => theme.textOverlay};\n }\n &.col-txt-right {\n color:${({ theme }) => theme.text};\n }\n @media(max-width: 767px){\n margin: 0;\n }\n`\nexport const TokenList = styled.div`\n width: 100%;\n position: relative;\n`\nexport const TotalPrice = styled.div`\n width: 100%;\n border: 1px solid ${({ theme }) => theme.border};\n padding: 6px 10px;\n align-items: center;\n cursor: pointer;\n position: relative;\n .anticon-caret-down{\n position: absolute;\n right: 10px;\n color: ${({ theme }) => theme.textOverlay};\n top: 12px;\n font-size: 10px;\n }\n`\nexport const TokenCount = styled.span`\n font-size: 10px;\n font-weight: 700;\n border-radius: 2px;\n background-color: ${({ theme }) => theme.primary};\n color: #fff;\n width: 15px;\n height: 15px;\n line-height: 15px;\n display: inline-block;\n text-align: center;\n margin-left: 12px;\n`\nexport const ListStyled = styled(List)`\n border: 1px solid ${({ theme }) => theme.border};\n padding: 5px;\n position: absolute;\n width: 100%;\n top: 100%;\n background: ${({ theme }) => theme.bg2};\n z-index: 1;\n box-shadow: 0 2px 7px rgb(52 152 219 / 5%), 0 0 10px hsl(210deg 8% 46% / 10%);\n .ant-list-items {\n margin: 0 !important;\n max-height: 295px;\n overflow-y: auto; \n }\n\n .ant-list-header {\n border-bottom: 1px solid ${({ theme }) => theme.border} !important;\n padding: 0 0 5px 10px;\n font-weight: 500;\n color: ${({ theme }) => theme.text};\n }\n .ant-list-item{\n border-bottom-color: ${({ theme }) => theme.border};\n }\n\n .ant-spin-nested-loading {\n border-radius: 0 !important;\n border: 0 !important;\n }\n .ant-empty-description{\n color: ${({ theme }) => theme.textOverlay};\n }\n`\n\nexport const ListButton = styled(Button)`\n border-radius: 5px;\n\n &:hover {\n color: #00C59A;\n border-color: #00C59A;\n }\n`\n\nexport const TokenLink = styled(Link)`\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 2px 10px;\n :hover{\n background-color: ${({ theme }) => theme.bgHover};\n }\n`\nexport const TextOverlay = styled.p`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const ViewMore = styled.a`\n width: 100%;\n max-width: 36px;\n display: inline-block;\n text-align: center;\n line-height: 34px;\n margin-left: 10px;\n color: #fff;\n border: 0;\n transition: .2s;\n background: ${({ theme }) => theme.primary};\n :hover{\n background: ${({ theme }) => theme.primaryHover};\n color: #fff;\n }\n`\nexport const BoxContentTable = styled.div`\n margin-top: 25px;\n position: relative;\n`\nexport const TitleHeaderBox = styled.div`\n font-weight: bold;\n font-size: 16px;\n margin-bottom: 15px;\n color: ${({ theme }) => theme.text};\n border-bottom: 1px solid ${({ theme }) => theme.border};\n padding-bottom: 15px;\n`\nexport const TextStyle = styled.span`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const TextMainStyle = styled.span`\n color: ${({ theme }) => theme.text};\n`\nexport const AddressBox = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 15px;\n margin-top: -15px;\n`\nexport const StyleCopyIcon = styled.div`\n cursor: pointer;\n border-radius: 0;\n border: 0;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.textOverlay};\n background-color: ${({ theme }) => theme.bg2};\n &:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n > *{\n width: 32px;\n height: 32px;\n line-height: 32px;\n text-align: center;\n }\n`\nexport const Center = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 10px;\n`\nexport const ButtonStyled = styled(Button)`\n border-radius: 0;\n &.ant-btn,\n &.ant-btn:hover,\n &.ant-btn:focus {\n border: 0;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.textOverlay};\n background-color: ${({ theme }) => theme.bg2};\n }\n &.ant-btn:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n > *{\n width: 32px;\n height: 32px;\n line-height: 32px;\n text-align: center;\n }\n`\n","import styled from \"styled-components\"\nimport { Button, Input, Form, Tag } from 'antd'\nimport { Link } from \"react-router-dom\"\n\nconst { TextArea } = Input\nexport const MainDetails = styled.div`\n .ant-tabs-content .content-table{\n padding: 0;\n }\n @media(max-width: 767px){\n .rp-mb{\n margin-bottom: 30px;\n }\n .ant-row{\n margin-bottom: 15px;\n } \n }\n`\n\nexport const BoxContentPlaceHolder = styled.div`\n background: ${({ theme }) => theme.bg2};\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.05);\n padding: 15px 24px;\n height: 100%;\n @media(max-width: 767px){\n padding-left: 15px;\n padding-right: 15px;\n }\n`\nexport const InnerPlaceHolder = styled.div`\n`\nexport const TxtColStyle = styled.div`\n margin: 10px 0;\n &.col-txt-left {\n color: ${({ theme }) => theme.textOverlay};\n font-size: 13px;\n }\n &.col-txt-right {\n color: ${({ theme }) => theme.text};\n }\n &.bg-box {\n background-color: ${({ theme }) => theme.bg4};\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n .style-table-bordered {\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n }\n }\n @media(max-width: 767px){\n margin: 0;\n }\n`\nexport const BoxContentTable = styled.div`\n margin-top: 25px;\n position: relative;\n`\nexport const TitleHeaderBox = styled.div`\n font-weight: bold;\n font-size: 16px;\n margin-bottom: 15px;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n padding-bottom: 15px;\n color: ${({ theme }) => theme.text};\n .anticon{\n color: ${({ theme }) => theme.primary};\n }\n`\nexport const NoteInfo = styled.div`\n margin: 5px 0 20px 0px;\n color: ${({ theme }) => theme.text};\n .flex-between{\n width: 100%;\n display: flex;\n gap: 12px;\n justify-content: space-between; \n background-color: #FDF5E2;\n padding: 12px 16px;\n @media(max-width: 767px){\n flex-direction: column;\n }\n }\n`\nexport const ContractSource = styled.pre<{ height?: string }>`\n background-color: ${({ theme }) => theme.bg};\n white-space: pre-wrap;\n height: ${({ height }) => height ? height : '20px'};\n padding: 10px;\n word-wrap: break-word;\n border-radius: 0;\n border: 1px solid ${({ theme }) => theme.border};\n font-size: 12px;\n color:${({ theme }) => theme.textOverlay};\n`\nexport const AddressBox = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 15px;\n margin-top: -15px;\n`\nexport const StyleCopyIcon = styled.div`\n border-radius: 0;\n cursor: pointer;\n border-radius: 0;\n border: 0;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.textOverlay};\n background-color: ${({ theme }) => theme.bg2};\n &:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n > *{\n width: 32px;\n height: 32px;\n line-height: 32px;\n text-align: center;\n }\n`\nexport const TextOverlay = styled.span`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const TextMain = styled.span`\n color: ${({ theme }) => theme.text};\n`\nexport const Center = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 10px;\n`\nexport const ButtonStyled = styled(Button)`\n border-radius: 0;\n &.ant-btn,\n &.ant-btn:hover,\n &.ant-btn:focus {\n border: 0;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.textOverlay};\n background-color: ${({ theme }) => theme.bg2};\n &.ant-btn:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n }\n > *{\n width: 32px;\n height: 32px;\n line-height: 32px;\n text-align: center;\n }\n`\nexport const SwitchButton = styled.button`\n font-size: 12px;\n cursor: pointer;\n margin-right: 10px;\n display: inline-block;\n color: #fff;\n background-color: ${({ theme }) => theme.primary};\n border: 1px solid ${({ theme }) => theme.border};\n border-radius: 0;\n`\nexport const Cards = styled.div`\n margin-bottom: 20px;\n`\nexport const CardHeader = styled.div`\n border: 1px solid ${({ theme }) => theme.border};\n padding: 5px 10px;\n background-color:${({ theme }) => theme.bg};\n`\nexport const CardContent = styled.div`\n padding: 5px 10px 20px 10px;\n border-left: 1px solid ${({ theme }) => theme.border}; \n border-bottom: 1px solid ${({ theme }) => theme.border}; \n border-right: 1px solid ${({ theme }) => theme.border}; \n`\nexport const FormGroup = styled.div`\n padding-top: 10px;\n padding-bottom: 10px;\n label{\n font-weight: 500;\n color: ${({ theme }) => theme.text};\n }\n .ant-form .anticon-minus-circle{\n color: ${({ theme }) => theme.textOverlay};\n }\n`\nexport const FormItem = styled(Form.Item)`\n margin-bottom: 0;\n border-radius: 0;\n input{\n background-color: ${({ theme }) => theme.bg2};\n border: 1px solid ${({ theme }) => theme.border};\n color: ${({ theme }) => theme.textOverlay};\n }\n \n`\nexport const InputStyled = styled(Input)`\n background-color: ${({ theme }) => theme.bg2};\n border: 1px solid ${({ theme }) => theme.border};\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const TextAreaStyled = styled(TextArea)`\n background-color: ${({ theme }) => theme.bg2};\n border: 1px solid ${({ theme }) => theme.border};\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const SelectStyled = styled.div`\n .ant-select-selector{\n background-color: ${({ theme }) => theme.bg2}!important;\n border: 1px solid ${({ theme }) => theme.border}!important;\n color: ${({ theme }) => theme.textOverlay};\n }\n .ant-select-arrow{\n color: ${({ theme }) => theme.textOverlay};\n }\n`\nexport const ButtonQuery = styled(Button)`\n border: 1px solid ${({ theme }) => theme.border};\n background-color: ${({ theme }) => theme.bg};\n padding: 5px 15px;\n margin-top: 10px;\n border-radius: 0;\n margin-top: 20px;\n cursor: pointer;\n &:hover{\n background-color: ${({ theme }) => theme.bg1};\n }\n`\nexport const LinkStyled = styled(Link)`\n padding: 5px 10px;\n background-color: ${({ theme }) => theme.primary};\n color: #fff;\n margin-right: 20px;\n margin-top: 15px;\n display: inline-block;\n border-radius: 0;\n &:hover{\n background-color: #0dcea3;\n color: #fff;\n }\n`\nexport const BoxItemLog = styled.div`\n margin-bottom: 25px;\n padding-bottom: 25px;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n`\nexport const DataType = styled.div`\n margin-bottom: 15px;\n`\nexport const ButtonType = styled.button`\n background-color: ${({ theme }) => theme.border};\n border: none;\n padding: 5px 10px;\n height: 20px;\n line-height: 10px;\n cursor: pointer;\n &.active{\n background-color: ${({ theme }) => theme.primary};\n color: #fff;\n }\n`\n// Verify Box\n\nexport const Box = styled.div`\n background-color: ${({ theme }) => theme.bg2};\n padding: 24px;\n border-radius: 0;\n`\nexport const FieldExtend = styled.div`\n padding: 24px;\n background-color: ${({ theme }) => theme.bg4};\n border-radius: 0;\n margin-bottom: 20px;\n width: 100%;\n`\nexport const ButtonSubmit = styled(Input)`\n cursor: pointer;\n width: auto; \n padding: 5px 40px;\n font-weight: 500;\n background-color: ${({ theme }) => theme.primary};\n color: #fff;\n border: none;\n`\nexport const AddSource = styled(Button)`\n background-color: ${({ theme }) => theme.bg2};\n color: ${({ theme }) => theme.text};\n font-weight: 500;\n &:hover{\n background-color: ${({ theme }) => theme.bg2};\n }\n`\nexport const StatusStyled = styled.p<{ status: string }>`\n color: ${({ theme, status }) => theme[status]};\n font-weight: 500;\n`\n\nexport const VerifiedIcon = styled(Tag)`\ncolor: ${({ theme }) => theme.success};\nborder: 0;\nborder-radius: 0;\nmargin: 0;\nwidth: 25px;\nbackground: transparent;\n`","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\nimport BigNumber from 'bignumber.js'\n\nimport { ContractsState } from '../../constants/types'\nimport { fetchContractList, fetchAccountDetails, fetchTxListByAdddress, fetchContractEventLogs } from '../../api'\nimport { requestLimit } from '../../features/general/generalSlice'\n\n// Create thunk\nexport const getContractList = createAsyncThunk(\n 'contracts/getContractList',\n async (params: { offset: number, limit: number }, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchContractList(offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getContractDetailsByAddress = createAsyncThunk(\n 'contracts/getContractDetailsByAddress',\n async (address: string, thunkAPI) => {\n try {\n const response = await fetchAccountDetails(address)\n\n // eslint-disable-next-line no-throw-literal\n if (!response.data.isContract) throw { response: { data: { msg: 'Address isn\\'t contract' } } }\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getTxListByAddress = createAsyncThunk(\n 'contracts/getTxListByAddress',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchTxListByAdddress(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getEventLogs = createAsyncThunk(\n 'contracts/getEventLogs',\n async (address: string, thunkAPI) => {\n try {\n const response = await fetchContractEventLogs(address)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// Declare slice\nconst initialState = {\n list: {\n data: [],\n loading: 'idle',\n total: 0,\n },\n details: {\n data: null,\n loading: 'idle',\n transactions: {\n data: [],\n loading: 'idle',\n total: 0,\n },\n eventLogs: {\n data: [],\n loading: 'idle',\n }\n }\n} as ContractsState\n\nconst contractsSlice = createSlice({\n name: 'contracts',\n initialState,\n reducers: {\n // reset contract list\n resetContractList(state) {\n state.list.data = []\n state.list.loading = 'idle'\n state.list.total = 0\n }\n },\n extraReducers: (builder) => {\n // contract list\n builder.addCase(getContractList.pending, (state, action) => {\n state.list.loading = 'pending'\n })\n\n builder.addCase(getContractList.fulfilled, (state, action) => {\n state.list.loading = 'succeeded'\n state.list.data = action.payload.data\n state.list.total = action.payload.total\n })\n\n builder.addCase(getContractList.rejected, (state, action) => {\n state.list.loading = 'failed'\n state.list.data = []\n state.list.total = 0\n })\n\n // contract details\n builder.addCase(getContractDetailsByAddress.pending, (state) => {\n state.details.loading = 'pending'\n })\n\n builder.addCase(getContractDetailsByAddress.fulfilled, (state, action) => {\n let balanceInUsd = 0\n\n if (action.payload.balanceNumber && action.payload.tomoPrice) {\n balanceInUsd = new BigNumber(action.payload.balanceNumber).times(action.payload.tomoPrice).toNumber()\n }\n\n state.details.data = { ...action.payload, balanceInUsd }\n state.details.loading = 'succeeded'\n })\n\n builder.addCase(getContractDetailsByAddress.rejected, (state) => {\n state.details.loading = 'failed'\n state.details.data = null\n })\n\n // contract tx list\n builder.addCase(getTxListByAddress.pending, (state, action) => {\n state.details.transactions.loading = 'pending'\n })\n\n builder.addCase(getTxListByAddress.fulfilled, (state, action) => {\n state.details.transactions.loading = 'succeeded'\n state.details.transactions.data = action.payload.data\n state.details.transactions.total = action.payload.total\n })\n\n builder.addCase(getTxListByAddress.rejected, (state, action) => {\n state.details.transactions.loading = 'failed'\n state.details.transactions.data = []\n state.details.transactions.total = 0\n })\n // Contract Event Logs\n builder.addCase(getEventLogs.pending, (state) => {\n state.details.eventLogs.loading = 'pending'\n })\n\n builder.addCase(getEventLogs.fulfilled, (state, action) => {\n state.details.eventLogs.loading = 'succeeded'\n state.details.eventLogs.data = action.payload.data\n })\n\n builder.addCase(getEventLogs.rejected, (state) => {\n state.details.eventLogs.loading = 'failed'\n state.details.eventLogs.data = []\n })\n },\n})\n\nexport const { resetContractList } = contractsSlice.actions\nexport default contractsSlice.reducer\n","import { useCallback } from 'react'\n\nimport { useAppSelector } from '../../app/hooks'\nimport { Datatable, DataTableTotal, txColumns } from '../../common'\nimport { getTxListByAddress } from './contractsSlice'\n\nexport default function ContractDetailsTxListTab({ address }: { address: string | undefined }) { \n const { data, loading, total } = useAppSelector((state) => state.contracts.details.transactions)\n\n const getData = useCallback(\n (params: any) => getTxListByAddress({ ...params, address }),\n []\n )\n\n if (!address) return null\n\n return (\n }\n getData={getData}\n />\n )\n}","import React, { useState, useEffect } from 'react'\nimport { Link } from 'react-router-dom'\nimport { Typography, Row, Col } from 'antd'\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport {\n getEventLogs\n} from './contractsSlice'\nimport { TxtColStyle, BoxItemLog, ButtonType, DataType } from './contractDetailsPageStyles'\nimport { DataTableLoading } from '../../common'\n\nconst { Paragraph } = Typography\n\nconst TopicRender = ({ log }: any) => {\n\n const [topicType, setTopicType] = useState('hex')\n\n const onClickType = (e: any) => {\n const value = e.target.value\n setTopicType(value)\n }\n return (\n \n {log.decodedTopics &&\n \n Hex\n Dec\n \n }\n
\n {log.decodedTopics && topicType === 'dec' ?\n log.decodedTopics.map((t: any, i: any) => (\n
\n {i + 1}. {t}\n
\n ))\n :\n log.topics.map((topic: any, topicIdx: number) => (\n
\n {topicIdx + 1}. {topic}\n
\n ))\n }\n
\n
\n )\n}\n\nconst DataRender = ({ log }: any) => {\n const [topicType, setTopicType] = useState('hex')\n\n const onClickType = (e: any) => {\n const value = e.target.value\n setTopicType(value)\n }\n let newParam: Array = []\n if (log.params && log.params.length > 0) {\n log.params.forEach((p: any) => {\n if (!p.indexed) {\n newParam.push(p.name)\n }\n })\n }\n return (\n \n {log.decodedData &&\n \n Hex\n Dec\n \n }\n {log.decodedData && topicType === 'dec' ?\n newParam.map((p: any, i: any) => (\n \n {p}: {log.decodedData[p]}\n \n ))\n :\n log.data\n }\n \n )\n}\nconst ContractEventLogs = ({ address }: any) => {\n const dispatch = useAppDispatch()\n useEffect(() => {\n if (address) {\n dispatch(getEventLogs(address))\n }\n }, [address, dispatch])\n const { eventLogs } = useAppSelector((state) => state['contracts']['details'])\n if (eventLogs.loading === 'pending') return \n return (\n <>\n {eventLogs.data.length > 0 && eventLogs.data.map((log, logIdx) => {\n const getParams = log.params && log.params.reduce((acc: string, current: any, index: number, logArr: any) => {\n const indexed = current.indexed ? `index_topic ${current.type} ${current.name}` : ` ${current.type} ${current.name}`\n return index === logArr.length - 1 ? acc + ' ' + indexed : acc + ' ' + indexed + ','\n }, '')\n return (\n \n \n \n Address\n \n \n \n {log.address}\n \n \n \n {log.functionName &&\n \n \n Name\n \n \n \n {`${log.functionName} (${getParams})`}  \n View code\n \n \n \n }\n\n \n \n Topics\n \n \n {log.topics.length > 0 &&\n \n }\n \n \n\n \n \n Data\n \n \n {log.data.length > 0 && }\n \n \n \n );\n })}\n \n );\n}\n\nexport default ContractEventLogs\n","import { useState, useEffect, FunctionComponent } from 'react'\nimport { Link } from 'react-router-dom'\nimport { CopyToClipboard } from 'react-copy-to-clipboard'\nimport {\n Tabs,\n Row,\n Col,\n Spin,\n Tooltip,\n Form,\n Input,\n} from 'antd'\nimport {\n CodeFilled,\n OrderedListOutlined,\n CodeTwoTone,\n HeatMapOutlined,\n FileTextOutlined\n} from '@ant-design/icons'\nimport {\n NoteInfo,\n TitleHeaderBox,\n TxtColStyle,\n TextOverlay,\n ContractSource,\n SwitchButton,\n Cards,\n CardHeader,\n CardContent,\n TextMain,\n FormGroup,\n FormItem,\n ButtonQuery,\n LinkStyled,\n StyleCopyIcon\n} from './contractDetailsPageStyles'\n\nimport { getContract } from '../../utils'\nimport { ModalWallet } from '../../common'\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\nimport icNothing from '../../assets/images/status/warning.svg';\nimport Text from 'antd/lib/typography/Text'\nimport CheckStatus from '../../common/CheckStatus'\n\n\n\nconst { TabPane } = Tabs\ntype ContractState = {\n data: any\n address: string\n}\n\n\ntype DataFormState = {\n data: any\n name: string\n contract: any\n}\n\nconst FormReadRender: FunctionComponent = ({ data, name, contract }) => {\n const [dataResult, setDataResult]: Array = useState([])\n const [isLoading, setIsLoading] = useState(false)\n\n const onReadFinish = async (value: any) => {\n let formatData: Array = []\n setIsLoading(true)\n const params = Object.values(value)\n // Convert data with type []\n const convertParams = params.map((item: any) => {\n if (item.startsWith('[') && item.endsWith(']')) {\n item = JSON.parse(item)\n }\n return item\n })\n try {\n const result = await contract.methods[name](...convertParams).call()\n for (let i = 0; i < data.outputs.length; i++) {\n const output = data.outputs[i]\n const outputRs = output\n let value\n if (typeof result === 'object' && !Array.isArray(result)) {\n value = result[output.name]\n\n if (value !== 'undefined') {\n value = result[i]\n }\n } else if (Array.isArray(result)) {\n value = JSON.stringify(result)\n } else {\n value = result\n }\n if (output.type === 'address') {\n if (value === 0) {\n value = '0x0000000000000000000000000000000000000000'\n }\n\n value = value.toLowerCase()\n }\n\n outputRs.value = value\n formatData.push(outputRs)\n }\n\n } catch (error: any) {\n formatData.push({\n name: 'Error',\n type: 'string',\n value: error.message\n })\n }\n setDataResult(formatData)\n setIsLoading(false)\n }\n return (\n
\n {\n data.inputs.map((input: any, i: number) => {\n return (\n \n {`${input.name} (${input.type})`}\n \n \n \n \n )\n })\n }\n \n Query\n  \n {isLoading && }\n
\n {dataResult.length > 0 && [{name} method response]}\n {dataResult.map((d: any, k: number) => {\n return (\n
\n {d.name && {d.name}}\n {{d.type.toString()}:}  \n {d.value !== null ? {d.value.toString()} : null}  \n
\n )\n })\n }\n
\n \n )\n}\n\ntype ReadOutputState = {\n outputs: any\n name: string\n contract: any\n}\nconst ReadDataOutput: FunctionComponent = ({ outputs, name, contract }) => {\n const [data, setData] = useState()\n useEffect(() => {\n const fetchData = async () => {\n try {\n const result = await contract.methods[name]().call()\n setData(result)\n } catch (error) {\n console.log(error)\n }\n }\n fetchData()\n }, [])\n\n function isObject(val: any) {\n return val instanceof Object\n }\n return (\n <>\n {\n outputs.map((s: any, j: Number) => {\n return (\n
\n {s.type.indexOf('[]') !== -1 ?\n // @ts-ignore\n Array.isArray(data) && data.map((d: any, i: number) => {\n return (\n s.type.indexOf('address') !== -1 ?\n
\n {d}
\n
\n : {d}\n )\n })\n : isObject(data) ?\n <>\n {s.name}: \n \n {// @ts-ignore\n data[s.name]\n }\n \n \n :\n <>\n {s.type === 'address' ?\n {data}\n : {data}\n }\n \n }\n < TextOverlay style={{ fontStyle: 'italic', fontSize: '13px', }}> {s.type}\n
\n )\n })\n }\n \n )\n}\n\ntype DataWriteForm = {\n data: any\n name: string\n abiCode: any\n contractAddress: string\n account: string\n isConnected: boolean\n}\nconst FormWriteRender: FunctionComponent = ({ data, name, abiCode, contractAddress, account, isConnected }) => {\n const [dataResult, setDataResult]: Array = useState([])\n const [isLoading, setIsLoading] = useState(false)\n\n const onWriteFinish = async (value: any) => {\n let formatData: Array = []\n setIsLoading(true)\n const payableValue = value['payable-value'] ?? null\n // removing payable value from params\n delete value['payable-value']\n const params = Object.values(value)\n const convertParams = params.map((item: any) => {\n if (item.startsWith('[') && item.endsWith(']')) {\n item = JSON.parse(item)\n }\n return item\n })\n try {\n if (window.web3 && account) {\n const contract = new window.web3.eth.Contract(abiCode, contractAddress)\n let sendData: any\n sendData = {\n from: account,\n gasLimit: '0x7A120', // 1000_000\n value: payableValue ? payableValue : null,\n }\n const estGas = await contract.methods[name](...convertParams).estimateGas(sendData)\n if (estGas) {\n sendData.gasLimit = estGas\n }\n const result = await contract.methods[name](...convertParams).send(sendData)\n formatData.push(\n {\n name: 'View your block',\n type: 'blockNumber',\n value: result.blockNumber ? result.blockNumber : ''\n },\n {\n name: 'View your transaction',\n type: 'tx',\n value: result.transactionHash ? result.transactionHash : ''\n }\n )\n }\n } catch (error: any) {\n formatData.push({\n name: 'Error',\n type: 'string',\n value: error.message\n })\n }\n setDataResult(formatData)\n setIsLoading(false)\n }\n return (\n
\n {data.stateMutability === 'payable' &&\n \n {`payable value (wei)`}\n \n \n \n\n \n }\n {\n\n data.inputs.map((input: any, i: number) => {\n return (\n \n {`${input.name} (${input.type})`}\n \n \n \n\n \n )\n })\n }\n Write   {isLoading && }\n
\n {dataResult.length > 0 &&
[{name} method response]
}\n {dataResult.map((d: any, k: number) => {\n return (\n d.name === 'Error' ?\n
\n {{d.name}}\n {{d.type.toString()}:}\n {{d.value.toString()}}  \n
\n :\n {d.name}\n )\n })\n }\n
\n \n )\n}\n\nconst SolidityRender = ({ data }: any) => {\n const [copied, setCopied] = useState(false)\n\n return (\n <>\n \n
{data[0]}
\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n
\n \n {data[1].content}\n \n \n )\n}\n\nconst ContentOfTheContractTab = ({ data, address }: ContractState) => {\n const [copied, setCopied] = useState(false)\n const [isByteCode, setIsByteCode] = useState(true)\n const [account, setAccount] = useState('')\n const [isConnected, setIsConnected] = useState(false)\n\n const sourceCode = data.contractData && data.contractData.sourceCode ? Object.entries(data.contractData.sourceCode) : []\n let readData: Array = []\n let writeData: Array = []\n let readProxyData: Array = []\n let writeProxyData: Array = []\n \n const abiContract = data.contractData.abiCode ? JSON.parse(data.contractData.abiCode) : null\n const contractData = abiContract ? getContract(abiContract, address ? address : '') : ''\n readData = abiContract && abiContract.filter((abi: any) => {\n return abi.outputs && abi.constant\n })\n writeData = abiContract && abiContract.filter((abi: any) => {\n return abi.outputs && !abi.constant\n })\n\n const abiProxyContract = data.contractData?.proxyTargetContractData?.abiCode ? JSON.parse(data.contractData?.proxyTargetContractData?.abiCode) : null\n const contractProxyData = abiProxyContract ? getContract(abiProxyContract, address ? address : '') : ''\n readProxyData = abiProxyContract && abiProxyContract.filter((abi: any) => {\n return abi.outputs && abi.constant\n })\n writeProxyData = abiProxyContract && abiProxyContract.filter((abi: any) => {\n return abi.outputs && !abi.constant\n })\n return (\n !data.contractData.sourceCode ?\n <>\n \n
\n
\n \"\"\n
\n Are you the contract creator?\n \n Verify and publish your contract source code today.\n \n
\n
\n \n Verify and Publish\n \n
\n
\n \n {data.code}\n \n \n :\n <>\n \n \n \n \n \n \n \n \n\n \n \n Contract Name:\n \n \n \n \n {data.contractData.contractName}\n \n \n \n \n \n \n Compiler Version\n \n \n \n \n {data.contractData.compiler}\n \n \n \n \n \n \n \n \n Optimization:\n \n \n \n \n {data.contractData.optimization ? \"Yes\" : \"No\"}\n \n \n \n \n \n {\n sourceCode.length > 0 && sourceCode.map((value: any, i: any) => {\n return (\n \n )\n })\n }\n {data.contractData.abiCode &&\n <>\n \n
Contract ABI
\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n
\n\n \n {data.contractData.abiCode}\n \n \n }\n {data.code &&\n <>\n \n
Contract Creation Code
\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n
\n \n {data.code}\n \n \n }\n {data.contractData.deployedBytecode &&\n <>\n \n
\n {isByteCode ? 'ByteCode' : 'Opcodes'}\n
\n
\n {\n setIsByteCode(!isByteCode)\n }}>\n {`Switch to ${isByteCode ? 'Opcodes View' : 'ByteCode'}`}\n \n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n
\n
\n {isByteCode ?\n \n {data.contractData.deployedBytecode.object}\n \n :\n \n {data.contractData.deployedBytecode.opcodes}\n \n }\n \n }\n {data.contractData.deployedBytecode &&\n <>\n \n
\n Deployed ByteCode Sourcemap\n
\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n
\n \n {data.contractData.deployedBytecode.sourceMap}\n \n \n }\n
\n \n {readData.length > 0 &&\n <>\n Read Contract Information\n {\n readData.map((v: any, i: number) => {\n return (\n \n {`${i + 1}. ${v.name}`}\n \n
\n {v.inputs.length < 1 ?\n \n :\n \n }\n
\n
\n
\n )\n })\n }\n \n }\n
\n \n {writeData.length > 0 &&\n <>\n Write Contract Information\n \n {\n address && writeData.map((v: any, i: number) => {\n return (\n \n {`${i + 1}. ${v.name} ${v.stateMutability === 'payable' ? '(payable)' : ''}`}\n \n \n \n \n )\n })\n }\n \n }\n \n {readProxyData && \n \n {readProxyData.length > 0 &&\n <>\n Read Contract as Proxy\n
\n ABI for the implementation contract at {data.contractData?.proxyTargetContract}{data.contractData?.proxyType ? `, using ${data.contractData?.proxyType} pattern` : ``}\n
\n {\n readProxyData.map((v: any, i: number) => {\n return (\n \n {`${i + 1}. ${v.name}`}\n \n
\n {v.inputs.length < 1 ?\n \n :\n \n }\n
\n
\n
\n )\n })\n }\n \n }\n
\n }\n {writeProxyData &&\n \n {writeProxyData.length > 0 &&\n <>\n Write Contract as Proxy\n
\n ABI for the implementation contract at {data.contractData?.proxyTargetContract} {data.contractData?.proxyType ? `, using ${data.contractData?.proxyType} pattern` : ``}\n
\n \n {\n address && writeProxyData.map((v: any, i: number) => {\n return (\n \n {`${i + 1}. ${v.name} ${v.stateMutability === 'payable' ? '(payable)' : ''}`}\n \n \n \n \n )\n })\n }\n \n }\n
\n }\n
\n \n )\n}\n\nexport default ContentOfTheContractTab","import BigNumber from 'bignumber.js'\nimport { useCallback } from 'react'\nimport { Redirect, useParams } from 'react-router-dom'\nimport { TokenParamsType } from '../../constants/types'\nimport { columnsBalance, Datatable, DataTableTotal, SkeletonLoading } from '../../common'\nimport { useAppSelector } from '../../app/hooks'\nimport { formatNumber } from '../../utils'\nimport { getTokensInAccount } from './accountsSlice'\n\nexport default function TotalTokenBalance() {\n const { address } = useParams()\n\n const getTokensData = useCallback(\n (params: any) => getTokensInAccount({ ...params, address }),\n [address]\n )\n\n const { data, loading, tokensInAccount } = useAppSelector((state) => state['accounts']['details'])\n\n if (loading === 'pending') return \n if (loading === 'failed') return \n if (!data) return null\n\n const tomoData = {\n address: data.address,\n token: '',\n quantity: new BigNumber(data.balance).toNumber(),\n quantityNumber: data.balanceNumber,\n tokenDecimals: 18,\n tokenName: \"Viction\",\n tokenSymbol: 'VIC',\n tokenType: 'native',\n priceUsd: data.tomoPrice,\n valueUsd: data.tomoInUsd\n }\n\n let newTokensInAccount = [tomoData, ...tokensInAccount.data]\n const totalBalance = data.tomoInUsd + tokensInAccount.usdValue\n newTokensInAccount = newTokensInAccount.map((v: any) => {\n const percentage = totalBalance && v.valueUsd ? formatNumber(new BigNumber(v.valueUsd).div(totalBalance).multipliedBy(100).toNumber(), 2) : ''\n return { ...v, percentage }\n })\n return (\n }\n getData={getTokensData}\n />\n )\n}","import { useState, useEffect, useRef } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { CaretDownOutlined, ArrowRightOutlined } from '@ant-design/icons'\nimport { TokenParamsType } from '../../constants/types'\nimport { TokenIcon } from '../../common'\nimport { useAppDispatch, useAppSelector, useOnClickOutside } from '../../app/hooks'\nimport { formatNumber } from '../../utils'\nimport {\n getTokensInAccountForDropdown,\n resetAccountDetail\n} from './accountsSlice'\nimport {\n List,\n Tooltip,\n} from 'antd'\nimport {\n ListStyled,\n TokenLink,\n TextOverlay,\n TotalPrice,\n TokenCount,\n TokenList,\n TextMainStyle,\n ListButton,\n ViewMore,\n} from './accountDetailsPageStyles'\n\nexport default function ListTokenBalance({ showMore }: { showMore: any }) {\n const [isOpen, setIsOpen] = useState(false)\n\n const node = useRef()\n const { address } = useParams()\n const dispatch = useAppDispatch()\n\n useEffect(() => {\n if (address) {\n dispatch(getTokensInAccountForDropdown({ address, offset: 0, limit: 50 }))\n }\n }, [address, dispatch])\n\n useEffect(() => {\n return () => {\n dispatch(resetAccountDetail())\n }\n }, [])\n\n const { data, loading, tokensInAccountForDropdown } = useAppSelector((state) => state['accounts']['details'])\n\n useOnClickOutside(node, () => setIsOpen(false))\n\n if (!data || (loading === 'pending')) return null\n return (\n <>\n setIsOpen(!isOpen)}\n ref={node as any}\n >\n \n {`$${formatNumber(tokensInAccountForDropdown.usdValue, 2)}`} {tokensInAccountForDropdown.total} \n \n {isOpen &&\n \n (\n \n \n
\n  \n {item.tokenName} ({item.tokenSymbol})\n {formatNumber(item.quantityNumber, 2)} {item.tokenSymbol}\n
\n {item.priceUsd &&\n
\n {formatNumber(item.valueUsd, 2)}\n @{formatNumber(item.priceUsd, 4)}\n
\n }\n
\n\n
\n )}\n />\n\n {(tokensInAccountForDropdown.data.length > 50) && Show more}\n
\n }\n \n \n \n \n \n \n \n )\n}","import { useCallback } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { TokenParamsType } from '../../constants/types'\nimport { columnsTxns, Datatable, DataTableTotal } from '../../common'\nimport { useAppSelector } from '../../app/hooks'\nimport { getTokenInternalTx } from './accountsSlice'\n\nexport default function InteralTxns() {\n const { address } = useParams()\n\n const getInternalTxData = useCallback(\n (params: any) => getTokenInternalTx({ ...params, address }),\n [address]\n )\n\n const { internalTx } = useAppSelector((state) => state['accounts']['details'])\n\n return (\n \n }\n getData={getInternalTxData}\n />\n )\n}\n\n","import { useCallback } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { TokenParamsType } from '../../constants/types'\nimport { accountVrcTokenTxnsColumns, Datatable, DataTableTotal } from '../../common'\nimport { useAppSelector } from '../../app/hooks'\nimport { getVrcTokenTransactions } from './accountsSlice'\n\nexport default function VrcTokenTxns() {\n const { address } = useParams()\n\n const getData= useCallback(\n (params: any) => getVrcTokenTransactions({ ...params, address }),\n [address]\n )\n\n const { vrcTokenTxns } = useAppSelector((state) => state['accounts']['details'])\n\n return (\n }\n getData={getData}\n />\n )\n}\n\n","import { useCallback } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { TokenParamsType } from '../../constants/types'\nimport { columnsRewards, Datatable, DataTableTotal } from '../../common'\nimport { useAppSelector } from '../../app/hooks'\nimport { getUserRewards } from './accountsSlice'\n\nexport default function UserRewards() {\n const { address } = useParams()\n\n const getRewardData = useCallback(\n (params: any) => getUserRewards({ ...params, address }),\n [address]\n )\n\n const { userReward } = useAppSelector((state) => state['accounts']['details'])\n // console.log(userReward.data)\n return (\n \n }\n getData={getRewardData}\n />\n )\n}\n\n","import { useState, } from 'react'\nimport { Helmet } from 'react-helmet-async'\nimport { QRCode } from 'react-qr-svg'\nimport { useParams, Link } from 'react-router-dom'\nimport { CopyToClipboard } from 'react-copy-to-clipboard'\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\n\nimport {\n Tabs,\n Typography,\n Row,\n Col,\n Tooltip,\n Space\n} from 'antd'\nimport {\n QuestionCircleOutlined,\n} from '@ant-design/icons'\nimport {\n MainDetails,\n BoxContentTable,\n BoxContentPlaceHolder,\n TitleHeaderBox,\n InnerPlaceHolder,\n TxtColStyle,\n AddressBox,\n Center,\n TextOverlay,\n TextMain,\n} from './contractDetailsPageStyles'\n\nimport iconQrcode from '../../assets/images/icon/icon-qrcode.svg'\n\nimport { TokenParamsType } from '../../constants/types'\nimport { PageHeader, AddressLink, TabsWithHash, ExportData } from '../../common'\n\nimport { toTomo, formatNumber, timeFormatUtc } from '../../utils'\n\nimport ContractDetailsTxListTab from './ContractDetailsTxListTab'\nimport { TabStyle } from '../../appStyles'\nimport ContractEventLogs from './ContractEventLog'\nimport ContentOfTheContractTab from './ContentOfTheContractTab'\nimport TotalTokenBalance from '../accounts/TotalTokenBalance'\nimport ListTokenBalance from '../accounts/ListTokenBalance'\nimport InteralTxns from '../accounts/InternalTxns'\nimport VrcTokenTxns from '../accounts/VrcTokenTxns'\nimport UserRewards from '../accounts/UserRewards'\nimport CheckStatus from '../../common/CheckStatus'\n\n\nconst { TabPane } = Tabs\nconst { Paragraph, Text } = Typography\n\nexport default function ContractDetailsPage({ data }: any) {\n const [isCopied, setCopied] = useState(false)\n const [activeKey, setActiveKey] = useState('')\n const { address } = useParams()\n\n if (!data) return null\n return (\n \n {address &&\n \n {`Contract ${address}`}\n \n }\n \n \n {
\n \n
}\n {data.address.toLowerCase()}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n {/* \"icon */}\n \"icon\n \n \n \n \n \n }\n >\n {/* \"icon} /> */}\n \"icon\n \n
\n\n \n \n \n Contract Overview\n \n {data.tokenData &&\n \n \n \n Name\n \n \n \n \n {data.tokenData.tokenSymbol}\n \n \n \n }\n {!data.tokenData && data.contractData.contractName &&\n \n \n \n Name\n \n \n \n \n {data.contractData.contractName}\n \n \n \n }\n \n \n \n VIC Balance\n \n \n \n \n \n {formatNumber(toTomo(data.balance, 18), 2)} VIC ({`$${formatNumber(data.tomoInUsd, 2)}`})\n }>\n \n \n \n \n \n \n \n Other VRC Token Balance\n \n \n \n \n setActiveKey('totalBalance')} />\n \n \n \n \n \n \n Transactions Count\n \n \n \n \n {formatNumber(data.txCount)}\n \n \n \n {data.tokenData &&\n \n \n \n Token Tracker\n \n \n \n \n \n {data.tokenData.tokenName} ({data.tokenData.tokenSymbol})\n \n \n \n }\n \n \n \n \n \n More information\n \n \n \n \n Public Name Tag\n \n \n \n \n {data.accountName ? data.accountName : \"Not Available.\"}\n \n \n \n \n \n \n Creator\n \n \n \n \n {data.contractData.createdBy && data.contractData.createdAtHash ?\n
\n
\n at tx
\n
\n : Unknown\n }\n
\n \n
\n \n \n \n Last transaction\n \n \n \n \n {timeFormatUtc(data.timestamp)}\n \n \n \n \n \n \n Compiler\n \n \n \n \n {data.contractData.compiler ?\n {data.contractData.compiler}\n : <>Unverified contract (Verify and publish)\n }\n \n \n \n
\n
\n \n
\n\n \n \n {/* @ts-ignore */}\n setActiveKey(activeKey)}\n activeTab={activeKey}\n type=\"card\"\n tabKeys={[\"internalTxns\", \"vrcTokenTxns\", \"code\", \"event\", \"userRewards\", \"totalBalance\"]}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n Contract\n } key=\"code\">\n {address && }\n \n \n {address && }\n \n \n \n \n \n \n \n \n \n \n \n
\n )\n}\n\nconst TomoToolTip = ({ tomoPrice }: any) => {\n return (\n <>\n \n {`$${formatNumber(tomoPrice, 2)}/VIC`}\n \n \n Price oracle from  \n Coingecko\n \n \n )\n}","import { useState, useEffect, useCallback } from 'react'\nimport { QRCode } from 'react-qr-svg'\nimport { Helmet } from 'react-helmet-async'\nimport { PageHeader, TagWarningAddress } from '../../common/PageHeader'\nimport { Redirect, useParams } from 'react-router-dom'\nimport { CopyToClipboard } from 'react-copy-to-clipboard'\nimport iconQrcode from '../../assets/images/icon/icon-qrcode.svg'\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\nimport { TokenParamsType } from '../../constants/types'\nimport { columnsTransactions, Datatable, DataTableTotal, SkeletonLoading, TabsWithHash, ExportData } from '../../common'\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { toTomo, formatNumber, timeFormatUtc } from '../../utils'\nimport { tagWarningAddress } from '../../constants'\n\nimport {\n getAccountDetails,\n getTokenTransactions,\n resetAccountDetail\n} from './accountsSlice'\nimport {\n Tabs,\n Row,\n Col,\n Tooltip,\n Typography,\n Space,\n} from 'antd'\nimport {\n QuestionCircleOutlined,\n} from '@ant-design/icons'\nimport {\n MainDetails,\n BoxContentTable,\n BoxContentPlaceHolder,\n TitleHeaderBox,\n InnerPlaceHolder,\n TxtColStyle,\n AddressBox,\n StyleCopyIcon,\n Center,\n ButtonStyled,\n TextStyle,\n} from './accountDetailsPageStyles'\nimport { TabStyle } from '../../appStyles'\nimport ContractDetailsPage from '../contracts/ContractDetailsPage'\nimport TotalTokenBalance from './TotalTokenBalance'\nimport ListTokenBalance from './ListTokenBalance'\nimport InternalTxns from './InternalTxns'\nimport UserRewards from './UserRewards'\nimport VrcTokenTxns from './VrcTokenTxns'\nimport { RootState } from '../../app/store'\nimport { useSelector } from 'react-redux'\nimport Colors from '../../constants/themeConfig'\n\nconst { Paragraph } = Typography;\nconst { TabPane } = Tabs\n\nexport default function AccountDetailsPage() {\n const [isCopied, setCopied] = useState(false)\n const [activeKey, setActiveKey] = useState('')\n\n const { address } = useParams()\n const dispatch = useAppDispatch()\n const mode = useSelector((state: RootState) => state.general.mode)\n\n const getTransactionData = useCallback(\n (params: any) => getTokenTransactions({ ...params, address }),\n [address]\n )\n\n useEffect(() => {\n if (address) {\n dispatch(getAccountDetails(address))\n }\n }, [address, dispatch])\n\n useEffect(() => {\n return () => {\n dispatch(resetAccountDetail())\n }\n }, [])\n\n const { data, loading, tokensInAccountForDropdown, transactions } = useAppSelector((state) => state['accounts']['details'])\n\n if (loading === 'pending') return \n if (loading === 'failed') return \n if (!data) return null\n\n if (data.isToken && !data.isContract) return \n if (data.isContract) return \n\n const totalBalance = data.tomoInUsd + tokensInAccountForDropdown.usdValue\n return (\n \n {address &&\n \n {`Address ${address}`}\n \n }\n \n \n {data ? data.address : ''}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \n \"icon\n \n \n \n \n \n \n }\n >\n \"icon} />\n \n \n\n {address && tagWarningAddress[address] &&\n
\n \n {tagWarningAddress[address]?.text}\n \n Detail here\n \n
Please exercise caution when interacting with this address.
\n {Array.isArray(tagWarningAddress[address]?.tag) ?\n tagWarningAddress[address]?.tag.map((t: string, i: any) => (\n {t}\n ))\n : ''\n }\n
\n
\n }\n\n
\n \n \n \n Overview\n \n \n \n \n Total Balance\n \n \n \n \n ${formatNumber(totalBalance, 4)}\n \n \n \n \n \n \n VIC Balance\n \n \n \n \n \n {formatNumber(toTomo(data.balance, 18), 2)} VIC ({`$${formatNumber(data.tomoInUsd, 2)}`})\n }>\n \n \n \n \n \n \n \n Other VRC Token Balance\n \n \n \n \n setActiveKey('totalBalance')} />\n \n \n \n \n \n \n \n \n More information\n \n \n \n \n Public Name Tag\n \n \n \n \n {data.accountName ? data.accountName : \"Not Available.\"}\n \n \n \n \n \n \n Transaction Count\n \n \n \n \n {transactions ? transactions.total : 0} txs\n \n \n \n \n \n \n Last transaction\n \n \n \n \n {timeFormatUtc(data.timestamp)}\n \n \n \n \n \n \n \n\n \n \n {/* @ts-ignore */}\n setActiveKey(activeKey)} type=\"card\" activeTab={activeKey} tabKeys={[\"internalTxns\", \"vrcTokenTxns\", \"userRewards\", \"totalBalance\"]}>\n \n \n }\n getData={getTransactionData}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n )\n}\nconst TomoToolTip = ({ tomoPrice }: any) => {\n return (\n <>\n \n {`$${formatNumber(tomoPrice, 2)}/VIC`}\n \n \n Price oracle from  \n Coingecko\n \n \n )\n}\n\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\n\nimport { MasternodesState } from '../../constants/types'\nimport { fetchMasternodeList } from '../../api'\nimport { requestLimit } from '../../features/general/generalSlice'\n\n// Create thunk\nexport const getMasternodeList = createAsyncThunk(\n 'masternodes/getMasternodeList',\n async (params: {offset: number, limit: number}, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchMasternodeList(offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// Declare slice\nconst initialState = {\n list: { \n data: [],\n loading: 'idle',\n total: null,\n },\n} as MasternodesState\n\nconst masternodesSlice = createSlice({\n name: 'masternodes',\n initialState,\n reducers: {\n // reset masternode list\n resetMasternodeList(state) {\n state.list.data = []\n state.list.loading = 'idle'\n state.list.total = null\n }\n },\n extraReducers: (builder) => {\n // masternode list\n builder.addCase(getMasternodeList.pending, (state) => {\n state.list.loading = 'pending'\n })\n\n builder.addCase(getMasternodeList.fulfilled, (state, action) => {\n const data = action.payload.candidates.map((item: any, index: number) => {\n item.rank = index + 1\n return item\n })\n \n state.list.loading = 'succeeded'\n state.list.data = data\n state.list.total = data.length\n })\n\n builder.addCase(getMasternodeList.rejected, (state) => {\n state.list.loading = 'failed'\n state.list.data = []\n state.list.total = null\n })\n },\n})\n\nexport const { resetMasternodeList } = masternodesSlice.actions\nexport default masternodesSlice.reducer\n","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { getMasternodeList, resetMasternodeList } from './masternodesSlice'\nimport { PageHeader, Datatable, masternodeColumns, DataTableTotal } from '../../common'\n\nexport default function EpochsList() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['masternodes']['list'])\n\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetMasternodeList())\n }\n }, [])\n\n return (\n
\n \n \n }\n showPagination={false}\n getData={getMasternodeList}\n />\n
\n )\n}","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { PageHeader, Datatable, DataTableTotal, contractColumns } from '../../common'\nimport { getContractList, resetContractList } from './contractsSlice'\n\nexport default function BlockListPage() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['contracts']['list'])\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetContractList())\n }\n }, [])\n\n return (\n
\n \n\n }\n getData={getContractList}\n />\n
\n )\n}\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\nimport BigNumber from 'bignumber.js'\n\nimport { TokensState } from '../../constants/types'\nimport {\n fetchNormalTokenList,\n fetchVrc721TokenList,\n fetchTokenDetailsByAddress,\n fetchVrc2021HolderList,\n fetchVrc721HolderList,\n fetchVrc2021TransferList,\n fetchVrc721TransferList,\n fetchVrc721InventoryList,\n // fetchTokenBalance,\n fetchTokenBalanceOnAccount\n} from '../../api'\nimport { requestLimit } from '../../features/general/generalSlice'\n\n// Create thunk\n// vrc20/21 token list\nexport const getNormalTokenList = createAsyncThunk(\n 'tokens/getNormalTokenList',\n async (params: { offset: number, limit: number }, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchNormalTokenList(offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// vrc721 token list\nexport const getVrc721TokenList = createAsyncThunk(\n 'tokens/getVrc721TokenList',\n async (params: { offset: number, limit: number }, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchVrc721TokenList(offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// vrc20/21 holder list\nexport const getVrc2021HolderList = createAsyncThunk(\n 'tokens/getVrc2021HolderList',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n\n const response = await fetchVrc2021HolderList(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// vrc721 holder list\nexport const getVrc721HolderList = createAsyncThunk(\n 'tokens/getVrc721HolderList',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n\n const response = await fetchVrc721HolderList(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// vrc721 inventory list\nexport const getVrc721InventoryList = createAsyncThunk(\n 'tokens/getVrc721InventoryList',\n async (params: { tokenAddress: string, ownerAddress: string, tokenId: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { tokenAddress, ownerAddress, tokenId, offset, limit } = params\n\n const response = await fetchVrc721InventoryList(tokenAddress, ownerAddress, tokenId, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// vrc20/21 transfer list\nexport const getVrc2021TransferList = createAsyncThunk(\n 'tokens/getVrc2021TransferList',\n async (params: { address: string, account: string | undefined, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, account, offset, limit } = params\n const response = await fetchVrc2021TransferList(address, account, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// vrc721 transfer list\nexport const getVrc721TransferList = createAsyncThunk(\n 'tokens/getVrc721TransferList',\n async (params: { tokenAddress: string, ownerAddress: string | undefined, tokenId: string | undefined, offset: number, limit: number }, thunkAPI) => {\n try {\n const { tokenAddress, ownerAddress, tokenId, offset, limit } = params\n\n const response = await fetchVrc721TransferList(tokenAddress, ownerAddress, tokenId, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// token details\nexport const getTokenDetailsByAddress = createAsyncThunk(\n 'tokens/getTokenDetailsByAddress',\n async (address: string, thunkAPI) => {\n try {\n const response = await fetchTokenDetailsByAddress(address)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n// token details\nexport const getTokenBalanceOnAccount = createAsyncThunk(\n 'tokens/getTokenBalanceOnAccount',\n async (params:{owner: string,address: string}, thunkAPI) => {\n try {\n const { owner,address } = params\n const response = await fetchTokenBalanceOnAccount(owner,address )\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// Declare slice\nconst initialState = {\n list: {\n vrc2021: {\n data: [],\n loading: 'idle',\n total: null,\n },\n vrc721: {\n data: [],\n loading: 'idle',\n total: null,\n }\n },\n details: {\n data: null,\n loading: 'idle',\n holders: {\n vrc2021: {\n data: [],\n loading: 'idle',\n total: null,\n },\n vrc721: {\n data: [],\n loading: 'idle',\n total: null,\n },\n },\n transfers: {\n vrc2021: {\n data: [],\n loading: 'idle',\n total: null,\n },\n vrc721: {\n data: [],\n loading: 'idle',\n total: null,\n },\n },\n inventory: {\n data: [],\n loading: 'idle',\n total: 0,\n },\n tokenBalanceOnAccount: {\n loading: 'idle',\n data: {\n isNft: false,\n symbol: '',\n decimals: null,\n balance: null,\n price: null\n } \n }\n }\n} as TokensState\n\nconst tokensSlice = createSlice({\n name: 'tokens',\n initialState,\n reducers: {\n // reset token list\n resetVrc2021List(state) {\n state.list.vrc2021 = { ...initialState.list.vrc2021 }\n },\n\n resetVrc721List(state) {\n state.list.vrc721 = { ...initialState.list.vrc721 }\n }\n },\n extraReducers: (builder) => {\n // vrc20/21 token list\n builder.addCase(getNormalTokenList.pending, (state, action) => {\n state.list.vrc2021.loading = 'pending'\n })\n\n builder.addCase(getNormalTokenList.fulfilled, (state, action) => {\n state.list.vrc2021.loading = 'succeeded'\n state.list.vrc2021.data = action.payload.data\n state.list.vrc2021.total = action.payload.total\n })\n\n builder.addCase(getNormalTokenList.rejected, (state, action) => {\n state.list.vrc2021.loading = 'failed'\n state.list.vrc2021.data = []\n state.list.vrc2021.total = null\n })\n\n // vrc721 token list\n builder.addCase(getVrc721TokenList.pending, (state, action) => {\n state.list.vrc721.loading = 'pending'\n })\n\n builder.addCase(getVrc721TokenList.fulfilled, (state, action) => {\n state.list.vrc721.loading = 'succeeded'\n state.list.vrc721.data = action.payload.data\n state.list.vrc721.total = action.payload.total\n })\n\n builder.addCase(getVrc721TokenList.rejected, (state, action) => {\n state.list.vrc721.loading = 'failed'\n state.list.vrc721.data = []\n state.list.vrc721.total = null\n })\n\n // vrc20/21 holder list\n builder.addCase(getVrc2021HolderList.pending, (state, action) => {\n state.details.holders.vrc2021.loading = 'pending'\n })\n\n builder.addCase(getVrc2021HolderList.fulfilled, (state, action) => {\n state.details.holders.vrc2021.loading = 'succeeded'\n state.details.holders.vrc2021.data = action.payload.data\n state.details.holders.vrc2021.total = action.payload.total\n })\n\n builder.addCase(getVrc2021HolderList.rejected, (state, action) => {\n state.details.holders.vrc2021.loading = 'failed'\n state.details.holders.vrc2021.data = []\n state.details.holders.vrc2021.total = null\n })\n\n // vrc721 holder list\n builder.addCase(getVrc721HolderList.pending, (state, action) => {\n state.details.holders.vrc721.loading = 'pending'\n })\n\n builder.addCase(getVrc721HolderList.fulfilled, (state, action) => {\n state.details.holders.vrc721.loading = 'succeeded'\n state.details.holders.vrc721.data = action.payload.data\n state.details.holders.vrc721.total = action.payload.total\n })\n\n builder.addCase(getVrc721HolderList.rejected, (state, action) => {\n state.details.holders.vrc721.loading = 'failed'\n state.details.holders.vrc721.data = []\n state.details.holders.vrc721.total = null\n })\n\n // vrc721 inventory list\n builder.addCase(getVrc721InventoryList.pending, (state, action) => {\n state.details.inventory.loading = 'pending'\n })\n\n builder.addCase(getVrc721InventoryList.fulfilled, (state, action) => {\n state.details.inventory.loading = 'succeeded'\n state.details.inventory.data = action.payload.data\n state.details.inventory.total = action.payload.total\n })\n\n builder.addCase(getVrc721InventoryList.rejected, (state, action) => {\n state.details.inventory.loading = 'failed'\n state.details.inventory.data = []\n state.details.inventory.total = 0\n })\n\n // vrc20/21 transfer list\n builder.addCase(getVrc2021TransferList.pending, (state, action) => {\n state.details.transfers.vrc2021.loading = 'pending'\n })\n\n builder.addCase(getVrc2021TransferList.fulfilled, (state, action) => {\n state.details.transfers.vrc2021.loading = 'succeeded'\n state.details.transfers.vrc2021.data = action.payload.data\n state.details.transfers.vrc2021.total = action.payload.total\n })\n\n builder.addCase(getVrc2021TransferList.rejected, (state, action) => {\n state.details.transfers.vrc2021.loading = 'failed'\n state.details.transfers.vrc2021.data = []\n state.details.transfers.vrc2021.total = null\n })\n\n // vrc721 transfer list\n builder.addCase(getVrc721TransferList.pending, (state, action) => {\n state.details.transfers.vrc721.loading = 'pending'\n })\n\n builder.addCase(getVrc721TransferList.fulfilled, (state, action) => {\n state.details.transfers.vrc721.loading = 'succeeded'\n state.details.transfers.vrc721.data = action.payload.data\n state.details.transfers.vrc721.total = action.payload.total\n })\n\n builder.addCase(getVrc721TransferList.rejected, (state, action) => {\n state.details.transfers.vrc721.loading = 'failed'\n state.details.transfers.vrc721.data = []\n state.details.transfers.vrc721.total = null\n })\n\n // token details\n builder.addCase(getTokenDetailsByAddress.pending, (state, action) => {\n state.details.loading = 'pending'\n state.details.data = null\n })\n builder.addCase(getTokenDetailsByAddress.fulfilled, (state, action) => {\n const { price, totalSupplyNumber } = action.payload\n const fullyDilutedMarketcap = (price && totalSupplyNumber) ? new BigNumber(price).times(totalSupplyNumber).toNumber() : ''\n\n state.details.loading = 'succeeded'\n state.details.data = { ...action.payload, fullyDilutedMarketcap }\n })\n builder.addCase(getTokenDetailsByAddress.rejected, (state, action) => {\n state.details.loading = 'failed'\n state.details.data = null\n })\n // token balance on account\n builder.addCase(getTokenBalanceOnAccount.pending, (state, action) => {\n state.details.tokenBalanceOnAccount.loading = 'pending'\n })\n builder.addCase(getTokenBalanceOnAccount.fulfilled, (state, action) => {\n state.details.tokenBalanceOnAccount.data = action.payload\n state.details.tokenBalanceOnAccount.loading = 'succeeded' \n })\n builder.addCase(getTokenBalanceOnAccount.rejected, (state, action) => {\n state.details.tokenBalanceOnAccount.loading = 'failed'\n })\n },\n})\n\nexport const { resetVrc2021List, resetVrc721List } = tokensSlice.actions\nexport default tokensSlice.reducer\n","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { PageHeader, Datatable, DataTableTotal, tokenColumns } from '../../common'\nimport { getNormalTokenList, resetVrc2021List } from './tokensSlice'\n\nexport default function TokenListPage() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['tokens']['list']['vrc2021']) \n\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetVrc2021List())\n }\n }, [])\n\n return (\n
\n \n\n }\n getData={getNormalTokenList}\n />\n
\n )\n}","import styled from \"styled-components\";\nimport { Button, Input } from 'antd'\n\nexport const MainDetails = styled.div`\n .ant-tabs-content .content-table{\n padding: 0;\n }\n @media(max-width: 767px){\n .rp-mb{\n margin-bottom: 30px;\n }\n .ant-row{\n margin-bottom: 15px;\n } \n }\n`\nexport const BoxContentPlaceHolder = styled.div`\n background-color: ${({ theme }) => theme.bg2};\n padding: 15px 24px;\n height: 100%;\n @media(max-width: 767px){\n padding-left: 15px;\n padding-right: 15px;\n }\n`\nexport const InnerPlaceHolder = styled.div`\n`\nexport const TxtColStyle = styled.div`\n margin: 10px 0;\n word-break: break-all;\n &.col-txt-left {\n color: ${({ theme }) => theme.textOverlay};\n }\n &.col-txt-right {\n color: ${({ theme }) => theme.text};\n }\n @media(max-width: 767px){\n margin: 0;\n }\n`\nexport const BoxContentTable = styled.div`\n margin-top: 25px;\n position: relative;\n`\nexport const TitleHeaderBox = styled.div`\n font-weight: bold;\n font-size: 16px;\n margin-bottom: 10px;\n padding-bottom: 15px;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n color: ${({ theme }) => theme.text};\n`\nexport const TxtInfoTable = styled.div`\n color: ${({ theme }) => theme.textOverlay};\n .ant-typography {\n color: ${({ theme }) => theme.text};\n &.ant-typography-secondary {\n color: ${({ theme }) => theme.textOverlay};\n }\n }\n`\nexport const AddressBox = styled.div`\n display: flex;\n`\nexport const StyleCopyIcon = styled.div`\n border-radius: 0;\n cursor: pointer;\n border-radius: 0;\n color: ${({ theme }) => theme.textOverlay};\n border: 0;\n width: 22px;\n height: 22px;\n display: flex;\n align-items: center;\n margin-left: 5px;\n justify-content: center;\n &:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n > *{\n width: 20px;\n height: 20px;\n line-height: 20px;\n text-align: center;\n }\n`\n\nexport const Center = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`\nexport const ButtonStyled = styled(Button)`\n &.ant-btn,\n &.ant-btn:hover,\n &.ant-btn:focus {\n color: ${({ theme }) => theme.textOverlay};\n border: 0;\n width: 22px;\n height: 22px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ${({ theme }) => theme.bg};\n }\n &.ant-btn:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n`\n\nexport const OwnerHeader = styled.div`\n font-weight: bold;\n color: ${({ theme }) => theme.text}\n`\n\nexport const OwnerTitle = styled.span`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const TextMain = styled.span`\n color: ${({ theme }) => theme.text};\n`\n\nexport const OwnerBalanceBox = styled.div`\n padding-left: 34px;\n border-left: 1px solid ${({theme})=> theme.border};\n @media(max-width: 767px){\n padding-left: 0px;\n padding-right: 10px;\n margin-top: 20px;\n border-left: none;\n }\n`\nexport const PositionStyled = styled.div`\n position: absolute;\n right: 24px;\n top: 24px;\n @media(max-width: 767px){\n position: static;\n .ant-form ant-form-vertical{\n justify-content: center;\n }\n }\n`\nexport const InputStyled = styled(Input)`\n min-width: 250px;\n background-color: ${({theme})=> theme.bg1};\n padding-right: 5px;\n border: 1px solid ${({theme})=>theme.border};\n &:focus,&:active{\n outline: none;\n border: none;\n }\n .ant-input-suffix{\n margin-left: 0;\n }\n .ant-input{\n background-color: ${({theme})=> theme.bg1};\n }\n`\nexport const ButtonSubmit = styled(Input)`\n cursor: pointer;\n color: #fff;\n background-color: ${({theme})=> theme.primary};;\n fontSize: 12px;\n &:focus,&:active{\n outline: none;\n border: none;\n }\n`\n","import BigNumber from 'bignumber.js'\nimport { useCallback } from 'react'\n\nimport { useAppSelector } from '../../app/hooks'\nimport { Datatable, DataTableTotal, tokenHolderColumns } from '../../common'\nimport { TokenDetailsType } from '../../constants/types'\nimport { getVrc2021HolderList, getVrc721HolderList } from './tokensSlice'\nimport { fungibleTokenStandard, nonFungibleTokenStandard } from '../../constants'\n\ninterface TokenDetailsHolderListProps {\n token: TokenDetailsType\n price: number\n totalSupply: number\n}\n\n// return get holder list function depend token's type\nfunction getHolderListFunction(type: string) {\n if (nonFungibleTokenStandard.includes(type)) {\n return getVrc721HolderList\n }\n\n return getVrc2021HolderList\n}\n\nexport default function TokenDetailsHolderList({ token, price, totalSupply }: TokenDetailsHolderListProps) {\n const { holders } = useAppSelector((state) => state.tokens.details)\n\n const getData = useCallback(\n (params: any) => getHolderListFunction(token.type)({ ...params, address: token.address }),\n []\n )\n\n const stateType = fungibleTokenStandard.includes(token.type) ? 'vrc2021' : 'vrc721'\n const { data, total, loading } = holders[stateType]\n const newData = data.map((v) => {\n const percentage = v.quantityNumber ? new BigNumber(v.quantityNumber).div(totalSupply).multipliedBy(100) : ''\n const valueUsd = v.quantityNumber && price ? new BigNumber(v.quantityNumber).multipliedBy(price).toNumber() : ''\n return { ...v, percentage, valueUsd }\n })\n return (\n }\n getData={getData}\n />\n )\n}","import { useCallback, useState } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport { Form } from 'antd'\n\nimport { useAppSelector, useQuery } from '../../app/hooks'\nimport { Datatable, DataTableTotal, tokenTransferColumns } from '../../common'\nimport { TokenDetailsType } from '../../constants/types'\nimport { getVrc2021TransferList } from './tokensSlice'\nimport { SearchOutlined } from '@ant-design/icons'\n\n\n\nimport {\n InputStyled,\n PositionStyled\n} from './tokenDetailsPageStyles'\nimport { fungibleTokenStandard } from '../../constants'\n\ninterface Vrc2021TransferListProps {\n token: TokenDetailsType\n}\n\nexport default function TokenDetailsTransferList({ token }: Vrc2021TransferListProps) {\n const query = useQuery()\n const getAccount = query.get('account')?.trim() || ''\n const [account, setAccount] = useState(getAccount)\n \n const history = useHistory()\n const { transfers } = useAppSelector((state) => state.tokens.details)\n\n const getData = useCallback(\n (params: any) => getVrc2021TransferList({ ...params, address: token.address,account }),\n [account]\n )\n \n const onFinish = async (values: any) => {\n setAccount(values.address)\n if (values.address) {\n history.push({ search: `?account=${values.address}` })\n } else {\n history.push({ search: '' })\n }\n }\n const stateType = fungibleTokenStandard.includes(token.type) ? 'vrc2021' : 'vrc721'\n const { data, total, loading } = transfers[stateType]\n\n return (\n <>\n \n\n
\n \n \n \n \n {/* */}\n \n \n \n
\n }\n getData={getData}\n />\n \n )\n}","import { useCallback } from 'react'\n\nimport { useAppSelector } from '../../app/hooks'\nimport { Datatable, DataTableTotal, tokenTransferVrc721Columns } from '../../common'\nimport { TokenDetailsType } from '../../constants/types'\nimport { getVrc721TransferList } from './tokensSlice'\n\ninterface Vrc721TransferListProps {\n token: TokenDetailsType\n ownerAddress?: string\n tokenId?: string\n}\n\nexport default function TokenDetailsTransferList({ token, ownerAddress, tokenId }: Vrc721TransferListProps) {\n const { transfers } = useAppSelector((state) => state.tokens.details)\n\n const getData = useCallback(\n (params: any) => getVrc721TransferList({ ...params, tokenAddress: token.address, ownerAddress, tokenId }),\n [ownerAddress, tokenId, token]\n )\n\n const { data, total, loading } = transfers['vrc721']\n\n return (\n }\n getData={getData}\n />\n )\n}","import { useCallback } from 'react'\n\nimport { useAppSelector } from '../../app/hooks'\nimport { Datatable, DataTableTotal, token721InventoryColumns } from '../../common'\nimport { TokenDetailsType } from '../../constants/types'\nimport { getVrc721InventoryList } from './tokensSlice'\n\ninterface InventoryListProps {\n token: TokenDetailsType\n ownerAddress?: string\n tokenId?: string\n}\n\nexport default function InventoryList({ token, ownerAddress = '', tokenId = '' }: InventoryListProps) {\n const { inventory } = useAppSelector((state) => state.tokens.details)\n\n const getData = useCallback(\n (params: any) => getVrc721InventoryList({ ...params, tokenAddress: token.address, ownerAddress, tokenId }),\n [ownerAddress, tokenId, token]\n )\n\n const { data, total, loading } = inventory\n\n return (\n }\n getData={getData}\n />\n )\n}","import React from 'react'\nimport { Redirect } from 'react-router'\nimport { useStateDetails } from '../../app/hooks'\nimport { SkeletonLoading } from '../../common'\nimport ContentOfTheContractTab from '../contracts/ContentOfTheContractTab'\nimport { getContractDetailsByAddress } from '../contracts/contractsSlice'\n\nconst ContractInfomation = ({ address}: any) => {\n const { loading, data } = useStateDetails(getContractDetailsByAddress, address, 'contracts')\n if (loading === 'pending') return \n if (loading === 'failed') return \n if (!data) return null\n return (\n \n )\n}\n\nexport default ContractInfomation","import { Row, Col } from 'antd'\n\nimport {\n BoxContentPlaceHolder,\n TitleHeaderBox,\n InnerPlaceHolder,\n TxtColStyle,\n} from './tokenDetailsPageStyles'\n\nimport { formatNumber } from '../../utils'\n\nexport default function Vrc2021Overview({ data }: { data: any }) {\n return (\n \n Market Overview\n \n {!!data.price &&\n \n \n \n Price\n \n \n \n \n ${formatNumber(data.price)}\n \n \n \n }\n\n {!!data.marketcap &&\n \n \n \n Market Cap\n \n \n \n \n ${formatNumber(data.marketcap, 2)}\n \n \n \n }\n\n {!!data.fullyDilutedMarketcap &&\n \n \n \n Fully Diluted Market Cap\n \n \n \n \n ${formatNumber(data.fullyDilutedMarketcap, 2)}\n \n \n \n }\n\n \n \n \n Max Total Supply\n \n \n \n \n {formatNumber(data.totalSupplyNumber, 2)}\n \n \n \n \n \n \n Circulating Supply\n \n \n \n \n {formatNumber(data.circulatingSupplyNumber, 2)}\n \n \n \n \n \n )\n}","import { useState } from 'react'\nimport { Link } from 'react-router-dom'\nimport { Row, Col, Tooltip } from 'antd'\nimport CopyToClipboard from 'react-copy-to-clipboard'\nimport { QRCode } from 'react-qr-svg'\n\nimport {\n BoxContentPlaceHolder,\n TitleHeaderBox,\n InnerPlaceHolder,\n TxtColStyle,\n Center,\n AddressBox,\n StyleCopyIcon\n} from './tokenDetailsPageStyles'\n\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\nimport iconQrcode from '../../assets/images/icon/icon-qrcode.svg'\nimport { formatNumber } from '../../utils'\nimport CheckStatus from '../../common/CheckStatus'\n\nexport default function Vrc2021MoreInfo({ data }: { data: any }) {\n const [isCopied, setCopied] = useState(false)\n\n return (\n \n More Information\n \n \n \n \n Contract\n \n \n \n \n \n \n {/* {data.address} */}\n {data.address}\n \n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n }\n >\n \"icon\n \n \n \n \n \n \n \n \n Token Status\n \n \n \n \n \n \n \n \n \n \n \n Holders\n \n \n \n \n {formatNumber(data.holder)}\n \n \n \n \n \n \n Transfers\n \n \n \n \n {formatNumber(data.transferCount)}\n \n \n \n\n {data.decimals &&\n \n \n \n Decimals\n \n \n \n \n {data.decimals}\n \n \n \n }\n\n {data.website &&\n \n \n \n Website\n \n \n \n \n {data.website}\n \n \n \n }\n \n \n )\n}","import { Row, Col } from 'antd'\n\nimport {\n BoxContentPlaceHolder,\n TitleHeaderBox,\n InnerPlaceHolder,\n TxtColStyle,\n} from './tokenDetailsPageStyles'\n\nimport { formatNumber } from '../../utils'\n\nexport default function Vrc721Overview({ data, tokenId = '' }: { data: any, tokenId: string }) {\n return (\n \n Market Overview\n \n {data.price &&\n \n \n \n Price\n \n \n \n \n ${formatNumber(data.price)}\n \n \n \n }\n\n {!!tokenId && (\n \n \n \n TokenID\n \n \n \n \n {tokenId}\n \n \n \n )}\n\n {!tokenId && (\n <>\n \n \n \n Max Total Supply\n \n \n \n \n {formatNumber(data.totalSupplyNumber, 2)}\n \n \n \n\n \n \n \n Holders\n \n \n \n \n {formatNumber(data.holder)}\n \n \n \n \n )}\n \n \n \n )\n}","import { useState } from 'react'\nimport { Link } from 'react-router-dom'\nimport { Row, Col, Tooltip } from 'antd'\nimport CopyToClipboard from 'react-copy-to-clipboard'\nimport { QRCode } from 'react-qr-svg'\n\nimport {\n BoxContentPlaceHolder,\n TitleHeaderBox,\n InnerPlaceHolder,\n TxtColStyle,\n Center,\n AddressBox,\n StyleCopyIcon\n} from './tokenDetailsPageStyles'\n\nimport { TextStyled } from '../../common'\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\nimport iconQrcode from '../../assets/images/icon/icon-qrcode.svg'\nimport { formatNumber } from '../../utils'\n\nexport default function Vrc721MoreInfo({ data, tokenId }: { data: any, tokenId: any }) {\n const [isCopied, setCopied] = useState(false)\n\n return (\n \n More Information\n \n \n \n \n Contract\n \n \n \n \n \n {data.address}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n }\n >\n \"icon\n \n \n \n \n \n\n {!tokenId && (\n \n \n \n Transfers\n \n \n \n \n {formatNumber(data.transferCount)}\n \n \n \n )}\n\n {data.website &&\n \n \n \n Website\n \n \n \n \n {data.website}\n \n \n \n }\n \n \n )\n}","import {useEffect} from 'react'\nimport { Link, useParams, Redirect } from 'react-router-dom'\nimport BigNumber from 'bignumber.js'\nimport { Tabs, Row, Col } from 'antd'\nimport { Helmet } from 'react-helmet-async'\n\nimport {\n MainDetails,\n BoxContentTable,\n BoxContentPlaceHolder,\n OwnerHeader,\n OwnerBalanceBox,\n OwnerTitle,\n TextMain\n} from './tokenDetailsPageStyles'\n\nimport {\n SkeletonLoading,\n PageHeaderTokenDetail,\n TabsWithHash,\n} from '../../common'\n\nimport { useQuery } from '../../app/hooks'\nimport { TokenParamsType } from '../../constants/types'\nimport { formatNumber } from '../../utils'\nimport { useStateDetails, useAppSelector,useAppDispatch } from '../../app/hooks'\nimport { getTokenDetailsByAddress, getTokenBalanceOnAccount } from './tokensSlice'\nimport TokenDetailsHolderList from './TokenDetailsHolderList'\nimport Vrc2021TransferList from './Vrc2021TransferList'\nimport Vrc721TransferList from './Vrc721TransferList'\nimport Vrc721InventoryList from './Vrc721InventoryList'\nimport { TabStyle } from '../../appStyles'\nimport ContractInfomation from './ContractInfomation'\nimport Vrc2021Overview from './Vrc2021Overview'\nimport Vrc2021MoreInfo from './Vrc2021MoreInfo'\nimport Vrc721Overview from './Vrc721Overview'\nimport Vrc721MoreInfo from './Vrc721MoreInfo'\nimport { fungibleTokenStandard, nonFungibleTokenStandard } from '../../constants'\nimport CheckStatus from '../../common/CheckStatus'\n\n\nconst { TabPane } = Tabs\n\nexport default function TokenDetailsPage() {\n const query = useQuery()\n const owner = query.get('account')?.trim() || ''\n const tokenId = query.get('tokenId')?.trim() || ''\n const { address } = useParams()\n const { tokenBalanceOnAccount } = useAppSelector((state) => state.tokens.details)\n const { loading, data } = useStateDetails(getTokenDetailsByAddress, address, 'tokens')\n const dispatch = useAppDispatch()\n useEffect(() => {\n if (owner && address) dispatch(getTokenBalanceOnAccount({ owner,address }))\n }, [owner,address, dispatch])\n if (loading === 'pending') return \n if (loading === 'failed') return \n if (!data) return null\n\n return (\n \n {(data.price && data.name && data.symbol) && (\n \n ${formatNumber(data.price)} | {data.name} ({data.symbol?.toUpperCase()}) | VIC Scan - Viction Block Explorer\n \n )}\n\n {(!data.price && data.name && data.symbol) && (\n \n {data.name} ({data.symbol?.toUpperCase()}) | VIC Scan - Viction Block Explorer\n \n )}\n\n \n\n \n \n {(!data.type || fungibleTokenStandard.includes(data.type.toLowerCase())) && }\n {(data.type && nonFungibleTokenStandard.includes(data.type.toLowerCase())) && }\n \n \n {(!data.type || fungibleTokenStandard.includes(data.type.toLowerCase())) && }\n {(data.type && nonFungibleTokenStandard.includes(data.type.toLowerCase())) && }\n \n \n\n {!!owner && !tokenBalanceOnAccount.data.isNft && (\n \n \n \n \n
\n FILTERED BY TOKEN HOLDER\n
{owner}
\n
\n \n\n \n \n
BALANCE
\n {tokenBalanceOnAccount && tokenBalanceOnAccount.data.balance && tokenBalanceOnAccount.data.decimals &&\n
{formatNumber(new BigNumber(tokenBalanceOnAccount.data.balance).dividedBy(10 ** tokenBalanceOnAccount.data.decimals).toNumber())} {tokenBalanceOnAccount.data.symbol}
\n }\n
\n \n {!!tokenBalanceOnAccount.data.price && tokenBalanceOnAccount && !!tokenBalanceOnAccount.data.balance && !!tokenBalanceOnAccount.data.decimals &&\n \n \n
VALUE
\n
${formatNumber(new BigNumber(tokenBalanceOnAccount.data.balance).dividedBy(10 ** tokenBalanceOnAccount.data.decimals).multipliedBy(tokenBalanceOnAccount.data.price).toNumber())}
\n
\n \n }\n
\n
\n )}\n\n \n \n {data.type && fungibleTokenStandard.includes(data.type.toLowerCase()) && (\n \n \n \n \n\n \n \n \n\n Contract   } key=\"code\">\n {address && }\n \n \n )}\n\n {data.type && ['tr721', 'vrc721', 'vrc725'].includes(data.type.toLowerCase()) && (\n \n \n {!!owner && }\n {!!tokenId && }\n {!owner && !tokenId && }\n \n\n \n \n \n\n Contract   } key=\"code\">\n {address && }\n \n \n )}\n\n {!data.type && (\n \n \n \n \n\n \n {address && }\n \n \n )}\n \n \n
\n )\n}\n\n","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { PageHeader, Datatable, DataTableTotal, token721Columns } from '../../common'\nimport { getVrc721TokenList, resetVrc721List } from './tokensSlice'\n\nexport default function TokenListVrc721Page() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['tokens']['list']['vrc721'])\n\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetVrc721List())\n }\n }, [])\n\n return (\n
\n \n\n }\n getData={getVrc721TokenList}\n />\n
\n )\n}","export default __webpack_public_path__ + \"static/media/404.04860735.svg\";","import styled from 'styled-components'\n\nexport const Container = styled.div`\n max-width: 1270px;\n margin: 0 auto;\n padding: 0 15px;\n`\n\nexport const Warning = styled.div`\n text-align: center;\n .img-visual {\n margin: 25px 0;\n @media only screen and (max-width: 1500px) {\n img {\n max-height: 250px;\n }\n }\n }\n .btn-blue-bd-blue {\n background: #00E8B5;\n border-radius: 8px;\n padding: 10px 24px;\n color: #FFFFFF;\n border: 1px solid #00E8B5;\n height: auto;\n margin: 0 10px;\n font-weight: 800;\n font-size: 15px;\n }\n .btn-white-bd-blue {\n background: #F2FEFB;\n border-radius: 8px;\n padding: 10px 24px;\n color: #00E8B5;\n border: 1px solid #00E8B5;\n display: inline-block;\n margin: 15px 10px;\n font-weight: 800;\n font-size: 15px;\n }\n .mt-3 {\n margin-top: 15px;\n @media only screen and (max-width: 767px) {\n margin-bottom: 15px;\n }\n }\n .dark .ant-typography {\n color: #ffffff;\n }\n`\n\nexport const SearchWrapper = styled.div`\n max-width: 720px;\n position: relative;\n margin: auto;\n .SuggestContentDropdown {\n bottom: 50px;\n }\n`","import { useHistory } from 'react-router-dom'\nimport { Typography, Button } from 'antd'\n\nimport errorImg from '../../assets/images/404.svg'\nimport { Container, Warning, SearchWrapper } from './notFoundPageStyles'\nimport { SearchBox } from '../../common'\nimport { useQuery } from '../../app/hooks'\nimport { useSelector } from 'react-redux'\nimport { RootState } from '../../app/store'\n\nconst { Paragraph, Text, Title } = Typography\n\nfunction NotFoundPage() {\n const query = useQuery()\n const history = useHistory()\n const mode = useSelector((state: RootState) => state.general.mode)\n\n function retry() {\n const searchString = query.get('q')?.trim() || ''\n let searchType\n\n switch (true) {\n case searchString.length === 66:\n searchType = 'tx'\n break;\n\n case !searchString.match(/\\D+/):\n searchType = 'block'\n break;\n\n default:\n searchType = 'address'\n break;\n }\n\n if (searchString && searchType) {\n history.push(`/${searchType}/${searchString}`)\n }\n }\n\n return (\n \n \n
\"\"
\n
\n Search not found\n Oops! The search string you entered was: "{query.get(\"q\")}"\n Sorry! This is an invalid search string.\n
\n \n \n \n
\n \n
\n
\n
\n )\n}\n\nexport default NotFoundPage\n","\nimport { useEffect, useState } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { Col, Row, Form, Select, Spin } from 'antd'\nimport { fetchCompilerVersion, fetchContractVerify } from '../../api'\nimport { TokenParamsType } from '../../constants/types'\nimport { PageHeader } from '../../common'\nimport {\n MinusCircleOutlined,\n PlusOutlined\n} from '@ant-design/icons'\nimport {\n Box,\n TitleHeaderBox,\n NoteInfo,\n FormGroup,\n InputStyled,\n FieldExtend,\n StatusStyled,\n ButtonSubmit,\n TextAreaStyled,\n SelectStyled,\n AddSource\n} from './contractDetailsPageStyles'\nimport TextArea from 'antd/lib/input/TextArea'\nimport { useHistory } from 'react-router-dom'\n\nconst { Option } = Select\n\nexport default function ContractVerify() {\n const history = useHistory()\n const [compilerVersion, setCompilerVersion] = useState([])\n const [loading, setLoading] = useState(false)\n const [mgs, setMgs]: Array = useState([])\n const [form] = Form.useForm()\n const { address } = useParams()\n useEffect(() => {\n const fetCompiler = async () => {\n try {\n const result = await fetchCompilerVersion()\n setCompilerVersion(result.data.data)\n } catch (e) {\n console.log(e)\n }\n }\n fetCompiler()\n }, [])\n\n let formMgs: Array = []\n const onFinish = async (values: any) => {\n setLoading(true)\n if (!values.sourceCode) {\n formMgs.push({\n status: 'warning',\n mgs: 'Warning: Please add Solidity source code!'\n })\n } else {\n try {\n await fetchContractVerify(values)\n formMgs.push({\n status: 'success',\n mgs: 'Contract verified successfull!'\n })\n history.push(`/address/${address}/#code`)\n } catch (e) {\n formMgs.push({\n status: 'error',\n mgs: e.response && e.response.data ? e.response.data.errors[0].message : 'Error: An unknown error. Please reload the website and try again'\n })\n }\n }\n setLoading(false)\n setMgs(formMgs)\n\n }\n return (\n <>\n \n \n Verify and Publish your Solidity Source Code\n Step 1: Enter your Contract Source Code below.\n Step 2: If the Bytecode generated matches the existing Creation Address Bytecode, the contract is then Verified.\n Step 3: Contract Source Code is published online and publicably verifiable by anyone\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n