{"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","assets/images/metamask.svg","common/Footer/footerStyles.ts","constants/index.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","domainServices/index.ts","common/DomainNameIcon.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/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/accountDetailsPageStyles.ts","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","_env$REACT_APP_RPC_EN","_Number","REACT_APP_TOMOSCAN_API_V2_URL","REACT_APP_RPC_ENDPOINT","Number","REACT_APP_CHAINID","async","fetchStats","axios","get","fetchAccountDetails","address","fetchTokensInAccount","offset","arguments","length","undefined","limit","Colors","mode","text","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","useContext","GeneralProvider","_ref","children","useSelector","state","general","theme","useMemo","setTomoTokenList","useState","getTomoTokenList","useCallback","response","fetchTomoTokenList","data","error","console","log","useEffect","_jsx","Provider","value","ThemeProvider","HelmetProvider","Layout","styled","div","attrs","props","className","TabStyle","_ref2","_ref3","_ref4","_ref5","_ref6","_ref7","Wrapper","header","ContentOnPC","NavBar","MenuStyled","Menu","ContentOnSP","MenuMobile","SubMenu","menu","_jsxs","triggerSubMenuAction","Item","Link","to","title","Header","current","setCurrent","Row","Col","src","LogoTomoscanLight","LogoTomoscan","alt","onClick","e","key","selectedKeys","subMenuOpenDelay","style","display","alignItems","CaretDownOutlined","marginLeft","marginBottom","gutter","justify","Dropdown","overlay","preventDefault","MenuOutlined","footer","Content","ListMenuFooter","EndFooter","ButtonStyled","Button","_ref8","_ref9","_ref10","_ref11","TextMain","span","_ref12","MAX_RECORD","supportedWalletOption","chainId","toString","chainName","nativeCurrency","name","symbol","decimals","rpcUrls","tagWarningAddress","link","tag","nonFungibleTokenStandard","fungibleTokenStandard","WalletAdapter","Text","Typography","Footer","Descriptions","Space","type","target","pathname","ethereum","web3","Web3","networkId","request","method","params","alert","width","MetamaskLog","column","href","Date","getFullYear","ContentHomePage","InnerBox","ContentMainTop","ContentMainTable","SearchBoxWrapper","TitleSearch","MainDetailToken","TitleBoxStart","TitleHeaderBox","InfoDetails","a","CardBoxTable","_ref13","_ref14","_ref15","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","slice","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","Tooltip","whiteSpace","fontSize","_Fragment","PageHeader","flexDirection","md","SearchBox","level","PageHeaderTokenDetail","_token$symbol","token","TokenIcon","size","toUpperCase","placement","AddressName","toLowerCase","fontWeight","marginTop","textTransform","marginRight","TokenTypeTag","TagVRC20","TagVRC21","TagVRC721","TagVRC25","TagNative","_ref16","TagWarningAddress","_ref17","_ref18","FormStyled","Form","FormItemStyled","InputGroupStyled","Input","Group","InputStyled","ButtonSearch","ListWrapper","ListStyled","List","ListHeader","ListItemStyled","TokenHeader","TokenTitle","TokenExtension","OneIdHeader","OneIdTitle","OneIdExtension","LogoStyle","setError","CopyrightOutlined","tomoLogo","height","onError","buildOneIdSuggestions","searchString","searchOneId","err","buildD3Domain","tldSupport","Error","id","trim","tldName","split","includes","domain","D3_API","headers","accept","searchD3","status","result","Answer","find","v","JSON","parse","domainName","DomainNameIcon","OneID","D3","TabPane","Tabs","SuggestionList","onSelect","total","tokens","oneIds","d3Domains","tab","itemLayout","bordered","dataSource","renderItem","item","wordBreak","oneId","_item$symbol","CheckCircleFilled","_item$symbol2","history","useHistory","suggestions","setSuggestions","setSearch","hasResult","Object","values","some","handleSuggestions","useDebouncedCallback","tokenSuggestions","tokenList","filter","_token$name","_token$address","sort","b","buildTokenSuggestions","keyword","oneIdSuggestions","d3Suggestions","handleOnSearch","push","resetState","placeholder","onChange","startsWith","onPressEnter","allowClear","icon","SearchOutlined","margin","SkeletonLoading","Skeleton","active","paragraph","rows","Divider","PaginationWrapper","ContentTable","TextSmall","TextLink","DataTableLoading","DataTablePagination","changePage","pagination","pages","disabled","currPage","StepBackwardOutlined","LeftOutlined","RightOutlined","StepForwardOutlined","Option","Select","DataTable","columns","loading","getData","showPagination","setPagination","numPerPage","utc","setUtc","maxRecord","Math","ceil","dir","map","index","rank","parsedColumns","Array","isArray","col","dataIndex","ClockCircleOutlined","render","formatUtc","onHeaderCell","Spin","Table","scroll","x","defaultValue","DataTableTotal","MAX_RECORD_ABBR","getLinkContent","truncate","AddressLink","tooltip","maxWidth","withRouter","unlisten","listen","scrollTo","Fragment","TabsWithHash","_hash","_search","tabsComp","TabsComp","activeTab","tabKeys","rest","hash","activeKey","setActiveKey","handleOnTabClick","onTabClick","ModalWallet","account","isConnected","setAccount","setIsConnected","isModalVisible","setIsModalVisible","connectCoin98","coin98","provider","getAccount","getAccounts","send","connectViction","viction","connectRamper","ramper2","selectWalletAdapter","_e$currentTarget$getA","parseInt","currentTarget","getAttribute","COIN98","VICTION","RAMPER","METAMASK","connectMetamask","ButtonConnect","showModal","ModalStyled","visible","onCancel","handleCancel","Coin98Logo","VictionLogo","RamperLogo","Modal","ExportStyled","ExportData","firstDay","lastDay","date","y","m","getMonth","UTC","getFirstAndLastDay","range","setRange","from","getTime","tokenAddress","setTokenAddress","DownloadOutlined","rel","layout","label","DatePicker","getUnixTime","generatePicker","dateFnsGenerateConfig","ContractIconTooltip","IconColor","FileTextOutlined","Paragraph","AddressWrapper","MethodTag","txColumns","record","InfoCircleOutlined","padding","textAlign","ellipsis","block","fromContract","fromName","align","icRightFilled","toContract","toName","fee","blockColumns","blockNumber","transactions","m1Name","m1","gasUsed","totalFee","epochColumns","epoch","startBlock","endBlock","duration","masternode","voterNumber","slashednode","epochRewardColumns","validator","reward","tokenColumns","_record$symbol","justifyContent","price","changePercentage","abs","volume","marketcap","holder","token721Columns","transferCount","totalSupplyNumber","tokenHolderColumns","position","left","top","paddingLeft","accountName","quantity","valueUsd","percentage","token721InventoryColumns","_record$tokenIdString","_record$tokenIdString2","tokenIdString","tokenId","tokenTransferColumns","_query$get","location","_query$get2","tokenTransferVrc721Columns","_query$get3","_query$get4","masternodeColumns","capacity","owner","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","blockNumberOrHash","fetchBlockDetailsByNumberOrHash","getTxListByBlock","fetchTxListByBlock","getBlockList","author","fetchBlockList","blocksSlice","list","resetBlockList","getTxDetailsByHash","fetchTxDetailsByHash","getTxList","fetchTxList","getInternalTx","fetchTxInternal","transactionsSlice","internalTx","resetTxList","reduce","acc","curr","HomePage","_stats$data","_stats$data2","_stats$data3","_stats$data4","_stats$data5","_stats$data6","_stats$data7","blocks","txs","timerInterval","setInterval","clearInterval","xs","tps","accounts","lg","icListBlock","tx","icListTransactions","TransactionList","Datatable","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","_data$to","isCopied","setCopied","useParams","getInternalTxData","Redirect","valueInUsd","times","TOMOPrice","toAddress","feePayer","isGasSponsored","Helmet","CopyToClipboard","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","_item$data","_item$data2","_tokenId$toString","_tokenId$toString2","_tokenId$toString3","_item$data$from","_item$data$to","_item$data3","longTokenId","tokenIdText","CaretRightOutlined","String","TokenTomo","gasPrice","gas","nonce","transactionIndex","TxDetailsInputData","isDecode","setIsDecode","encodedInput","decodedInput","keys","inputDataSource","inputData","join","methodId","inputDataColumns","maxHeight","overflowY","input","toLocaleString","PositionStyled","WrapRelativeStyled","ButtonSubmit","BlockListPage","getAuthor","setAuthor","onFinish","autoComplete","MainDetails","BoxTableBefore","BoxTableAfter","_ref19","BlockDetailsOverview","internalTxCount","parentHash","stateRoot","m2","m2Name","gasLimit","finality","totalDifficulty","extraData","BlockTransactionList","getEpochList","fetchEpochList","getEpochDetailsByNumber","epochNumber","fetchEpochDetailsByNumber","getEpochDetailsReward","rewardType","fetchEpochDetailsReward","initialListState","voter","foundation","epochsSlice","resetEpochList","meta","arg","EpochsList","BoxContentPlaceHolder","InnerPlaceHolder","BoxContentTable","EpochDetailsReward","epochs","newData","age","EpochDetailsSlashedNode","EpochDetailsPage","startTime","endTime","totalReward","getAccountList","fetchAccountList","stastsResponse","getAccountDetails","getTokensInAccount","getTokensInAccountForDropdown","getTokenInternalTx","fetchInternalTx","getUserRewards","fetchUserRewards","getTokenTransactions","fetchTokenTransactions","getVrcTokenTransactions","fetchVrcTokenTransactions","accountsSlice","tokensInAccount","usdValue","tokensInAccountForDropdown","userReward","vrcTokenTxns","resetAccountList","resetAccountDetail","tomoInUsd","tomoPrice","transactionTag","TextArea","NoteInfo","ContractSource","pre","AddressBox","Center","SwitchButton","_ref20","_ref21","_ref22","Cards","CardHeader","_ref23","_ref24","CardContent","_ref25","_ref26","_ref27","FormGroup","_ref28","_ref29","FormItem","_ref30","_ref31","_ref32","_ref33","_ref34","_ref35","TextAreaStyled","_ref36","_ref37","_ref38","SelectStyled","_ref39","_ref40","_ref41","_ref42","ButtonQuery","_ref43","_ref44","_ref45","LinkStyled","_ref46","_ref47","_ref48","_ref49","Box","_ref50","FieldExtend","_ref51","_ref52","AddSource","_ref53","_ref54","_ref55","StatusStyled","_ref56","getContractList","_ref57","fetchContractList","getContractDetailsByAddress","msg","getTxListByAddress","fetchTxListByAdddress","getEventLogs","fetchContractEventLogs","contractsSlice","eventLogs","resetContractList","balanceInUsd","ContractDetailsTxListTab","contracts","ContractEventLogs","FormReadRender","contract","dataResult","setDataResult","isLoading","setIsLoading","formatData","convertParams","endsWith","methods","call","outputs","output","outputRs","stringify","message","inputs","htmlType","d","k","fontStyle","ReadDataOutput","setData","fetchData","s","j","indexOf","val","FormWriteRender","abiCode","_value$payableValue","payableValue","sendData","estGas","estimateGas","transactionHash","stateMutability","SolidityRender","copied","CodeFilled","content","ContentOfTheContractTab","_data$contractData","_data$contractData$pr","_data$contractData2","_data$contractData2$p","_data$contractData3","_data$contractData4","_readData","_writeData","_data$contractData5","_data$contractData6","_data$contractData7","_data$contractData8","_data$contractData9","_data$contractData10","_data$contractData11","_data$contractData12","isByteCode","setIsByteCode","sourceCode","contractData","entries","readData","writeData","readProxyData","writeProxyData","abiContract","abi","constant","abiProxyContract","proxyTargetContractData","contractProxyData","isContractVerify","Boolean","tokenData","contractName","optimization","OrderedListOutlined","code","CodeTwoTone","deployedBytecode","object","opcodes","HeatMapOutlined","sourceMap","proxyTargetContract","proxyType","borderRadius","borderColor","background","TotalTokenBalance","getTokensData","newTokensInAccount","quantityNumber","priceUsd","totalBalance","TokenList","TotalPrice","TokenCount","ListButton","TokenLink","ViewMore","TextStyle","TextMainStyle","ListTokenBalance","showMore","isOpen","setIsOpen","node","useRef","handler","handlerRef","handleClickOutside","_node$current$contain","_node$current","contains","document","addEventListener","removeEventListener","useOnClickOutside","ref","paddingTop","paddingBottom","InteralTxns","VrcTokenTxns","UserRewards","getRewardData","ContractDetailsPage","QRCode","iconQrcode","TomoToolTip","QuestionCircleOutlined","createdBy","createdAtHash","AccountDetailsPage","_tagWarningAddress$ad","_tagWarningAddress$ad2","_tagWarningAddress$ad3","_tagWarningAddress$ad4","loadingDomain","setLoadingDomain","getTransactionData","handleSearchAccount","validAddress","_await$buildOneIdSugg","_validAddress","_await$buildD3Domain$","utils","isAddress","isToken","InternalTxns","getMasternodeList","fetchMasternodeList","masternodesSlice","resetMasternodeList","candidates","getNormalTokenList","fetchNormalTokenList","getVrc721TokenList","fetchVrc721TokenList","getVrc2021HolderList","fetchVrc2021HolderList","getVrc721HolderList","fetchVrc721HolderList","getVrc721InventoryList","ownerAddress","query","fetchVrc721InventoryList","getVrc2021TransferList","fetchVrc2021TransferList","getVrc721TransferList","fetchVrc721TransferList","getTokenDetailsByAddress","fetchTokenDetailsByAddress","getTokenBalanceOnAccount","fetchTokenBalanceOnAccount","vrc2021","vrc721","holders","transfers","inventory","tokenBalanceOnAccount","isNft","tokensSlice","resetVrc2021List","resetVrc721List","fullyDilutedMarketcap","TokenListPage","OwnerHeader","OwnerTitle","OwnerBalanceBox","RelativeStyled","TokenDetailsHolderList","totalSupply","getHolderListFunction","stateType","TokenDetailsTransferList","InventoryList","ContractInfomation","Vrc2021Overview","circulatingSupplyNumber","Vrc2021MoreInfo","bgColor","website","Vrc721Overview","Vrc721MoreInfo","TokenDetailsPage","_data$symbol","_data$symbol2","dividedBy","Vrc2021TransferList","Vrc721TransferList","Vrc721InventoryList","TokenListVrc721Page","Container","Warning","SearchWrapper","NotFoundPage","retry","searchType","errorImg","ContractVerify","compilerVersion","setCompilerVersion","setLoading","mgs","setMgs","form","useForm","fetchCompilerVersion","fetCompiler","formMgs","post","fetchContractVerify","errors","rules","required","initialValue","hasFeedback","fields","add","remove","fieldKey","restField","MinusCircleOutlined","PlusOutlined","CenterStyle","TitleStyle","ParagraphStyle","RequestLimit","borderTopColor","BoxInfo","BlockBox","CountDownPage","remainBlock","isGreaterThan","minus","visualImg","Countdown","now","renderer","days","hours","minutes","seconds","completed","AppLayoutRoute","component","Component","Route","App","Router","Switch","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","hostname","ReactDOM","React","StrictMode","PersistGate","ConnectedRouter","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch"],"mappings":"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","file":"static/js/main.898f9923.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\nexport async function searchD3(text: string): Promise {\n const D3_API = `https://cloudflare-dns.com/dns-query?name=${text}&type=16`\n return axios.get(D3_API, {\n headers: {\n accept: 'application/dns-json'\n }\n })\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}","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 { 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","// 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}\n\nexport const sleep = (ms: number) => {\n return new Promise((resolve) => setTimeout(resolve, ms));\n};\n\nexport const isAddress = (text: string) => {\n if (!text) return false;\n try {\n return Web3.utils.isAddress(text.toLowerCase());\n } catch (error) {\n \n }\n return false;\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","import { searchD3, searchOneId } from \"../api\";\n\nexport async 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\nexport async function buildD3Domain(searchString: string): Promise> {\n const tldSupport = ['vic'];\n\n try {\n if (!searchString) throw new Error('Empty search text');\n const id = searchString.trim().toLowerCase();\n const [, tldName] = id.split('.');\n const isSupport = tldSupport.includes(tldName);\n if (!isSupport) throw new Error(\"TLD Name no Supported\");\n const domain = `_web3connect.${id}.vana`;\n\n const response = await searchD3(domain);\n const isSuccess = response.status === 200;\n if (!isSuccess) throw new Error('API Error');\n\n const result = response.data.Answer.find((v: any) => v.name === domain);\n const [, address] = JSON.parse(result.data).split('=');\n if (!address) throw new Error('TLD Name no resolve');\n\n return [{ domainName: id, address }];\n } catch (err) {\n\n }\n return []\n}","type OneIdIconType = {\n size?: number | undefined;\n src?: string;\n}\n\nfunction DomainNameIcon({ size, src }: OneIdIconType) {\n return (\n \n )\n}\nDomainNameIcon.OneID = ({...props}) => \nDomainNameIcon.D3 = ({...props}) => \nexport default DomainNameIcon","import { CheckCircleFilled, SearchOutlined } from '@ant-design/icons'\nimport { Layout, Tabs } from 'antd'\nimport { ChangeEvent, useState } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport {\n ButtonSearch,\n FormItemStyled,\n FormStyled,\n InputGroupStyled,\n InputStyled,\n ListHeader,\n ListItemStyled,\n ListStyled,\n ListWrapper,\n OneIdExtension,\n OneIdHeader,\n OneIdTitle,\n TokenExtension,\n TokenHeader,\n TokenTitle,\n} from './searchBoxStyled'\n\nimport TokenIcon from '../TokenIcon'\n\nimport { useDebouncedCallback } from 'use-debounce'\nimport { buildD3Domain, buildOneIdSuggestions } from '../../domainServices'\nimport { useGeneralContext } from '../../providers/general'\nimport DomainNameIcon from '../DomainNameIcon'\nimport { TokenVerifiedIcon } from '../TypographyStyled'\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\nfunction SuggestionList({ data, onSelect }: { data: { tokens: Array, oneIds: Array, d3Domains: Array }, onSelect: Function }) {\n const total = data.tokens.length + data.oneIds.length + data.d3Domains.length;\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 {data.d3Domains.length > 0 && (\n D3}\n dataSource={data.d3Domains}\n renderItem={(item: any) => (\n onSelect(item.address, 'address')}>\n \n \n \n {item.domainName}\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 Tokens}\n dataSource={data.d3Domains}\n renderItem={(item: any) => (\n onSelect(item.address, 'address')}>\n \n \n \n {item.domainName}\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<{\n tokens: Array,\n oneIds: Array<{ address: string, oneId: string }>,\n d3Domains: Array<{ address: string, domainName: string }>,\n }>({ tokens: [], oneIds: [], d3Domains: [] })\n const [search, setSearch] = useState({ searchString: '', type: '' })\n\n const hasResult = Object.values(suggestions).some(v => v.length !== 0);\n\n const handleSuggestions = useDebouncedCallback(async (keyword: string) => {\n const tokenSuggestions = buildTokenSuggestions(keyword, tomoTokenList)\n const oneIdSuggestions = await buildOneIdSuggestions(keyword)\n const d3Suggestions = await buildD3Domain(keyword);\n\n setSuggestions({ ...suggestions, tokens: tokenSuggestions, oneIds: oneIdSuggestions, d3Domains: d3Suggestions })\n }, 1000)\n\n async function handelOnChange(e: ChangeEvent) {\n const searchString = e.target.value.trim()\n\n if (!searchString) return resetState()\n\n handleSuggestions(searchString);\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 \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: [], d3Domains: [] })\n setSearch({ searchString: '', type: '' })\n }\n\n return (\n \n \n \n \n \n\n {search.searchString && hasResult &&\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 },\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: 290px;\n top: 24px;\n @media(max-width: 1024px){\n position: static;\n .ant-form ant-form-vertical{\n justify-content: center;\n }\n }\n`\nexport const WrapRelativeStyled = styled.div`\n position: relative;\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, WrapRelativeStyled } 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 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 { createAsyncThunk, createSlice } from '@reduxjs/toolkit'\n\nimport {\n fetchAccountDetails,\n fetchAccountList,\n fetchInternalTx,\n fetchStats,\n fetchTokenTransactions,\n fetchTokensInAccount,\n fetchUserRewards,\n fetchVrcTokenTransactions,\n} from '../../api'\nimport { AccountsState } from '../../constants/types'\nimport { requestLimit } from '../../features/general/generalSlice'\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, 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 const isContractVerify = Boolean(data.contractData?.abiCode) || Boolean(data.contractData?.sourceCode)\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 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 { 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 { useCallback, useEffect, useState } from 'react'\nimport { CopyToClipboard } from 'react-copy-to-clipboard'\nimport { Helmet } from 'react-helmet-async'\nimport { QRCode } from 'react-qr-svg'\nimport { Redirect, useHistory, useParams } from 'react-router-dom'\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\nimport iconQrcode from '../../assets/images/icon/icon-qrcode.svg'\nimport { DataTableTotal, Datatable, ExportData, SkeletonLoading, TabsWithHash, columnsTransactions } from '../../common'\nimport { PageHeader, TagWarningAddress } from '../../common/PageHeader'\nimport { tagWarningAddress } from '../../constants'\nimport { TokenParamsType } from '../../constants/types'\nimport { formatNumber, isAddress, timeFormatUtc, toTomo } from '../../utils'\n\nimport {\n QuestionCircleOutlined,\n} from '@ant-design/icons'\nimport {\n Col,\n Row,\n Space,\n Tabs,\n Tooltip,\n Typography,\n} from 'antd'\nimport { useSelector } from 'react-redux'\nimport { RootState } from '../../app/store'\nimport { TabStyle } from '../../appStyles'\nimport Colors from '../../constants/themeConfig'\nimport { buildD3Domain, buildOneIdSuggestions } from '../../domainServices'\nimport ContractDetailsPage from '../contracts/ContractDetailsPage'\nimport InternalTxns from './InternalTxns'\nimport ListTokenBalance from './ListTokenBalance'\nimport TotalTokenBalance from './TotalTokenBalance'\nimport UserRewards from './UserRewards'\nimport VrcTokenTxns from './VrcTokenTxns'\nimport {\n AddressBox,\n BoxContentPlaceHolder,\n BoxContentTable,\n ButtonStyled,\n Center,\n InnerPlaceHolder,\n MainDetails,\n StyleCopyIcon,\n TextStyle,\n TitleHeaderBox,\n TxtColStyle,\n} from './accountDetailsPageStyles'\nimport {\n getAccountDetails,\n getTokenTransactions,\n resetAccountDetail\n} from './accountsSlice'\n\nconst { Paragraph } = Typography;\nconst { TabPane } = Tabs\n\nexport default function AccountDetailsPage() {\n const history = useHistory()\n\n const [isCopied, setCopied] = useState(false)\n const [loadingDomain, setLoadingDomain] = useState(true);\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 const handleSearchAccount = async () => {\n let validAddress = address;\n if (!validAddress) return;\n try {\n if (!isAddress(validAddress)) {\n setLoadingDomain(true);\n validAddress = (await buildOneIdSuggestions(address as string))[0]?.address;\n validAddress = validAddress ?? (await buildD3Domain(address as string))[0]?.address;\n if (validAddress) {\n history.push('/address/' + validAddress);\n return;\n }\n }\n } catch (error) { }\n dispatch(getAccountDetails(validAddress))\n setLoadingDomain(false);\n }\n\n useEffect(() => {\n handleSearchAccount();\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' || loadingDomain) 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: 260px;\n top: 0;\n @media(max-width: 1024px){\n position: static;\n .ant-form ant-form-vertical{\n justify-content: center;\n }\n }\n`\n\nexport const RelativeStyled = styled.div`\n position: relative;\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 RelativeStyled\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'\nimport { useEffect } from 'react'\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 useEffect(() => {\n retry()\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